尽管我们经常说代码贡献并不是唯一的开源贡献方式,参与讨论,Review RFC 也是参与开源的良好途径。但是很多同学仍然会有疑虑:我不是项目的 Maintainer/Committer/Reviewer,我有资格 Review 别人的 PR 吗?本文以我在 envd 中的实践来阐述这样的观点:开源,无禁止即可为。
关于 envd
envd 是 tensorchord 发起的开源项目,旨在解决机器学习开发过程中环境难以部署的问题,主要团队成员包括 @gaocegege,@terrytangyuan,@kemingy,@VoVAllen 等。受 @gaocegege 的邀请,我参加了 envd Open Source Preview:以非正式团队成员的身份加入 tensorchord ,提前看到 private 的代码,模拟开源后的流程。这是一个非常有意思的实践,RisingWave 在开源之前也组织过类似的活动,以后有机会再跟大家分享。
开源,无禁止即可为
有不少同学提出这样的问题:我想参与 Databend 项目,是不是要先学一下 Rust/Database?实际上并非如此,Contributor 不必是资深开发者,资深开发者不是一个由外人授予的头衔。我在之前的文章中也反复强调:开源共同体本质上都在奉行基于开源贡献的精英主义原则资深开发者之所以资深,是因为他们有了足够的贡献;同理对于刚加入项目的贡献者如果积累了同等的贡献,他们也能成为该项目的资深开发者。所以我们不必等待项目所有者的授权/批准/许可来提交代码或者 Review PR。在 envd 的项目中,我对机器学习一无所知,Golang 已经好久没写了,Python 更是半吊子,但是这并不妨碍我参与项目特性的讨论和做出其他的非代码贡献。
- 在 Add proposal for kubernetes support 中,我向作者提出要求增加一个概念介绍的章节,因为我看不懂他的 proposal。
- 在 fix: cannot assign requested address,我协助其他的贡献者一起排查跟特定环境有关的问题
- 在 v0.1.0-alpha.8 中,我帮助项目的维护者解决了发版过程中遇到的问题
- 在 feat: Refactor syntax 中,我从一个新用户的角度出发,为项目的配置语法格式提出了自己的建议