首页 > 其他分享 >如何给开源项目发起提案

如何给开源项目发起提案

时间:2023-12-21 18:33:10浏览次数:37  
标签:PR 社区 发起 topic 开源 投票 提案

背景

前段时间在使用 Pulsar 的 admin API 时,发现其中的一个接口响应非常慢:

admin.topics().getPartitionedStats(topic);

使用 curl 拿到的响应结果非常大,同时也非常耗时:
image.png

具体的 issue 在这里:https://github.com/apache/pulsar/issues/21200

后面经过分析,是因为某些 topic 的生产者和消费者非常多,导致这个查询 topic 统计的接口数据量非常大。
image.png

但在我这个场景其实是不需要这些生产者和消费者信息的,现在就导致这个 topic 无法查看状态,所以就建议新增两个参数可以过滤这两个字段。

流程

因为涉及到新增 API 了,所以社区维护者就建议我起草一个提案试试:
image.png

什么时候需要提案

此时就涉及到什么情况下需要给社区发起一个提案的问题了。
image.png
在官方的提案指南中有着详细的说明,简单来说就是:

  • 对任何模块新增了 API、或者是重大改动的新特性、监控指标、配置参数时都需要发起提案
  • 对应的如果只是对现有 bug 的修复、文档等一些可控的变更时,是不需要发起提案的,直接提交 PR 即可。

提案步骤

起草

首先第一步就是根据官方模版起草一个提案:
重点描述背景、目的、详细设计等。
image.png
并发起一个 PR,如果不确定怎么写的话可以参考已经合并了的提案。

邮件讨论

之后则是将这个 PR 发送到开发组邮箱中,让社区成员参与讨论。

image.png
这一步可能会比较耗时,提案内容可能会被反复修改。

发起提案的一个重要目的是可以让社区成员进行讨论,评估是否需要这个提案或者是否
有其他解决方法。

发起投票

经过讨论,如果提案获得通过后就可以发起投票了,至少需要有三个 binding 通过的投票后这个提案就通过了。

虽然任何人都可以参与投票,但社区只会考虑 PMC 的投票建议;投票的时效性也只有 48h。

image.png

48 小时候便可以发一个投票结果的邮件,如果达到通过条件便可以通知参与投票的 PMC 合并这个 PR 了。
image.png

实现提案

之后就是没啥好说的实现过程,因为通常我们是需要在提案里详细描述实现过程以及涉及到修改的地方。

总结

只要提案被 review 通过后实现起来就非常简单了,跟着提案里的流程实现就好了。

这点非常类似于我们在企业中对某个业务做技术方案,如果大家都按照类似的流程严格审核方案,那实现起来是非常快的,而且可以尽量的减少事后扯皮。

所以最后我的实现 PR 提交之后,都没有任何的修改意见,直接就合并了;也大大降低了审核人员的负担,提高整体效率。

以上就是我第一次参与 Pulsar 社区的提案过程,我猜测其他社区的流程也是大差不差;其中重点就是异步沟通;大家都认可之后真的会比实时通信的效率高很多。

具体的提案细节可以阅读官方指南 https://github.com/apache/pulsar/blob/master/pip/README.md

标签:PR,社区,发起,topic,开源,投票,提案
From: https://www.cnblogs.com/crossoverJie/p/17919842.html

相关文章

  • Databend 开源社区上榜 2023 年度 OSCHINA 优秀开源技术团队
    2023年12月8日,OSCHINA对其平台上众多认证的官方技术团队和开源社区进行了全面评估,并颁发了“2023年度优秀开源技术团队”奖项,以表彰各团队在推动中国开源生态系统发展方面所展现的创新能力和显著贡献。在这一评选中,Databend开源社区有幸获得了2023年度优秀开源技术团......
  • Zabbix6.0下部署开源的Zabbix报表系统ZbxTable
    Zabbix6.0下部署ZbxTable(开源的Zabbix报表系统)一、ZbxTable简单介绍ZbxTable是使用Go语言开发的一个开源的Zabbix报表系统目前已经推出ZbxTable2.1版本主要功能如下:按照主机类型,展示或导出主机资源资产管理,资源状态总览多用户、角色、用户组配置告警进行精确分发、屏蔽......
  • permify google zanzibar 类似的开源授权服务实现
    permifygooglezanzibar类似的开源授权服务实现,openfga也是一个类似的开源实现参考架构从下图可以看出permify主要包含了四个组件,PermissionServer,RelationshipServer,SchemaServer,WatchServer说明目前不少开源的授权认证方案,都会基于配置定义的模式开发(schema)比较灵活......
  • 极智一周 | AI 算力国产化、通义开源、Gemini、鸿蒙、蔚来 And so on
    欢迎关注我的公众号[极智视界],获取我的更多技术分享大家好,我是极智视界,带来本周的[极智一周],关键词:AI算力国产化、通义开源、Gemini、鸿蒙、蔚来Andsoon。极智视界本周热点文章回顾,(1)AI算力国产化系列本周续写解读国产AI算力系列,输出六章。璧仞芯片禁令焦点,摩尔线程显卡......
  • 解读 | 阿里通义千问模型全尺寸开源 “诚意满满“背后的名与利
    大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享12月1日阿里开源了72B和18B大模型以及音频大模型Qwen-Audio,再加上之前八月份、九月份开源的7B和14B大模型,号称是"全尺寸开源"。我也去Github上瞅了一眼,通义应该确实是"兜库底"了,所有规格的模型都开......
  • 23k star!居家备份好帮手,开源自托管备份工具:immich
    你用过多少备份软件,x度网盘?阿x云盘?黑x晖?xxx助手?可能太多,那有没有考虑过部署一个自己的备份服务呢?今天我们推荐一款开源替代的备份工具:immich。它适合拥有自己服务器,希望构建自托管备份服务的同学,在GitHub已超过23KStar。immich是什么?Immich是一个直接从iPhone、Android手机上备......
  • 微软官方发布的C#开源、免费、实用的Windows工具箱
    前言今天分享一款由微软官方发布的C#开源、免费、实用的Windows工具箱(帮助用户调整和简化Windows系统的体验,从而提高工作效率):MicrosoftPowerToys。项目介绍MicrosoftPowerToys是使用C++和C#编程语言开发的。它利用了Windows操作系统的底层功能和API,以及Microsoft......
  • 国产670亿参数的DeepSeek:超越Llama2,全面开源
    模型概述DeepSeek,一款国产大型语言模型(LLM),凭借其670亿参数的规模,正引领着人工智能领域的新浪潮。这款模型不仅在多项中英文公开评测榜单上超越了700亿参数的Llama2,而且在推理、数学和编程能力方面表现突出。最引人注目的是,DeepSeek在匈牙利最新高中数学考试中获得了65分的高分,显示......
  • 【Dotnet 工具箱】推荐一个 Flutter 和 .NET 开源的实时聊天 APP
    1.推荐一个Flutter和.NET开源的实时聊天APPHeyy-chat-appHeyy-chat-app是一个开源的聊天应用,使用Flutter、Asp.NetCoreWebApi、SignalR、WebRTC等技术构建的。Flutter作为用户客户端。Asp.NetCoreRESTful作为后端服务。Signalr和WebRTC用于实时通信。SQ......
  • 好家伙,这个开源项目硬生生复制了一个 ChatGPT Plus 出来
    最近有一款聊天机器人框架LobeChat火出了天际,它不仅支持多模态,支持语音会话,还有一个强大的FunctionCalling插件生态系统(可以作为ChatGPT插件的平替)。最重要的是,它的UI很漂亮,一看就是小姐姐精心设计过的~连Vercel的CEO都给它点赞了:项目地址:https://github.com/lob......