Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

0

引言

在软件开发的世界里,开源项目如同一个生机勃勃的生态系统,无数开发者贡献智慧与汗水,共同构建着数字世界的基石。然而,当商业的触角伸向开源的领域,往往会引发社区的强烈反弹。近日,著名的 DevOps 自动化工具 Puppet 就面临着这样的危机。由于其母公司 Perforce 在收购后对开源模式进行了重大调整,引发了社区的强烈不满,一场酝酿已久的分叉行动即将爆发。这不仅仅是一场关于代码的争夺,更是一场关于开源精神、社区自治与商业利益的深刻博弈。

Puppet 的前世今生:开源与商业的交织

Puppet,作为一款历史悠久的 DevOps 自动化工具,长期以来以其强大的配置管理能力和广泛的应用场景而闻名。它允许用户以声明式的方式管理服务器和应用程序,大大简化了 IT 基础设施的管理和维护工作。Puppet 的发展历程也体现了开源软件的典型模式:它以 Apache 许可下的开源版本为基础,吸引了大量的社区贡献者,并在此基础上衍生出了商业版本 Puppet Enterprise,为企业用户提供更高级的功能和支持。这种开源与商业的结合,在很长一段时间内,为 Puppet 的发展提供了强大的动力,也为用户提供了灵活的选择。

然而,这种平衡在 2022 年 5 月 Perforce 完成对 Puppet 的收购后开始动摇。Perforce,作为一家专注于版本控制和协作工具的公司,其商业模式与 Puppet 的开源基因存在着天然的冲突。虽然 Perforce 在收购之初承诺会继续支持开源社区,但随着时间的推移,其商业化的倾向越来越明显,最终引发了社区的强烈不满。

Perforce 的“新政”:开源模式的转变

Perforce 对 Puppet 开源模式的调整,主要体现在以下几个方面:

  1. 私有二进制文件和软件包: 从 2025 年初开始,由 Perforce 团队开发的新二进制文件和软件包将不再公开发布,而是仅发布到“私有、强化和受控的位置”。这意味着,用户无法像以前那样直接获取官方编译的二进制文件,必须通过 Perforce 的渠道才能获得。

  2. 社区贡献者的受限访问: 虽然社区贡献者仍然可以访问私有存储库,但他们必须遵守“用于开发用途”的最终用户许可协议。这意味着,社区贡献者不能随意使用这些二进制文件,必须受到 Perforce 的约束。

  3. 商业许可证的强制要求: 超过 25 个节点(运行 Puppet 代理的客户端)的使用将需要商业支持许可证。这意味着,对于中大型用户来说,如果想继续使用 Puppet,就必须购买商业许可证,这无疑增加了用户的成本。

  4. 减缓开源提交频率: Perforce 还表示将“减慢向公共存储库提交源代码的频率”。这意味着,社区贡献者将无法像以前那样及时地获取最新的代码更新,也无法及时地参与到 Puppet 的开发中。

这些调整,在 Perforce 的官方声明中,被解释为“确保长期的安全和稳定”,并声称新的流程将“增强 Puppet 下游的安全防护和稳定性”。然而,社区成员普遍认为,这些变化实际上是在限制开源的自由,并试图将用户引导到商业许可证的轨道上。

社区的怒吼:分叉的必然性

Perforce 的这些举措,无疑触动了开源社区的敏感神经。社区成员认为,Perforce 的做法是在“拿走我们大家使用、调试、编写、协作、关注和部署在数千台机器上的开源代码,并关闭付费客户对它的访问权限”。这种行为,不仅违背了开源的初衷,也损害了社区的利益。

一位名为 Gene Liverman 的前 Puppet 站点可靠性工程师,在与 Perforce 进行在线讨论后表示,“现在绝对会出现分叉……我们这些一直密切关注此事的人们重新集结了起来,认识到真正合作的希望已经消失,是时候向前迈进了。” 这句话道出了社区成员的普遍心声:他们已经对 Perforce 失去了信任,认为分叉是唯一的出路。

“我们不能就此放弃 Puppet 这艘船。因此,我们将继续做我们在 Perforce 接手之前就在做的事情,即就代码和问题进行协作,并使该产品变得更好,”另一位社区成员 Antoine Beaupré 说道。这句话则表明了社区成员的决心:他们不会放弃 Puppet,他们要通过分叉的方式,重新掌控 Puppet 的命运。

分叉的挑战与机遇

分叉,对于任何一个开源项目来说,都是一个艰难的决定。它意味着社区要从头开始,重新建立一套完整的开发和维护体系。对于 Puppet 这样一个庞大的项目来说,分叉的挑战更是巨大。

首先,分叉后的项目必须重新命名。由于 Perforce 明确拒绝社区使用 Puppet 这个名字,社区必须为新项目找到一个合适的名称。目前,社区正在讨论的名称包括 Muppet、Manikin、Dolly、Openvox 和 OpenDCM 等。选择一个既能体现新项目的特点,又能被社区接受的名称,并非易事。

其次,分叉后的项目必须重新建立一套完整的开发和维护体系。这包括建立代码仓库、制定开发规范、建立测试流程、维护文档等等。这些工作都需要大量的精力和资源,需要社区成员的共同努力。

第三,分叉后的项目必须重新建立社区。虽然 Puppet 的社区成员已经对 Perforce 感到不满,但他们是否愿意加入到新的分叉项目中,仍然是一个未知数。社区的凝聚力是开源项目成功的关键,如何吸引更多的开发者加入到新的项目中,是社区面临的重要挑战。

然而,分叉也为 Puppet 的发展带来了新的机遇。通过分叉,社区可以摆脱 Perforce 的束缚,重新回到开源的轨道上。社区可以自由地决定项目的未来发展方向,可以更加积极地参与到项目的开发中,可以更加灵活地响应用户的需求。

开源精神的坚守:一场关于自由的战斗

Puppet 的分叉事件,不仅仅是一场关于代码的争夺,更是一场关于开源精神的坚守。开源,不仅仅是一种软件开发模式,更是一种价值观,一种对自由、分享、协作的追求。Perforce 的商业化行为,无疑是对开源精神的挑战。

Puppet 社区的分叉行动,是对这种挑战的有力回应。它表明,开源社区不会屈服于商业的压力,他们会为了捍卫开源的自由而战斗。这场战斗,不仅仅是为了 Puppet,也是为了所有开源项目,为了所有热爱开源的人们。

未来展望:开源的未来之路

Puppet 的分叉事件,也引发了人们对开源软件未来发展方向的思考。开源软件,在当今的软件行业中扮演着越来越重要的角色。它不仅为用户提供了免费的软件,也为开发者提供了学习和成长的机会。然而,开源软件的商业化,也面临着诸多挑战。如何平衡商业利益与开源精神,是所有开源项目都必须面对的问题。

Puppet 的分叉事件,为我们提供了一个警示:商业化不能以牺牲开源精神为代价。只有坚持开源的初衷,才能真正实现开源软件的长期发展。

结语

Puppet 的分叉事件,是一场开源社区与商业力量的较量。它不仅仅关乎一个项目的命运,更关乎开源精神的未来。无论这场战斗的结局如何,它都将为开源软件的发展留下深刻的印记。我们有理由相信,在开源社区的共同努力下,开源软件的未来之路将会更加光明。

参考文献

  • Tim Anderson. (2024, December 18). Community plans to fork Puppet unhappy with Perforce changes to open source project. DevClass. Retrieved from https://devclass.com/2024/12/18/community-plans-to-fork-puppet-unhappy-with-perforce-changes-to-open-source-project/


>>> Read more <<<

Views: 0

0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注