起因

因为订阅了 Pulsar 的开发者邮件,前段时刻看到一封标题为《(Apache committer criteria) [ANNOUNCE] New Committer: Asaf Mesika》的邮件。

乍一看以为是欢迎 Asaf Mesika 成为 Committer,但细心一看不太对劲,这内容也太多了,以往的欢迎都是简单的 Congratulations! 作为回复,这篇内容明显有点多了,于是便细心看了下。

尖端开源社区都能吵起来?

争辩

大约的意思是这封邮件的作者 Kalwit 对成为 Committer 的规范产生了疑问:

他觉得本次提名成为 Committer 的大部分贡献都是一些文档相关的内容,还有少部分是与监控相关的提案。 他们团队使用 Pulsar 有一段时刻了,但目前还未发现稳定的 Pulsar 版别;大部分的 Review 都是来自同一公司(streamnative)。 看起来是整个 Pulsar 项目由某一家公司控制了,他们当初选择从 Kafka 切换到 Pulsar 便是因为 Kafka 由 Confluent 控制,才选择一个愈加开放的社区。

这样的一封有着“讨伐”意味的邮件一经宣布,天然是一石激起千层浪,社区里许多成员都宣布了回复。

这儿我选择了几个代表性的回复:

尖端开源社区都能吵起来?
大约意思便是 Pulsar 是一个开放性项目,任何人都能够参加,每两周也有 Zoom 会议,也是每个人都能够参加。

在远程的社区异步沟经过程中,很有或许你的恳求没有得到及时的响应,这很正常。

Pulsar 是由社区开发担任维护的,没有公司对此担任,因此没有得到响应时是没有公司能够责怪的;需求大家一起来解决问题,并不一定是需求 PMC(项目管理委员会成员)仍是 committer才干提出定见,任何人都能够宣布自己的观念。

但这个过程中大家的身份都是志愿者,需求大家自发的去做这些作业。

后续 Kalwit 又持续回复了一些邮件,整体内容便是对社区管理存在疑问;特别是忧虑社区背后由某一家公司作为主导,然后导致社区和公司的利益进行绑定。

当然社区的观念依然是,Pulsar 社区不受某一详细公司掌控,并举了详细数据:

尖端开源社区都能吵起来?
在 41 个 PMC 成员中,只要 9 位是 StreamNative 的职工,41 位 committer 中有 13 位是 StreamNative 的职工。

其实以我目前在社区的观感,的确是 streamnative 公司社区维护者愈加活泼,其他的一些 committer 或许因为作业变化啥的很少再贡献项目了。

提案被否

Kalwit 举了一些例子认为这些 PIP 提案没有取得经过,但是 SN 团队提出的提案大部分都能经过。

我觉得这的确是一种客观现象,但或许更多的原因并不是 SN 公司想要主导 Pulsar 社区的开展,而是他们在社区之外(不管是线上仍是线下)进行过额外的交流,或许在提交草案之前就已经达成了初步一致了,所以在提案审阅阶段只需求做一些详细的调整就很简单被经过。

我自己也提过一些提案,大约提交了三个只要一个经过了;我个人的感触是这个过程中响应时刻的确不可控(究竟是异步交流),但并不会存在某个团队想要控制哪些提案能够经过,哪些提案不可的这种说法。

都是在就事论事的评论作业,而且不经过的话也会由相关的回复和主张,的确大部分状况也是我考虑不周。

我也看过 asafm 的贡献,其间关于 Pulsar 集成 OpenTelemetry 的提案的确是下了功夫的(一万多字的内容),从头讲解了 OpenTelemetry 的概念,以及 Pulsar 需求做哪些作业来集成。

个人感触

厂商绑定

看完之后我个人的感触是 Kalwit 或许他的团队在参与社区的时候应该是开展不顺利,一些提案或许改动没有得到支撑,但看到 SN 公司提交的内容更快得到响应,所以得出了以上的定论:Pulsar 社区由 SN 公司进行了主导。

他的顾忌也不是没有道理,就像他说的 Kafka 社区由 confluence 公司主导,相似的还有 Dubbo 社区由阿里主导、Golang 由 google 主导。

但项目假如加入了 Apache 那他本来的公司其实已经失去了对项目的所有权,仅仅刚开始的一些 PMC/committer 大部分会是这个公司的职工,究竟他们是项目的建议者,也愈加熟悉整个系统。

假如社区开展的健康,后续应该会补充一些其他开发者,这些开发者不受雇于之前建议的项目的公司,甚至是以个人身份加入;只要这样社区就会愈加多样化,出现“一言堂”的几率就会大大降低。

我觉得形成这种现象的原因和一开始该项目是由某一个特定公司建议有有很大的原因,比方 Dubbo、Golang,所以他们公司在社区的声浪更大,自己公司的需求优先级也会更高,究竟会有来自同一公司的更多的人来审阅这些需求。

虽然如前面邮件里回复的:社区是由志愿者自愿维护的,但不可否认的是在这些做开源项目商业化的公司内有一批人就在专门维护社区作业。

他们会把自己商业化过程中遇到的一些问题,或许是新的 feature 也提交给社区,但这儿的区别是他们是拿工资的,活泼性肯定要比在社区用爱发电的开发者更活泼。

这样就会导致社区中最活泼的那批人大约率是靠社区养活自己的人,但这也不是什么坏事;假如你个人或许公司强依赖于某一个开源项目,那也能够想办法多做贡献,成为 committer,这样在一些需求投票的环节也能有一席之位。

厂商无关

当然也有对应的不是由某一个厂商建议的项目,比方我最近参与较多的 OpenTelemetry 社区。

尖端开源社区都能吵起来?
按照官方说法有着 1000 多位独立的开发者,代表了超越 180 家公司,在维护者的列表中也能够看到大多数都是来自于不同的公司:
尖端开源社区都能吵起来?

所以天然也就没有某一厂商主导的说法,所以想要防止这类作业再次发生,最好的方法仍是吸纳更多的开发者加入,只要社区成员丰厚起来社区才好良性开展。

参阅链接: