从 Node.js 分裂出 Io.js 事件看开源软件谁做主
2014-12-17 09:47
429 查看
Node.js 作为服务器编程语言的后起之秀,常用来构建和运行 Web 应用,近日却爆出其社区出现分裂。由于对官方运营商 Joyent 公司在 Node.js 管理上的长期不满,多位核心开发者另立门户,创建了分支 Io.js。从 GitHub 得知,Io.js 的第一个版本(1.0.0 alpha1 版)将于 2015 年 1 月 13 日发布。
Node.js 开源社区组织者 Mikeal Rogers 也是“另立门户”中的一员,他说:“我们不想被另外一家公司任命的管理人员牵着鼻子走,而是想让 Node.js 的贡献者拥有更多的控制权,并寻求更多的共识。”
Io.js 与 Node.js 的分离,再一次凸显出开源项目赞助商与其开发、维护人员及公司之间的矛盾。之前也有类似的情形,CoreOS 与 Docker 分家继而推出自己的容器引擎 Rocket,也是因为 Docker 的部分社区成员认为母公司的管理偏离了原来的方向,从而导致一个新的竞争对手产生。
一般情况下,商业公司通过免费提供开源软件,鼓励用户测试、改进源代码,可以获取巨额利润。然而,这样做的结果是,很难平衡商业公司与外部开发者、 使用者间不同的需求。云计算公司 Joyent 是 Node 编程语言的主要用户,在满足其自身需求的前提下,还通过 Node.js 的广泛传播和推广获利。这样便陷入了一个怪圈,Joyent 不可能让每个用户都满意,于是便上演了前文提到的分裂。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/74b405ea2aa33d9fb1f6ed1403a2bdad.jpg)
但是问题的关键在于,Node 分裂后是否有助于让更多的公司和开发者来使用这款产品呢?Node.js 是一个基于 Chrome JavaScript 运行时建立、流行、开源、跨平台的运行时环境,这种运行时环境正在改变开发者构建新应用的模式。自五年前发布以来,Node 便深受欢迎,现在已被诸多全球知名企业在其商业产品或服务软件中采用,包括通用电气公司、沃尔玛这样的企业巨头,以及著名社交网站 LinkedIn、音乐应用 Rdio、打车软件 Uber 这些科技新创企业。
而在 2009 年,Joynent 雇用了 Ryan Dahl 并让其专职负责 Node.js 的发展,在此同时,还获取了 Node 的品牌使用权。三年后,Ryan Dahl 却走下了 Node.js 的项目负责岗,不久便淡出了公众视野。
在此之后,Node.js 开源项目继续运行,并吸取了来自于不同公司编码员,来一同构建这个平台。但是在去年的一次访谈中,Mikeal Rogers 提到,自从 Ryan Dahl 离开后,Node.js 开源社区的贡献者和 Joyent 发布的更新数量都在不断缩减,甚至都有人发邮件过来询问这个开源项目是不是已经不存在了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/abd0e19e4fbdad386352dbc4c3d77ac6.png)
这就是 Io.js 团队决定和 Node 分道扬镳的主要原因。这个项目创立之初便已经参与的五位重量级开发者,Io.js 分支囊括了其中四位。Joyent 目前维持的 Node.js 版本仍起着至关重要的作用,但是 Io.js 的开发团队已经计划在 2015 年初发布他们自己的平台自定义版本,将使用全新的的谷歌 V8 JavaScript 引擎。
另一边,Joyent 的首席技术官 Bryan Cantril 却认为 Node 依然盛行,尽管其发展速度放缓。他解释到,Joyent 将重点放在如何使 Node 的读取速度更快、运行更加稳定上,而非一味的去增加新特征。并且,一定要把控社区贡献者的质量,而不是数量。
一个全新独立的基础具备十分重要的意义,包括诺维 NPM、NodeSource 和 Strongloop 等许多公司,都依靠 Node 开源语言,并且 Io.js 团队中的许多成员还受雇于这些公司。历史上流传最广泛的开源项目也多数具备独立的基础,而不是受控于个别公司,像世界排名第一的 Web 服务器软件 Apache,大数据处理平台 Hadoop,操作系统 Linux 等。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/3ddf8f19860031fdbb4e6f269232e2e4.jpg)
但是近年来,随着商业活动中开放源码日益被广泛接受,Joyent 和 Docker 采取的这种单一公司控制模式也开始流行起来,并且有时候这种模式运转良好。例如:大行其道的编程框架,Ruby on Rails,依然由它的缔造者 Basecamp 进行管理。
Joyent 通过驱动决策过程中能达成共识,进一步提高 Node 的兼容性,并且还成立了一个咨询委员会,吸纳了许多来自公司外部的开发者。但是对于许多人来说,这个咨询委员会来得太慢、太迟了。
Node.js 开源社区组织者 Mikeal Rogers 也是“另立门户”中的一员,他说:“我们不想被另外一家公司任命的管理人员牵着鼻子走,而是想让 Node.js 的贡献者拥有更多的控制权,并寻求更多的共识。”
Io.js 与 Node.js 的分离,再一次凸显出开源项目赞助商与其开发、维护人员及公司之间的矛盾。之前也有类似的情形,CoreOS 与 Docker 分家继而推出自己的容器引擎 Rocket,也是因为 Docker 的部分社区成员认为母公司的管理偏离了原来的方向,从而导致一个新的竞争对手产生。
一般情况下,商业公司通过免费提供开源软件,鼓励用户测试、改进源代码,可以获取巨额利润。然而,这样做的结果是,很难平衡商业公司与外部开发者、 使用者间不同的需求。云计算公司 Joyent 是 Node 编程语言的主要用户,在满足其自身需求的前提下,还通过 Node.js 的广泛传播和推广获利。这样便陷入了一个怪圈,Joyent 不可能让每个用户都满意,于是便上演了前文提到的分裂。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/74b405ea2aa33d9fb1f6ed1403a2bdad.jpg)
但是问题的关键在于,Node 分裂后是否有助于让更多的公司和开发者来使用这款产品呢?Node.js 是一个基于 Chrome JavaScript 运行时建立、流行、开源、跨平台的运行时环境,这种运行时环境正在改变开发者构建新应用的模式。自五年前发布以来,Node 便深受欢迎,现在已被诸多全球知名企业在其商业产品或服务软件中采用,包括通用电气公司、沃尔玛这样的企业巨头,以及著名社交网站 LinkedIn、音乐应用 Rdio、打车软件 Uber 这些科技新创企业。
分裂的背后原因
Node 最初是由 Ryan Dahl 于 2010 年 11 月发起的开源项目,旨在用 JavaScript 语言构建和运行大规模网络服务及应用,而 JavaScript 是目前浏览器所使用的标准编码语言。程序员之所以喜欢 JavaScript 语言,是因为它灵活易懂,只需使用一种语言便可实现浏览器与远程服务器之间的代码调试。并且,还很适合构建需要支持众多同时在线用户的应用,比如在线游 戏。而在 2009 年,Joynent 雇用了 Ryan Dahl 并让其专职负责 Node.js 的发展,在此同时,还获取了 Node 的品牌使用权。三年后,Ryan Dahl 却走下了 Node.js 的项目负责岗,不久便淡出了公众视野。
在此之后,Node.js 开源项目继续运行,并吸取了来自于不同公司编码员,来一同构建这个平台。但是在去年的一次访谈中,Mikeal Rogers 提到,自从 Ryan Dahl 离开后,Node.js 开源社区的贡献者和 Joyent 发布的更新数量都在不断缩减,甚至都有人发邮件过来询问这个开源项目是不是已经不存在了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/abd0e19e4fbdad386352dbc4c3d77ac6.png)
这就是 Io.js 团队决定和 Node 分道扬镳的主要原因。这个项目创立之初便已经参与的五位重量级开发者,Io.js 分支囊括了其中四位。Joyent 目前维持的 Node.js 版本仍起着至关重要的作用,但是 Io.js 的开发团队已经计划在 2015 年初发布他们自己的平台自定义版本,将使用全新的的谷歌 V8 JavaScript 引擎。
另一边,Joyent 的首席技术官 Bryan Cantril 却认为 Node 依然盛行,尽管其发展速度放缓。他解释到,Joyent 将重点放在如何使 Node 的读取速度更快、运行更加稳定上,而非一味的去增加新特征。并且,一定要把控社区贡献者的质量,而不是数量。
分裂后新的起点
当然,Mikeal Rogers 没必要因为 Node 面临的问题去谴责 Joyent。但是,Io.js 团队坚持的理想是创造一个全新的、独立的基础,服务于这个开源项目,而不受任何外在公司或个人的控制。这同时也说明,Io.js 团队还未真正建立起这个基础,因为他们仍对获得 Joyent 授权使用 Node.js 商标报以希望。一个全新独立的基础具备十分重要的意义,包括诺维 NPM、NodeSource 和 Strongloop 等许多公司,都依靠 Node 开源语言,并且 Io.js 团队中的许多成员还受雇于这些公司。历史上流传最广泛的开源项目也多数具备独立的基础,而不是受控于个别公司,像世界排名第一的 Web 服务器软件 Apache,大数据处理平台 Hadoop,操作系统 Linux 等。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201506/3ddf8f19860031fdbb4e6f269232e2e4.jpg)
但是近年来,随着商业活动中开放源码日益被广泛接受,Joyent 和 Docker 采取的这种单一公司控制模式也开始流行起来,并且有时候这种模式运转良好。例如:大行其道的编程框架,Ruby on Rails,依然由它的缔造者 Basecamp 进行管理。
Joyent 通过驱动决策过程中能达成共识,进一步提高 Node 的兼容性,并且还成立了一个咨询委员会,吸纳了许多来自公司外部的开发者。但是对于许多人来说,这个咨询委员会来得太慢、太迟了。
相关文章推荐
- 从Node.js分裂出Io.js事件看开源软件谁做主
- 从Node.js分裂出Io.js事件看开源软件谁做主
- 为什么io.js要从Node.js中分裂出来?
- OSChina 开源周刊第三十三期 —— Node.js 和 io.js 准备合作!
- Node.js非阻塞IO和事件循环学习总结
- 如何理解Node.js中 单线程、非阻塞IO、事件驱动
- 30款 Node.js 扩展开源软件
- 【Todo】React & Nodejs学习 &事件驱动,非阻塞IO & JS知识栈:Node为主,JQuery为辅,Bootstrap & React为辅辅,其他如Angular了解用途即可
- 小结Node.js中非阻塞IO和事件循环
- 小结Node.js中非阻塞IO和事件循环
- node.js第三课(node.js异步式IO与事件编程)
- 什么是node.js的事件驱动编程
- TWaver html5 + NodeJS + express + websocket.io + redis 快速搭建项目(一)
- NodeJS Socket.io
- TWaver HTML5 + Node.js + express + socket.io + redis(四)
- TWaver HTML5 + Node.js + express + socket.io + redis(三)
- 用node.js 实现的开源项目
- 深入浅出Node.js(四):Node.js的事件机制
- TWaver HTML5 + Node.js + express + socket.io + redis(六)
- Node.js基于Google V8提供了基于事件的I/O处理