Node.js 是在 2009年5月份创建的,是属于典型的 Git 和 GitHub 时代最初孕育的项目。另外需要先说明一点,那就是回顾 Node.js 的历史,并不是仅仅为了给大家回味,而是想找到在 Node.js 发展到今天作为一个大型的开源社区对于处理内部冲突发展到如此地步的源头。 几年前,Node.js 还只有很少的几名提交者的(贡献者以写模式访问仓库是为了合并代码和修复 bug)。随着项目的扩大,在管理结构上以及最初的这些成员的个性各异,渐渐的开始出现问题了。具体的表现就是少数的几个提交者来维护庞大的代码提交越来越力不从心,而且开始有一些开发者不再贡献了,这其中包括核心提交者和外围的贡献者。这也直接导致的后果就是发布渐渐跟不上步伐了。

James Snell ,是项目的早期贡献者,现在就职于 IBM,是该公司 Node.js 的技术领导,同时也是 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 4.0,此次合并还引入了 V8 的特性到 Node.js,而且作了长期支持的发布周期。

Node.js 历史的更多相关文章

  1. Node.js 安装配置介绍

    Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v6.10.1 LTS(长期支持版本)版本为例. Node.js安装 ...

  2. python 全栈开发,Day54(node.js初识)

    一.什么是Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事 ...

  3. Node.js:安装配置

    ylbtech-Node.js:安装配置 1.返回顶部 1. ode.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v4.4 ...

  4. 5.Node.js 安装配置

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js安装包及源码下载地址为:https://nodejs.org/en/downlo ...

  5. 使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  6. Node.js之NPM工具使用

    1.NPM介绍:包管理工具 (1)允许用户从NPM服务器下载别人编写的第三方包到本地石使用 (2)允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用 (3)允许用户将自己编写的包或命令行程 ...

  7. 深入浅出Node.js(一):什么是Node.js

    Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...

  8. (转)使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  9. Node.js入门:Node.js&NPM的安装与配置

    Node.js安装与配置      Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0. ...

随机推荐

  1. bzoj 3796 Mushroom追妹纸 —— 后缀数组

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3796 先把三个串拼在一起,KMP 求 s1 , s2 中每个位置和 s3 的匹配情况: 注意 ...

  2. unix-like 图形服务组件(ubuntu)

    ubuntu18.04 准备回归wayland, 因为手机平板的ubuntu无人使用,开发成本太高.所以弃用Unity8, 重新改用 waylang 的GNOME sudo systemctl dis ...

  3. NancyFX 第二章 Rest框架

    正如你看到的,Nancy有两个主要用途. 其中第一项是作为一种通用的基于 REST 框架,可替代 ASP.NET Web API 或其他Rest工具包. 默认情况下,Nancy提供一流的路由和内容协商 ...

  4. 01_SQlite数据库简介

  5. 网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法:

    转载自网络,非原创 1.输出语句:document.write(""); 2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head ...

  6. Unity 5.6中的混合光照(下)

    https://mp.weixin.qq.com/s/DNQFsWpZm-ybIlF3DTAk2A 在<Unity 5.6中的混合光照(上)>中,我们介绍了混合模式,以及Subtracti ...

  7. 一些我推荐的和想上的网络课程(Coursera, edX, Udacity)

    从面向找工作的角度出发,我觉得以下课程有很大帮助: 首推Robert Sedgewick,也是我觉得对我帮助最大的老师,讲课特点是能把复杂的算法讲解清楚(典型例子:红黑树,KMP算法) 他在Cours ...

  8. 1.函数的结构,调用,传参,形参,实参,args,kwargs,名称空间,高阶函数

    1.函数的初识 初始函数 获取任意一个字符串的元素的个数 s1='dsjdkjkfefenga' count=0 for i in s1: count+=1 print(count) 获取列表的元素的 ...

  9. JavaWeb之用户数据回显

  10. IDEA导入HttpServlet包

    转载此篇博客,言简意赅.https://blog.csdn.net/liu_yanzhao/article/details/78838670