本文共 1028 字,大约阅读时间需要 3 分钟。
Node.js 是2009年5月创建的,它属于Git时代最早孕育的项目之一。然而,回顾Node.js的历史并非只是为了让人回味,而是想探索在Node.js发展到今天作为一个庞大的开源社区时,如何处理内部冲突达到了当前水平。几年前,Node.js的提交者非常少,这些贡献者主要通过写模式访问仓库来合并代码和修复bug。随着项目的扩大,管理结构和早期核心成员的个性差异逐渐显现,问题也随之浮现。表现之一是,少数提交者在维护庞大代码库时感到力不从心,同时部分开发者选择退出贡献,这其中包括核心提交者和外围贡献者。这种状况直接导致了发布速度的下降。
在这一背景下,Node.js社区的治理问题日益凸显。James Snell,曾是Node.js的早期贡献者,现在担任IBM的技术领导和Node.js技术委员会成员之一,他指出:开发者在尝试进行改变时,往往缺乏激励,这会让开发者失去动力,最终远离社区。这种状况不仅会导致创新能力下降,开发者也会认为不值得在这个项目上投入时间和精力。
为了应对这些治理挑战,2014年12月,Fedor Indutny启动了io.js,这是一个与Node.js不同的分支。与Node.js不同之处在于,io.js的作者计划保持与Google V8 JavaScript引擎的最新版本兼容。此外,io.js采用了"do-ocracy"治理模式。Do-ocracy是一种组织架构,它允许成员自由选择角色和任务,责任与工作与选举无关。Snell进一步解释道:"通过开放的贡献流程,我们基本上将平台稳定了。"他指出,社区成员贡献的代码以及参与决策的定义都实现了"任何人所发出的请求都一视同仁"。
在io.js成立的前几个月,就吸引了比Node.js历史上都多的活跃开发者加入。2015年2月,一家中立的Node.js基金会成立,旨在促进社区协作。在2015年6月,Node.js和io.js社区通过投票决定,将两者联合在Node.js基金会下开展工作。Node.js版本0.12与io.js版本3.3最终合并,形成了Node.js版本4.0。此次合并不仅引入了V8引擎的特性,还实施了长期支持发布周期。
这次合并标志着Node.js社区治理模式的重大转变。通过引入开放的贡献流程和do-ocracy治理模式,社区成功吸引了更多开发者参与,治理问题得到了有效解决。这种转变不仅让Node.js能够持续跟上技术发展,还为其未来发展奠定了坚实基础。
转载地址:http://wpjfk.baihongyu.com/