挖了一些关于nodejs的八卦


Timeline

Node.js诞生于2009年,它的初始作者是Ryan Dahl。他出生于美国加州San Diego,2009年时居住在德国,是一个自由职业者。在那时他创作了nodejs。在完成nodejs的初始开发并公之于众后,硅谷一家创业公司Joyent找到他并雇佣了他。Joyent给他发工资让他依然以100%的时间做自己原本喜欢做的事情(开发nodejs),一场愉快的交易。当时的CEO是David Young,CTO是Jason Hoffman。Joyent这个公司很难说清楚它到底是做什么的,因为它经历了数次转型和合并。
2011年,Isaac Z. Schlueter开发了nodejs的包管理工具npm,并于2011年11月将之合并到nodejs中。Isaac出生于美国康涅狄格州,曾就读于南康涅狄格州立大学,肄业。据他说他先是在Yahoo工作(2006/01 - 2010/01),然后辞职做了npm,然后受雇于Kakai了几个月(2010/04 - 2010/08),然后加入了Joyent(2010/09 - 2013/12)。据他声称npm恰好是他在换工作的间隙做的,于是版权属于他个人,不属于任何公司。但事实绝非如此,不细说了。
在2012年1月31日,Ryan Dahl公布他将nodejs的领导位置让位于Isaac Schlueter,然后Ryan Dahl就去纽约了,从此从网络上消失了。
2012年5月,Joyent当时的CEO David Young离开Joyent。11月,Henry Wasik接任CEO。
2013年9月,Jason Hoffman从CTO的位置上离职,去了Ericsson。Bryan Cantrill接任CTO。Bryan Cantrill当时刚30岁,加入Joyent 3年半。
2014年1月,负责管理nodejs的Isaac Schlueter离开了Joyent,创办了npm,Inc,并担任CEO。nodejs的管理工作由Timothy J Fontaine接任。而Fontaine刚加入Joyent不到1年。他于2013年2月加入Joyent,4月加入nodejs的核心贡献团队。
2014年6月,Joyent从思科请来了Scott Hammond作为新CEO,代替Henry Wasik。同时,TJ Fontaine 也宣布他要离开nodejs项目。1年后,TJ Fontaine离开Joyent去了Oracle。

io.js的兴起

在Joyent更换CEO的同时,Mikeal Rogers等其他几个nodejs核心贡献者开始在nodejs的基础上fork一个叫Node Forward的项目。Mikeal Rogers当时受雇于DigitalOcean。Node Forward使用了技术委员会这样的方式来管理项目(而不是一个人说了算),据称,Node Forward的技术委员会囊括了nodejs核心贡献者前8名中的6名。(按commit数排序,不包含merge操作的commit)
2014年11月26日,Node Forward项目中一名来自俄罗斯的开发者Fedor Indutny建议把项目更名叫io.js,这样避免跟Joyent引发商标冲突。他的建议得到了技术委员会的同意。于是在12月,io.js对外宣布。Fedor Indutny大学肄业,看上去非常年轻,应该只有20多岁。他至今仍是nodejs官方承认的core team成员之一(Isaac已经不是)。这段历史可见http://blog.izs.me/post/104685388058/io-js Io.js的技术委员会看样子是Isaac在主导着。
2015年1月,io.js的1.0版发布。
2015年2月,Joyent决定联合IBM, Microsoft, PayPal,Linux Foundation等其它公司和组织成立Nodejs Foundation。io.js在和nodejs商量着合并。我当时觉得这就像台湾对北京喊:"你要是愿意采用我们的政治制度我们就愿意回归统一"。哈哈!
2015年9月,io.js和nodejs居然真的合并了。

一些个人观点

可见io.js的出现完全是一场夺权之争。Isaac希望他离开Joynet公司后依然保持对nodejs的控制权,因为他的新公司npm,Inc必须依附于nodejs的生态圈而存在。我们没有理由相信io.js会带来什么奇迹或革新,因为人还是那帮人,Isaac就是nodejs曾经的项目lead,他只是想另开炉灶而已。如果说有谁的代码故意不被merge所以fork,这才说得过去。可io.js的故事并非如此啊。
如果nodejs和io.js能回归统一自然是最好的,如果不,那么ffmpeg和libav的纷争可做前车之鉴。libav是从ffmpeg中fork出来,做的还算挺不错,开发很活跃。但是ffmpeg的开发者很大度,他们把libav所做的那些改动又悉数的merge了回来。于是就变成了,ffmpeg是libav的超集。使用者出于理性考虑,继续选用ffmpeg。libav则面临死掉。
Joynet这个公司实在是太混乱了,还没上市呢,CEO/CTO换了一拨又一拨。它现在的CTO是Bryan Cantrill。此人之前在sun/oracle工作,对solaris情有独钟。这也造就了为什么nodejs社区总是在推荐dtrace/mdb做分析、调试工具。Joynet投入了非常大的精力在SmartOS上,SmartOS是他们所做的Solaris的发行版。我真的不相信solaris在将来还会有任何市场机遇。Joyent宣称他们的SmartOS性能卓越,运行Elasticsearch/MongoDB时比AWS的Linux主机快了多少多少,可是拜托,这年头谁愿意从Linux迁移到Solaris?Joyent的云主机服务比Google/Amazon贵出一倍多,毫无市场竞争力。就算你性能略好,我拿同样的钱在别人家能买双倍数量的机器,以及更优质的服务,更广泛的社区。
我自己略微看好Dart。Dart出现于2011年,比Node.js晚不了多少,但是一直没有得到社区认可。不过相比开发者的水平来说,这两个简直天壤之别。Dart的开发者是天神级的,而且一直很稳定,有Google在后面撑着。Dart和v8的开发者有非常大的交集。设计Dart的人就是设计V8的人。nodejs的开发者你看看他们的经历吧,要么长期失业,要么乳臭未干。对于任何一个语言来说,开发vm的人和开发core libraries的人不可能是两拨人,这是nodejs的硬伤。io.js为什么会引起这么高的关注呢?因为他们好些人从一毕业起就一直是搞社区的啊。比如Mozilla,比如Yahoo的YDN。咳咳,不说了。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥