开源社区的“白嫖者”是有益的还是有害的?

尚无读者喜欢这篇文章。
People arranged in the shape of FOSS

Opensource.com

在更广泛的自由及开源软件社区中,偶尔会有人提出关于“白嫖者”的担忧。他们表达的态度是,如果你从自由及开源软件中获益,你就应该做出贡献。基于你不拥有的自由及开源软件项目来建立业务,无论你是围绕自由及开源软件项目提供服务还是产品,都应该获得某种形式的等价交换。但实际上,“白嫖者”是受欢迎的。

我认为我们需要从另一个角度来看待这个问题。最常担心“白嫖者”和“免费搭车”的人,实际上是那些存在动机问题的人——他们期望获得免费的劳动(或“免费”的客户)。我最近写了一篇关于制作开源软件的文章。首要条件之一是分享的动力。接下来的要求之一是协作能力。我认为最有可能表达对“白嫖者”担忧的人,似乎对分享他们的工作感到不自在。

你几乎从来看不到一家参与了自己不拥有的社区的公司表达这种担忧。他们显然乐于做出贡献,并获得比他们付出的更多的回报。他们本身就不是“白嫖者”,而且显然这个社区已经发展到足够成熟,他们可能不是唯一一家外部贡献公司。同样,项目创始人和提交者似乎也很乐意看到其他人使用他们的工作。所有这些人都已经理解了这种动态。人们往往会发现,对“白嫖者”的担忧是由那些“拥有”开源项目的公司表达出来的。

在我作为顾问的早期生涯中,我看到拥有项目的公司对贡献以及“免费赠送他们的软件”表示担忧。这实际上是另一种说法,即“我们没有收到预期的实物贡献”。更糟糕的是,还会讨论那些没有转化为客户的用户,因为这似乎是唯一可以原谅不贡献的理由。他们的想法是,“总得有人付费。”

这些公司将用户社区中测试解决方案的客户与并非潜在客户的真正社区用户混淆了。该公司最初无法理解,围绕技术项目发展用户社区会

  • 创造必要的知识、专业技能和经验,以便为向客户推销技术提供完整的解决方案。当实际的潜在客户在社区中进行自我评估并测试解决方案社区的实力时,这些证明点是无价的。
  • 创造拥护者和传播者,以传播对解决方案的认知。
  • 在他们拥有或提供主导专业知识的技术周围,创造巨大的现状惯性。
  • 从技术角度和参与关系角度,牢牢地抓住客户。
  • 最终促成贡献,如果他们鼓励并为此做好准备。(注意:这仍然不是转化为付费客户。)

我甚至在与 Google 编程之夏 相关的情况下,看到了一种“白嫖者”现象的变体:以前没有参与过的项目错误地希望在夏天获得免费劳动力。“编程之夏”明确旨在使计算机科学专业的学生了解开源软件,获得真实世界分布式软件开发工作的经验,并磨练他们的编程技能。它是关于学生——而不是劳动力。正如标语所说,“翻转比特,而不是汉堡”。自由及开源软件项目本身当然会因曝光、培训自己的项目成员作为导师而受益,如果项目导师做得好,他们会获得忠诚的新鲜血液。但这与“获得免费工作”无关。

这实际上是关于情况的数学原理。多年来,许多人观察到,流入自由及开源软件项目的贡献呈现出特定的模式。每收到一千份错误报告,就会有一百名开发者提出代码解决方案。其中十人会真正阅读提交指南并修复整个错误。一人会提供正确的修复方案,并且贡献者会运行提供的测试工具,他们的提交将包括新的测试用例来证明问题已得到解决。这适用于拥有庞大用户群的社区,如 MySQL 和 Sendmail,一直到围绕图形驱动程序等非常专业的社区。

这些观察结果为如何思考向量奠定了基调,因为要获得一千份错误报告,你可能需要在你的社区中拥有 10,000 名用户。如果这些观察结果是准确的,那么每个自由及开源软件社区中必须有 90% 的用户没有贡献,甚至连一份错误报告都没有,也就是说,他们是“白嫖者”。

因此,这真的与项目动机有关。开发优秀的软件是一项艰苦的工作,根据自由及开源软件许可证自由地分享软件并建立社区,是分摊开发经济成本并获得 inbound 领域专业知识的最佳方式。此外,如果你是一家拥有软件项目实际知识产权的公司,你还可以获得围绕发展活跃社区的额外好处(如上所述)。

贡献是自由及开源软件项目的生命线,因此需要使软件易于安装/配置和使用,以建立广泛的用户社区。需要让用户容易理解如何以及贡献什么,以提高贡献的几率。如果代码是 inbound 贡献,则需要使代码贡献者容易入门。这些人需要知道做什么、如何开始以及如何贡献。所有这些活动都是项目的责任。从贡献流程中,项目将找到未来的提交者和维护者,以更新核心开发社区。

随着项目社区的成长和繁荣,它将吸引希望使用该软件并做出贡献的企业。如果项目开发者满足法律风险管理的商业需求,那么就可以围绕自由及开源软件项目形成一个生态系统。随着公司的参与,将项目软件引入新的领域,这为社区增加了更多的用户。

所以最终,这一切都与“白嫖者”有关,但从你想拥有尽可能多的“白嫖者”的角度来看。这意味着你在通过让用户体验变得容易,让他们容易做出贡献,并最终创建一个能够自我持续的生态系统方面“做对了”。“白嫖者”对于每个自由及开源软件项目的增长和成功至关重要。

最初发布于 Outercurve 基金会博客。经许可转载。

User profile image.
我是一名技术主管、创始人、顾问、作家、国际商务人士、系统开发人员、软件构建极客和标准外交官。我喜欢构建让客户欣喜若狂的团队和产品。自 1980 年以来,我一直在 IT 行业工作,既是客户又是供应商。

7 条评论

精彩的文章。我 <a href="http://www.adventuresinoss.com/?p=202">在 2008 年写过类似的东西</a>,所以这场辩论已经持续了一段时间。

几乎每个参与开源项目的人都从“白嫖者”开始,我讨厌有些人对互惠互利抱有的期望。在我们的项目中,我很高兴人们觉得它有用,如果他们想贡献:无论是代码、评论还是仅仅是社区——那都只是锦上添花。

我特别喜欢你对 GSoC 的评论。我们已经参与多年了,这需要大量的工作。人们经常忘记指导方面的事情。然而,这可能会非常有意义(我们今年至少有一位出色的学生),而且你通过该项目获得的经验可以很容易地转移到在一般的开源社区中工作。

Tarus,你说得对,我也觉得我们非常重视代码贡献,以至于我们忘记了其他有价值的贡献,包括编写文档、布道——告诉其他人软件有多酷,以及任何让更多人参与进来的活动,例如通过 Google 编程之夏进行指导。

我很高兴它不是 FO$$,因为可以获得、使用、共享好的软件,并为 M$、Oracle、SAP ... 忽视的技术发展文化做出贡献。

“白嫖者”一开始使用软件。然后,他们发现了一个错误。然后他们被要求测试该错误的不同情况。很快他们就不再是“白嫖者”了,而是积极的质量保证人员 :)

用“白嫖者”来形容用户是一个相当侮辱性的词。

如果自由及开源软件开发者不想让“白嫖者”破坏他们宝贵的一天,他们只需要停止将他们的代码放在公共服务器上即可。

少一点居高临下会更受欢迎。

我的抱怨不一定是你所说的“白嫖者”,而是那些使用开源软件的公司,甚至可能为项目做出贡献,但当他们成为客户/用户时,却反过来唾弃开源社区。

我更愿意看到使用“贡献者”和“消费者”这两个术语,我所说的消费者可能等同于你所说的“白嫖者”。正如你所说,当消费者遇到问题时,有时可以转化为贡献者。因此,仅仅消费而不贡献的人根本不是坏事,因为并非每个人都能贡献,可能是因为时间、技能或其他原因。然而,我的项目已经达到一个程度,远远超出了社区贡献者所能提供的范围,因为它涉及到非常昂贵的企业硬件和非常高端的技术(SAN、光纤网络、集群、复制、重复数据删除...)。所有这些都需要金钱,并且有冒着触犯大型商业专有供应商昂贵的专利诉讼的风险。我发现将我的开源项目推向大型企业市场的唯一方法是围绕开源项目创建一个商业“开放核心”公司(现在已经存在 14 年)。这就是问题开始出现的地方——至少对我而言是这样。许多大型消费者使用该项目的软件,但大多数人没有贡献。为了吸引这些消费者使用商业版本来支持更多高端功能的开发,这些功能最终会回流到社区和贡献者,我们必须使用可怕的开放核心策略——核心是开源的,但周围是“非自由”源代码,用于区分功能。这有一个积极的后果:开放核心公司现在的贡献远远超过了仅仅来自社区的贡献。另一方面,它也有一些负面后果:开源社区可能会感到不安;抄袭者很可能会出现并为了自己的商业利益创建分支。

我不担心消费者(但确实希望更多人转化为贡献者或至少是企业客户)。真正的问题是如何确保高端开源项目的持久性?我选择的解决方案是一个开放核心公司,还是有其他解决方案?

知识共享许可协议本作品根据知识共享署名-相同方式共享 3.0 未本地化版本许可协议获得许可。
© . All rights reserved.