(注:ayo.js叉从Node.js。目前,大量的文档仍然指向Node.js库。)

ayo.js是一个JavaScript运行时建立在Chrome的V8 JavaScript引擎。ayo.js使用事件驱动的,非阻塞I/O模型,使其轻量化和高效。生态系统的ayo.js包,NPM,是世界上最大的生态系统的开放源代码库。

贡献、策略和发布是在一个开放的治理模型下管理的。

这个项目受到行为准则的约束。

https://github.com/ayojs/ayo

Ayo(发音为“eye-oh”或 IO)是当前流行的 JavaScript 运行时 Node.js 的一个分支。它的创建是由于 Node.js 项目内部发生了一个关于“行为准则(Code of Conduct)”的问题。

Node.js 项目的一个委员会(TSC)就是否应该允许一名 Node.js 项目的开发者继续为项目工作进行了投票,投票结果是 60% 持赞成的态度。之所以进行投票,是因为这名开发者存在一些违反“行为准则”的行为。事实上,本次投票意味着他们对这个“行为准则”十分重视。

不幸的是,正如推特用户 maybekatz 所指出的那样,如果委员会成员投票赞成让开发者继续为项目工作,这使得“行为准则”看起来没有执行力。

而且现在由于“行为准则”的执行力不足,不仅造成了 Node.js 的分叉,还导致一名 Node.js 委员会成员在 TSC(技术指导委员会)上辞去自己的职务。

下面是这位选择辞职的开发者所说的内容:

TSC 最近的一项决定让我认为技术指导委员会正在做出不符合 Node.js 项目最大利益的决策。这并不只是关乎某个具体的个人的问题,作为一个项目和我们承担的责任,这还是一个关乎着我们所选择的向众人展示的价值观的问题。

TSC 对该项目拥有最终的权力,包括:

  • 技术方向

  • 项目的治理与流程(包括本条细则)

  • 贡献细则

  • GitHub 仓库托管

  • 行为准则

  • 维护附加协作者的列表

当前的决定破坏了我们的“行为准则”,在我看来,这不但驱走了潜在的贡献者,还破坏了委员会的治理能力。

驱走开源项目的贡献者在开源世界中可能是致命的举动,要知道,大多数开发者基本上都是利用他们的空闲时间来志愿为项目贡献。无论是为小项目,还是诸如 Node.js 这样的大项目吸引贡献者都是十分困难的事,所以我们需要注意让所有贡献者都感到愉悦。

开源项目应该采用“行为准则”,因为它可以使得贡献者在为项目贡献的过程中感到安全,可以增加他们提交补丁时的勇气。贡献者刚加入一个项目时,可能对项目会有点“怕生”的心理,不过“行为准则”可以帮助解决这种情况。引入一个“贡献”文档 —— 解释如何为项目贡献以及从哪开始,这也是一个好主意。其实,任何能让大众轻松为开源项目贡献的事都是好事。

2017 年 8 月 23 日上午 11:26 更新:ayo.js 在 github 上讨论管理架构和项目目标等多个问题。

其中一个关于是否重新合并回 Node.js 的 issue,得票最高的回复如下:

我只是希望错误能被修复。我不在乎这个项目叫什么或者谁在控制它,只要它还为社区服务,它就值得大家努力推动。

译自:https://sourcecontribute.com/

 
 
 
原文地址:https://www.oschina.net/news/88016/node-js-has-forked-into-ayo

Node.js 被分叉出一个项目 — Ayo.js,肿么了的更多相关文章

  1. js移除最后一个字符,js替换字符串的连接符号,js移除最后一个分隔符号

    js移除最后一个字符 js移除最后一个分隔符号 js替换字符串的连接符号 >>>>>>>>>>>>>>>> ...

  2. JS只弹出一个居中弹出窗口

    var newWindow;//定义一个窗口,有利于窗口间的通讯function makeNewWindow(url) {   if (!newWindow || newWindow.closed) ...

  3. jsp文件引入js文件的方式(项目部署于web容器中)

    在页面中引入javascript文件的方式是多种多样的,本文介绍两种. 通过<script>标签插入js文件 通过这种方式引入的js,写对js文件和jsp文件的路径很重要.下面给出一个项目 ...

  4. Node.js笔记07——不使用generator自定义一个项目,深入了解项目结构

    一.初始化项目 新建项目 git init manager 新建view文件夹,建几个静态文件夹 新建app.js 快速初始化项目依赖 npm init -y 安装express npm instal ...

  5. 使用Node.js完成的第一个项目的实践总结

    http://blog.csdn.net/yanghua_kobe/article/details/17199417 项目简介 这是一个资产管理项目,主要的目的就是实现对资产的无纸化管理.通过为每个资 ...

  6. [转]使用Node.js完成的第一个项目的实践总结

    本文转自:http://blog.csdn.net/yanghua_kobe/article/details/17199417 https://github.com/yanghua/FixedAsse ...

  7. npm 是node.js下带的一个包管理工具

    npm 是node.js下带的一个包管理工具          npm install -g webpack webpack是一个打包工具 gulp是一个基于流的构建工具,相对其他构件工具来说,更简洁 ...

  8. 【原创】贡献一个JS的弹出框代码...

    一.前言 最近在做一个项目,自己感觉系统自带的alert()方法的弹出框实在是不堪入目,所以在网上找了一些资料,然后自己加工了一下,做出了自己的一个js弹出框,在这里贡献出来,希望对你有帮助. 二.开 ...

  9. 初识node.js(通过npm下载项目依赖的包的过程)

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

随机推荐

  1. java_web连接SQL_server详细步骤

    (1).我用的是Myeclipse,可以直接将sqljdbc4.jar拷到项目文件 (2).点开SQL Server配置管理器 选中SQL Server2008网络配置下的SQLEXPRESS的协议, ...

  2. jsp九大内置对象之config 和 out

    jsp中config的作用是读取web.xml中的配置信息,一般在后台获取初始化的参数,jsp页面用的较少因为jsp属于表现层,一般是获取数据. jsp中的out对象是将内容放到缓冲区中然后显示出来

  3. Java script 中的面向对象1

    Java script 中的面向对象 对象 对象是Javascript的基本数据类型,对象是一种复合值,将很多的键值对聚合在一起使用.对象可看做是属性的无序集合,每个属性都是一个名/值对.属性名其实是 ...

  4. PHPCMS之 列表和内容页

    上一篇随笔中降到了一些相似的语法可以来后台管理网页的内容,下面就是关于列表的管理 加入一级栏目中有几个有二级菜单的,那么就可以把相应的界面建立一个副本,然后修改里面栏目的一些属性 {pc:conten ...

  5. Head First Java & 异常

     

  6. angularJS1笔记-(13)-自定义指令(controller和controllerAs实现通信)

    index.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. windows下的C++ socket服务器(3)

    int make_server_socket(int port) { WSADATA inet_WsaData; WSAStartup(MAKEWORD(), &inet_WsaData); ...

  8. vue 选项卡(转载)

    !DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-e ...

  9. sql server数据库中raiserror函数的用法

    server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下:ra ...

  10. 性能分析_linux服务器CPU_中断

    中断 1.  指标范围 1.1  Interrupt rate 应该与cpu利用率结合分析,如果cpu利用率在合理范围内,大量的中断也是可以接受的.一个巨大的中断值,同时伴随着缓慢的系统性能表现,指示 ...