Aiven的开源计划办公室:一年后
艾文公司的开源项目办公室:一年后的情况。
2022年的4月13日
一年后,Aiven的开源项目办公室。
Eiven的开源项目办公室(OSPO)已经成立一年了。我们将介绍OS工程经理Josep Pratt先生和他的团队在启动和运营该功能方面所学到的内容。
Aiven的开源项目办公室:一年后
一年前,Aiven在C轮投资中筹集了1亿美元,并将公司的估值提升到约8亿美元。最近,他们又成功融资了总额达2.1亿美元的资金,并达到了20亿美元的独角兽估值。这轮融资的一个重要原因之一是增强我们在开源社区中的影响力。
开源项目办公室(简称OSPO)是一个专注于对开源项目进行贡献的部门。该团队从只有两人组成开始,经过几次倍增,始终以持续可持续的速度增长。
为什么选择OSPO?
艾文的开源计划办公室的使命十分简单:
确保Aiven使用的开源软件基础设施的可持续性,以保障未来。
自Aiven的创始人仅有4人的初期阶段起,我们便一直致力于开源贡献。为上游开源项目做贡献很常见,无需特别讨论,补丁也始终是我们积极贡献的对象。随着Aiven的不断发展,这种文化一直延续下来,但同时也明确了在推动产品成功的同时持续为上游项目做贡献是一项困难的任务。
我们考虑通过成立专门团队,使我们能够维持与我们的基础设施中重要的开源软件项目相适应的水平,并保持我们的承诺。
OSPO 的功能是什么?
例如,Apache Kafka®、Apache Flink®、PostgreSQL®、M3、OpenSearch®等等。然而,不仅OSPO的成员为上游贡献,Aiven的所有人都受到欢迎并被鼓励这样做。
Aiven的OSPO团队主要负责三个领域:
-
- OSSプロジェクトへの貢献
-
- 社内のOSS文化の醸成
- 法令遵守の徹底
对第三方开源软件项目的贡献
這是一個團隊花費大部分時間的地方。每個團隊成員可以選擇任務和專注領域,唯一的標準是對社區的影響。他們的貢獻不僅限於核心產品,還包括生態系內的所有項目(插件、連接器、基礎庫…)。由於每個團隊成員也是社區成員,他們能夠內部觀察,並評估自己正在進行的任務潛在的影響。
我们特别注重消除技术债务。由于这些任务通常不能由在空闲时间从事开源软件的人们来承担,所以这类任务在维护性领域中的时间投入和回报比例较高。
在第三方开源软件项目中,我们的工作不仅仅是为新功能做出贡献、修复错误和清理技术债务。其中一个重要的角色是审查来自社区的现有代码。我们理解维护者通常需要承担的工作负荷比起一个人来处理要高几个数量级。
我們希望確保 Aiven 所依賴的開源專案有足夠的人手,這是確保專案穩定性的最佳方法。隨著企業愈來愈多參與其中,開源生態系統將變得更加完善,不再單一個人或企業所依賴。
我们在这个领域的活动是基于以下原则来引导的:
-
- 地域第一主義:私たちが選ぶ仕事は、地域社会に利益をもたらすものでなければならない。
-
- 私たちは、信頼性、有用性、熱意、専門性、可用性において高い評価を得るよう努めます。
-
- 透明であること:私たちの仕事の背後に隠された意図はなく、私たちは所属について透明である。
- 私たちの仕事は、単にパッチを提出するだけでなく、パッチのレビュー、質問への回答、ブログ記事の執筆、カンファレンスでの発表、そして利用可能なあらゆる手段を使って知識を共有することです。
在艾文内部培育开源软件文化。
Aiven不仅是开源软件的消费者和贡献者,还是生产者。OSPO团队从每个团队决定将项目开源化的那一刻开始,成为了项目整个生命周期中不可或缺的一部分,对这一过程起着重要作用。
OSPO团队通过让组织中的每个成员认识到开源软件的力量和重要性来工作。我们与工程、产品、开发者关系等各团队紧密合作,以确定将Aiven平台的内部项目开源,使其对Aiven平台用户以及利用开源基础技术的所有人的社区都有益。
Aiven的重要举措之一是Plankton计划,有助于培养开源文化和心态。对于决定将自己的自由时间投入到开源项目中的Aiven全体员工,我们提供经济报酬。从为Common Voice等项目做出贡献,到撰写维基百科文章,管理现有的开源项目,我们涵盖了所有类型的开源工作。
OSPO团队不只是“在Aiven上进行开源的团队”,而是一个在Aiven上促进开源增长的团队。
此外,我们与Aiven的产品团队一起维护开源项目。我们确保这些项目对社区友好。我们的工作不仅仅是提供代码,还会提供与治理、项目管理、许可证和社区参与相关的指导和机制。
确保遵守法令
Aiven是一家开源软件的消费者和生产者,他们确保所有软件都符合许可证、商标和贡献者合同等所有法律方面的要求。因此,Aiven拥有经验丰富的律师团队。
要在这个领域取得成功,就需要完全理解依赖关系树。软件组件清单(SBOM)是一个非常方便的工具,可以帮助分析和审计给定软件的依赖关系树。
拥有这些信息对于确定哪个项目在我们的供应链中,并确定哪个项目需要支持非常重要。
教训
在OSPO的第一年里,我们学到了一些重要的东西。为了帮助其他人跟随我们的脚步,我们希望与世界分享这些经验。
使用信息
企業长期以来一直在进行产品研发职位的招聘。创建一个专门为OSPO服务的团队可能被认为比较复杂。然而,由于我们要构建一个专注于第三方开源项目的OSPO,所以我们需要不同类型的开发者。
目前的软件开发已经优化为快速交付。也就是说,我们的行业重点关注增量开发、持续集成和部署、早期反馈以及倾听用户声音等方面。
我们相信这是产品开发的一种很好的方法,但是即使将其应用于第三方的开源软件开发,交付也是在社区层面上进行的(通过项目管理委员会,或者通过获得社区内的共识的其他手段),所以不会得到期望的结果。我们需要找到一种方式来应对事实,即决策甚至是否接受时机和变更都是在团队和公司之外进行的,以及在这种方式下找到有效的开发人员。
相反地,我们需要寻找以下类型的开发者:
-
- OSSのタイミングを理解している
-
- 変更要求の中には却下されるものもあるだろうし、組み込むのに時間がかかるものも多いだろう。
-
- コミュニティのニーズを理解している
- 仕事の優先順位の付け方を知っている
而且,毫无疑问地,完全实现远程化是必要的。我们不期望人才来到我们这里,而是希望自己去有人才的地方。
经营方式
有各种不同的管理风格,但为了在第三方开源软件中取得成功,需要的管理类型是与主流不同的。我们在处理第三方开源软件时,学到了项目治理由于在经理的范围之外进行,交付不能仅仅是经理的责任。换句话说,我们需要注重激发能力最大化的真正乘数,也就是使员工能够充分发挥自身能力的推动者。
另一个重要的方面是找到在场的经理,对于他们不是专家完全没有问题。在许多情况下,经理只了解团队正在处理的技术的表面部分。如果他们是一支致力于 PostgreSQL、Apache Kafka 和 OpenSearch 的团队的经理,他们决不会成为这些领域的专家,甚至可能只了解从用户的角度来看的领域是显而易见的。
绩效评估
永远的疑问是如何衡量成功。这已经是软件工程整体上一个复杂的问题,但是当需要评估成功并向第三方开源软件做出贡献的团队时,问题就变得更加复杂了。
首先,我们必须认识到开发过程的时间尺度不是我们个人的,而是整个社区的。那么,我们应该如何利用”发布功能的数量”或”部署时间”等指标呢?简而言之,我们无法使用这些度量标准。我们需要摆脱这些测量标准,并专注于衡量我们完全可以控制的部分。例如,对于我们来说有用的度量标准包括:
-
- 取り組んだ課題の数
-
- パッチのレビュー数
- 共有された知識(ブログ、カンファレンスでの講演、メーリングリストへの参加…)
明年
今年是个非常棒的一年。我们从零开始建立了一个团队,并且对参与的项目产生了重大影响。我们证明了自己能够做到这一点,所以明年我们希望能够进一步提升自己的实力。
我們希望擴大規模,擴展團隊的範圍和廣度(增加項目數量,增加每個項目的人數)。由於與產品團隊的協同效應,比預期更多的OSS項目湧現,所以我們也希望在這個領域下下功夫。我們希望大部分OSS項目都能歡迎來自外部的貢獻者,並且我們希望營造一個安全的環境,讓人們在其中形成社區。
然而,没有工程团队和开发者关系团队的大力帮助,所有这些是无法实现的。也请不要忘记查看我们的的空缺职位!
希望今年也能成功地为开源社区做出贡献!