开源项目中最重要的部分



在谈论开源可持续性的所有话题中,很容易将重点放在对项目的“硬通货”贡献上。您知道代码或现金或文档,或者项目维护人员可以看到或触摸的东西。但是在与musl libc项目的创始人Rich Felker的一次交谈中,他说了一些起初似乎很挑衅,甚至令人震惊,但后来感觉完全正确的话: 用户,而不是代码贡献者,是开源项目中最重要的部分。
他更具体地说,他说:“与编写任何代码相比,用户,测试者,采用者,错误报告者具有更大的价值。”换句话说,他们不是在提供代码,而是在洞悉应如何开发该代码(由最接近它并因此最有能力实施建议的人)。 这让我想起了前MySQL首席执行官Marten Mickos(现为HackerOne首席执行官)曾经说过的话: 在MySQL,我们喜欢从未向我们付款的用户。
他们是我们的传播者。当一个热情的MySQL用户告诉他的朋友和同事有关MySQL的信息时,营销无法为我们做任何事情。我们的成功基于全球有成千上万的传教士。
当然,他们也帮助我们开发产品和修复错误。他们说自己讨厌MySQL的次数很少,这对我们也有帮助,因为抱怨通常包含一些改进的好建议。 公开谴责开源中的所谓“接受者”已成为标准,很容易忘记每个公司和个人使用的开源远远超过我们的贡献。
零例外。例如,Gatsby JS最近推出了一些令人惊叹的新开源代码,但也承认它对众多开源项目(React,Webpack,Babel,GraphQL等)的欠债。
这始终是它的工作方式。对于每个开源项目,对于每个贡献者,都有成千上万的用户。
而且,正如Felker所说,那是一件非常好的事情。 对于Felker来说,开源中最“未被重视”的群体可能是用户。当我试图强调贡献者对musl的重要性时,他阻止了我。
对musl而言,最重要的贡献不是代码为该项目做出了贡献,但他说,”在musl上报告了他们在musl中发现的每一个问题,当他们发现需要解决的可移植性问题时,谁将事情报告给其他项目的上游,谁做了所有各方之间的协调工作。” musl的代码为零,但musl的价值却很大。他说,如此之多,“到现在为止,我们得到的大多数东西都可以直接使用,并且可以正常工作。
”不是因为有任何代码贡献,而是因为用户反馈。 费尔克继续说,如果他没有得到这么多反馈,他将不得不花费10到100倍的时间来制作肌肉。 “有很多人使用它,并且希望事情能够正常工作,而又不想通过自己的构建来维护自己的外部树补丁,这一切都发生了。
” 最近,Matplotlib项目负责人Thomas Caswell对我说了些笑话。当他第一次参与Matplotlib时,它是一个用户,负责回答Stack Overflow问题。实际上,他说学习项目的最佳方法之一是在Stack Overflow之类的地方回答问题,因为它使您能够遇到其他人的用例。
这也是开始“修复”的理想方法。 ”,而无需触摸代码中的错误。最终,这使Caswell为该项目贡献了代码,但是他对要贡献什么代码的见解来自向代码用户学习。 简而言之,虽然我们正确地将开源贡献者放在了一个基座上,但也许我们需要重新考虑“贡献”的层次结构。声音”?并不是的。用户是开源项目的命脉。.

Yorumlar

Bu blogdaki popüler yayınlar

只需50美元即可训练成为一名熟练的Python编码器

DataStax 使 Astra 流媒体服务普遍可用

TypeScript 4.1 Beta带来了模板文字类型