[博客翻译]如何让开源项目平衡作者与使用者的利益


原文地址:https://dri.es/solving-the-maker-taker-problem


如何让开源项目平衡作者与使用者的利益:来自 Drupal 贡献认可系统的经验教训及对 WordPress 和其他开源社区的建议。

一个带有方块的天平

最近,WordPress 的联合创始人 Matt Mullenweg 和托管公司 WP Engine 之间发生了一场公开争议。Matt 指控 WP Engine 通过品牌误导用户,并且在没有充分回馈项目的情况下从 WordPress 中获利。

作为 Drupal 的创始人兼项目负责人,另一个主要的开源内容管理系统(CMS),我犹豫是否要在这个辩论中表态,因为可能会被视为投机取巧。最终,我决定分享我的观点,因为这场冲突影响了更广泛的开源社区。

我和 Matt Mullenweg 认识已久,我们都一起发展了我们的开源项目和公司。鉴于我们共同的兴趣和背景,我认为 Matt 是一位好朋友,并对他的经历有独特的理解。同样珍贵的是我和 WP Engine 领导层的关系,包括 CEO Heather Brunner 和创始人 Jason Cohen,他们都是我多次会面的朋友。我对他们在 WP Engine 所取得的成就深感钦佩。

虽然这篇帖子是受 Automattic 和 WP Engine 争议的触发而写,但它并不是关于他们俩。我对双方各自对 WordPress 的贡献情况并不了解,因此没有资格评判。我已经尽力使这篇帖子尽可能保持中立。

相反,这篇帖子关注的是许多开源项目面临的关键挑战:

  1. 主要贡献者与少量贡献者的不平衡及其如何危害开源社区。
  2. 缺乏支持开源企业和公平共存的环境。

这些问题可能会阻碍企业家们开始开源业务,从而损害开源的未来。我的目标是引发建设性的对话,为创建一个更加平等和可持续的开源生态系统提出建议。通过解决这些挑战,我们可以为开源打造一个更强大的未来。

该帖子探讨了开源中的“创造者-使用者问题”,使用 Drupal 的贡献认可系统作为公平激励和认可贡献者的模型。它建议 WordPress 和其他开源项目可以通过采用类似的系统获益。尽管这些建议不请自来,但我相信这种方法可以帮助 WordPress 社区愈合、重建信任,并有益于所有人的开源进步。

创造者-使用者问题

该问题的核心在于创造者-使用者问题,在开源软件的创造者(“创造者”)看到自己的工作被其他人,通常是服务提供者,用于获取利益却没有以有意义或公平的方式回馈(“使用者”)。

五年前,我写了一篇博客文章《通过平衡创造者和使用者来扩展和维护开源》(Balancing Makers and Takers to Scale and Sustain Open Source),其中定义了这些概念:

创造者和使用者之间的区别并非总是显而易见,但作为一般原则,创造者直接投资于发展他们的业务和开源项目。使用者主要专注于增长其业务,并依赖于由其他人为之维护的开源项目。

在这篇文章中,我还解释了使用者如何对开源项目造成伤害。由于没有实质性地回馈,使用者相对于支持开源项目的创造者具有不公平的优势。这可能会使创造者因需要分拨资源以保持竞争力而减少或停止对开源项目的贡献,最终损害项目的发展:

使用者损害开源项目。激进的使用者可能会导致创造者采取更自私的行为,并完全减少或停止对开源的贡献。使用者能够使创造者变成使用者。

解决创造者-使用者挑战是当前开源面临的最大剩余障碍之一。成功应对这一问题可能导致成千上万的新开源企业诞生,并改善开源的可持续性、增长和竞争力——从而对世界产生积极影响。

Drupal 的方法:贡献认可系统

在 Drupal 中,我们采用了一种积极的方法鼓励组织成为创造者,而不是依赖惩罚措施。我们的方法源于我在《创造者和使用者》这篇文章中也提到的一个关键洞察:客户对于开源项目而言是一种“共同福利”而非“公共福利”。

由于客户只能选择一个服务提供商,这种选择直接影响到开源项目的健康状况。当客户选择创造者时,其收益的部分将重新投入到项目中。然而,如果他们选择了使用者,该开源项目则几乎没有收益。这意味着如果商业活动流向创造者而非使用者,则开源项目会更快地扩展。

因此,对于开源社区而言至关重要的是:

  1. 清晰识别其生态体系中的创造者和使用者
  2. 积极支持和推广其创造者
  3. 向最终用户普及选择创造者的重要性

为了应对这些需求并解决 Drupal 中的创造者-使用者问题,我在 10 年前提出了一个贡献认可系统。这个想法非常简单:给予组织实质性的认可以鼓励他们对 Drupal 的贡献。

自那时以来,我们与非盈利组织 Drupal 协会 合作实施了这个系统。Drupal 协会透明地跟踪来自个人和组织的贡献。每次的贡献都会获得认可积分,你贡献越多,在Drupal.org(每月访问数百万)和类似DrupalCon(参与人数数千)这样的活动中所获得的可见度就越高。你可以在贡献代码、提交案例研究、组织活动、撰文、财政支持 Drupal 协会等方面获得积分。

Drupal org 上的问题贡献示例 Drupal.org 上一个问题评论的截图。你可以看到 jamadar 工作于补丁作为志愿者的一部分,同时这也是他代表其客户辉瑞公司为塔塔咨询服务公司工作的部分职责。