Node.js一分为二:开源项目真需要“大管家”吗?

开发 前端
近年来,随着商业活动中开放源码日益被广泛接受,Joyent和Docker采取的这种单一公司控制模式也开始流行起来,并且有时候这种模式运转良好。例如:大行其道的编程框架,Ruby on Rails,依然由它的缔造者Basecamp进行管理。

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不可能让每个用户都满意,于是便上演了前文提到的分裂。

图片2

但是问题的关键在于,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的项目负责岗,不久便淡出了公众视野。【图片3】

在此之后,Node.js开源项目继续运行,并吸取了来自于不同公司编码员,来一同构建这个平台。但是在去年的一次访谈中,Mikeal Rogers提到,自从Ryan Dahl离开后,Node.js开源社区的贡献者和Joyent发布的更新数量都在不断缩减,甚至都有人发邮件过来询问这个开源项目是不是已经不存在了。

图片3

这就是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等。

[[124672]]

但是近年来,随着商业活动中开放源码日益被广泛接受,Joyent和Docker采取的这种单一公司控制模式也开始流行起来,并且有时候这种模式运转良好。例如:大行其道的编程框架,Ruby on Rails,依然由它的***Basecamp进行管理。

Joyent通过驱动决策过程中能达成共识,进一步提高Node的兼容性,并且还成立了一个咨询委员会,吸纳了许多来自公司外部的开发者。但是对于许多人来说,这个咨询委员会来得太慢、太迟了。

英文:Wired

译文出自:http://www.lieyunwang.com/archives/65504

责任编辑:林师授 来源: 猎云网
相关推荐

2021-09-22 13:02:38

容器技术Docker

2013-12-02 09:58:42

腾讯云 云计算

2021-09-28 07:57:39

Android 12.安卓锁屏界面

2011-07-01 14:55:54

saasvmware

2021-01-08 08:21:02

Android

2009-06-11 09:12:15

App StoreiPhone 3G

2020-07-02 15:00:28

GitHub代码开发者

2011-11-10 10:15:34

System Cent企业IT

2022-07-06 08:05:28

微软Windows

2022-06-10 09:00:53

前端项目个JSON

2012-05-08 15:50:00

2023-04-28 08:42:22

Node.js开源项目

2020-05-20 09:26:59

Node.jsDenoJavaScript

2023-09-08 06:35:57

Intel芯片线程

2023-02-08 09:02:10

PNPM管理器优化

2013-11-01 09:34:56

Node.js技术

2015-03-10 10:59:18

Node.js开发指南基础介绍

2015-12-25 16:31:54

开源攻防平台DVNA

2019-07-23 10:20:23

前端Node.js中间层

2018-03-28 14:58:42

虚拟机内核系统
点赞
收藏

51CTO技术栈公众号