(注: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. 《大象Think in UML》阅读笔记之二

    Think in UML阅读笔记(二) 上一次读到面向对象和面向过程的区别和各自的优势,结合实例分析了面向过程在面对大数据的时候,已经不足以满足人们的需求,所以引入了面向对象,面向对象的方法把世界看做 ...

  2. "1001. A+B Format (20)" 解题报告

    Github : git@github.com:Circlecos/object-oriented.git PDF Of Markdown : "1001. A+B Format (20)& ...

  3. 其实servlet就是一种mvc设计思想的一种实现

    看图,不说话

  4. Scanner的例子

    package com.firstDay.one; import java.util.Scanner; public class Information { /** * @param args */ ...

  5. struts2的运行原理以及底层的工作机制

    1 请求,请求路径是/login(发起请求,被filter拦截) 2 DispatcherFilter 3 获取当前请求的路径 通过request对象 request.getServletPath 4 ...

  6. Centos7 django+uwsgi+nginx+python3.6.8部署

    安装依赖 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-d ...

  7. [转帖]TLS 1.3概述

    TLS 1.3概述 http://www.inforsec.org/wp/?p=1960   By Yanting Yang | 四月 26, 2017| SecComm 作者:李新宇 中科院软件所 ...

  8. [转]正确设置nginx/php-fpm/apache权限

    核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限 ...

  9. HashMap,HashTable,concurrentHashMap,LinkedHashMap 区别

    HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 con ...

  10. equals比较对象

    object类的equals方法用来比较是否是同一个对象,比较内存地址. jdk中有些类重写了equals方法,只要类型,内容相同,就相等. 类如果涉及到比较应该重写equals方法,比较内存地址没有 ...