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


原文地址: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 工作于补丁作为志愿者的一部分,同时这也是他代表其客户辉瑞公司为塔塔咨询服务公司工作的部分职责。

Drupal 的认可系统在开源社区中独一无二,开创了先河。Drupal 的贡献认可系统有两个主要目的:帮助我们识别谁是创造者和使用者,并引导最终用户选择与我们的创造者合作。

以下是实现这一目标的方法:

  • 某些福利,如活动赞助或在 Drupal.org 上做广告,仅限积分达到一定数量的组织享有。
  • Drupal 市场仅列出创造者,按他们的贡献进行排名。那些停止贡献的组织排名逐渐下滑,并最终被剔除。
  • 我们鼓励最终用户要求供货商做出开源贡献。像辉瑞公司和佐治亚州政府这样的 Drupal 用户仅允许创造者在供应商选择过程中的申请。

显示网格中 14 个项目的幻灯片,每个项目都标记了负责构建相应配方的个体及其组织 这是我最近在 Barcelona DrupalCon 州长演讲中展示的关键 Drupal 星座计划贡献者的幻灯片展示。这张幻灯片展示了我们如何在社区内认可和庆祝创造者,鼓励积极参与项目。

治理与公平

为了确保贡献认可系统是公平的,它需要独立且中立的一方进行监督。

在 Drupal 生态系统中,Drupal 协会承担了这个重要角色。Drupal 协会独立运作,不受到 Drupal 生态系统中任何单一公司的控制。Drupal 协会的一些责任包括:

  1. 组织 DrupalCon
  2. 管理 Drupal.org
  3. 监督贡献追踪和认可系统

值得注意的是,虽然我是 Drupal 协会理事会成员之一,但我只是 12 名成员中的一个,并且多年未担任主席。我的公司 Acquia 在认可系统中没有收到优待;任何组织(包括 Acquia)的可见度完全取决于其过去十二个月的贡献。这确保了公平性,并鼓励 Drupal 社区的所有成员积极参加。

Drupal 的认可系统当然不是完美的。很难准确追踪和公正评估不同类型的贡献,例如代码、文档、指导、营销、活动组织等。一些组织试图钻这个系统的漏洞,另一些则质疑其成本效益是否值得。

结果,Drupal 的信用系统在过去十年间有了显著的发展自十年前我首次提出以来。Drupal 基金会一直在努力改进该系统,旨在建立一个真正能促进积极行为的信用结构。

对 WordPress 的建议

WordPress 已经通过诸如 Five for the Future 计划等举措来应对制造者-消费者挑战,该计划鼓励各组织将其资源的 5% 投入到 WordPress 的开发中。

在此基础上,我认为 WordPress 可以从采用类似于 Drupal 的贡献信用系统中获益。该系统可能需要采取以下步骤:

  1. 扩展现有的治理模式,使其更加分散。
  2. 提供对于生态系统中的制造者和消费者的明确定义。
  3. 实施一个公正且客观的系统,用以跟踪和评估各种类型的贡献。
  4. 实施一个对达到特定贡献门槛的制造者提供奖励的结构化系统,例如在 WordPress 市场中的优先位置、在 WordPress.org 上增加曝光度、参与 WordPress 活动的机会或获取关键服务的权限。

这种方法解决了引言中提到的主要挑战:通过激励重大参与来平衡贡献,并创建一个所有规模的企业能够基于其对社区的贡献公平竞争的环境。

结论

解决制造者-消费者挑战对于开源项目长期可持续发展至关重要。Drupal 的方法不仅可能为 WordPress 提供有益的解决方案,还可能为面临类似问题的其他社区提供解决方案。

通过透明地奖励贡献并促进协作,我们可以建设更健康的开源生态系统。信用系统可以帮助使开源更具可持续性和公平性,推动增长、竞争力,并有可能创造出数以千计新的开源企业。

随着 Drupal 继续完善其信用系统,我们认识到没有任何一种方案是完美的。我们渴望从其他开源项目的经验和挑战中学习,并对新思路及合作持开放态度。

— Dries Buytaert

阅读全文(20积分)