也许很多人对io.js这个名字很陌生,这并不奇怪,因为它确实是一个新生物。但这只是表象,如果说起node.js,相信绝大多数程序员都听说过,而io.js就是node.js的一个分支,或者说是替代技术。io.js是node.js是原班开发队伍由于不满官方运营商 Joyent 而另起炉灶fork出来的一个分支,它目前来看完全兼容npm,和node.js的语法。io.js在其官方主页https://iojs.org上显示1.0稳定版支持Linux、Win32、Win64和Mac平台。
node.js的开发团队一分为二是好事还是坏事,这目前来看很难断定。以后io.js独立后能否吸引到更多的开源代码捐助和用户使用,这都是未知数。但从之前的一个先例OpenOffice分裂出libreoffice,但最后OpenOffice还是加入Apache基金会,导致现在两拨入同时维护同一根源、具有相似功能的两套开源office软件。
其实,io.js同node.js的分裂并不是无可避免。负责运营 node.js 的Joyent公司的首席技术官 Bryan Cantril 希望将重点放在如何使 Node.js 的读取速度更快、运行更加稳定上,而非一味的去增加新特征。并且,一定要把控社区贡献者的质量,而不是数量。这导致了node.js今年来发展速度放缓,从而引起了 Io.js 团队决定和 Node 分道扬镳的主要原因。node.js创立之初便已经参与的五位重量级开发者,Io.js 分支囊括了其中四位。Joyent 目前对维护的 Node.js 版本仍起着至关重要的作用,但是 Io.js 的开发团队已经计划发布他们自己的平台自定义版本,将使用全新的的谷歌 V8 JavaScript 引擎。
Io.js 团队坚持的理想是创造一个全新的、独立的基础,服务于这个开源项目,而不受任何外在公司或个人的控制。这同时也说明,Io.js 团队还未真正建立起这个基础,因为他们仍对获得 Joyent 授权使用 Node.js 商标报以希望。
一个全新独立的基础具备十分重要的意义,包括诺维 NPM、NodeSource 和 Strongloop 等许多公司,都依靠 Node 开源语言,并且 Io.js 团队中的许多成员还受雇于这些公司。历史上流传最广泛的开源项目也多数具备独立的基础,而不是受控于个别公司,像世界排名第一的 Web 服务器软件 Apache,大数据处理平台 Hadoop,操作系统 Linux 等。
但是近年来,随着商业活动中开放源码日益被广泛接受,Joyent 和 Docker 采取的这种单一公司控制模式也开始流行起来,并且有时候这种模式运转良好。例如:大行其道的编程框架,Ruby on Rails,依然由它的缔造者 Basecamp 进行管理。