child_process: check execFile and fork args
[platform/upstream/nodejs.git] / WORKING_GROUPS.md
index 0e69d7e..5e19a93 100644 (file)
@@ -1,11 +1,11 @@
-# io.js Working Groups
+# Node.js Working Groups
 
-io.js Working Groups are autonomous projects created by the
-[Technical Committee (TC)](https://github.com/iojs/io.js/blob/v1.x/GOVERNANCE.md#technical-committee).
+Node.js Working Groups are autonomous projects created by the
+[Technical Steering Committee (TSC)](https://github.com/nodejs/node/blob/master/GOVERNANCE.md#technical-committee).
 
-Working Groups can be formed at any time but must be ratified by the TC.
+Working Groups can be formed at any time but must be ratified by the TSC.
 Once formed the work defined in the Working Group charter is the
-responsibility of the WG rather than the TC.
+responsibility of the WG rather than the TSC.
 
 It is important that Working Groups are not formed pre-maturely. Working
 Groups are not formed to *begin* a set of tasks but instead are formed
@@ -14,54 +14,53 @@ think it would benefit from being done as an autonomous project.
 
 If the work defined in a Working Group charter is completed the Working
 Group should be dissolved and the responsibility for governance absorbed
-back in to the TC.
+back in to the TSC.
 
 ## Current Working Groups
 
-### Website
+* [Website](#website)
+* [Streams](#streams)
+* [Build](#build)
+* [Tracing](#tracing)
+* [i18n](#i18n)
+* [Evangelism](#evangelism)
+* [Roadmap](#roadmap)
+* [Docker](#docker)
+* [Addon API](#addon-api)
+* [Starting a Working Group](#starting-a-wg)
+* [Bootstrap Governance](#bootstrap-governance)
+
+### [Website](https://github.com/nodejs/website)
 
 The website working group's purpose is to build and maintain a public
-website for the `io.js` project.
+website for the `Node.js` project.
 
 Its responsibilities are:
-* Develop and maintain a build and automation system for `iojs.org`.
-* Ensure the site is regularly updated with changes made to `io.js` like
+* Develop and maintain a build and automation system for `nodejs.org`.
+* Ensure the site is regularly updated with changes made to `Node.js` like
 releases and features.
 * Foster and enable a community of translators.
 
-The current members can be found in their
-[README](https://github.com/iojs/website#current-project-team-members).
-
-### Streams
+### [Streams](https://github.com/nodejs/readable-stream)
 
 The Streams WG is dedicated to the support and improvement of the Streams API
-as used in io.js and the npm ecosystem. We seek to create a composable API that
+as used in Node.js and the npm ecosystem. We seek to create a composable API that
 solves the problem of representing multiple occurrences of an event over time
 in a humane, low-overhead fashion. Improvements to the API will be driven by
 the needs of the ecosystem; interoperability and backwards compatibility with
 other solutions and prior versions are paramount in importance. Our
 responsibilities include:
 
-* Addressing stream issues on the io.js issue tracker.
-* Authoring and editing stream documentation within the io.js project.
-* Reviewing changes to stream subclasses within the io.js project.
-* Redirecting changes to streams from the io.js project to this project.
-* Assisting in the implementation of stream providers within io.js.
-* Recommending versions of readable-stream to be included in io.js.
+* Addressing stream issues on the Node.js issue tracker.
+* Authoring and editing stream documentation within the Node.js project.
+* Reviewing changes to stream subclasses within the Node.js project.
+* Redirecting changes to streams from the Node.js project to this project.
+* Assisting in the implementation of stream providers within Node.js.
+* Recommending versions of readable-stream to be included in Node.js.
 * Messaging about the future of streams to give the community advance notice of changes.
 
-Initial members are:
-* @chrisdickinson
-* @isaacs
-* @rvagg
-* @Raynos
-* @calvinmetcalf
-* @sonewman
-* @mafintosh
-* @timgestson
-* @domenic
 
-### Build
+### [Build](https://github.com/nodejs/build)
 
 The build working group's purpose is to create and maintain a
 distributed automation infrastructure.
@@ -70,27 +69,21 @@ Its responsibilities are:
 * Produce Packages for all target platforms.
 * Run tests.
 * Run performance testing and comparisons.
-* Creates and manages official docker images.
 * Creates and manages build-containers.
 
-The current members can be found in their
-[README](https://github.com/iojs/build#people).
 
-### Tracing
+### [Tracing](https://github.com/nodejs/tracing-wg)
 
 The tracing working group's purpose is to increase the
-transparency of software written in io.js.
+transparency of software written in Node.js.
 
 Its responsibilities are:
 * Collaboration with V8 to integrate with `trace_event`.
-* Maintinence and iteration on AsyncWrap.
-* Maintinence and improvements to system tracing support (DTrace, LTTng, etc).
-* Documention of tracing and debugging techniques.
+* Maintenance and iteration on AsyncWrap.
+* Maintenance and improvements to system tracing support (DTrace, LTTng, etc.)
+* Documentation of tracing and debugging techniques.
 * Fostering a tracing and debugging ecosystem.
 
-The current members can be found in their
-[README](https://github.com/iojs/tracing-wg#people).
-
 ### i18n
 
 The i18n working groups handle more than just translations. They
@@ -102,53 +95,56 @@ language community might then produce multiple localizations for
 various project resources.
 
 Their responsibilities are:
-* Translation of any io.js materials they believe are relevant to their
+* Translations of any Node.js materials they believe are relevant to their
 community.
 * Review processes for keeping translations up
 to date and of high quality.
 * Social media channels in their language.
-* Promotion of io.js speakers for meetups and conferences in their
+* Promotion of Node.js speakers for meetups and conferences in their
 language.
 
-Membership is maintained by each language community.
-
-* [iojs-bg](http://github.com/iojs/iojs-bg)
-* [iojs-bn](http://github.com/iojs/iojs-bn)
-* [iojs-cn](http://github.com/iojs/iojs-cn)
-* [iojs-cs](http://github.com/iojs/iojs-cs)
-* [iojs-da](http://github.com/iojs/iojs-da)
-* [iojs-de](http://github.com/iojs/iojs-de)
-* [iojs-el](http://github.com/iojs/iojs-el)
-* [iojs-es](http://github.com/iojs/iojs-es)
-* [iojs-fa](http://github.com/iojs/iojs-fa)
-* [iojs-fi](http://github.com/iojs/iojs-fi)
-* [iojs-fr](http://github.com/iojs/iojs-fr)
-* [iojs-he](http://github.com/iojs/iojs-he)
-* [iojs-hi](http://github.com/iojs/iojs-hi)
-* [iojs-hu](http://github.com/iojs/iojs-hu)
-* [iojs-id](http://github.com/iojs/iojs-id)
-* [iojs-it](http://github.com/iojs/iojs-it)
-* [iojs-ja](http://github.com/iojs/iojs-ja)
-* [iojs-ka](http://github.com/iojs/iojs-ka)
-* [iojs-ko](http://github.com/iojs/iojs-ko)
-* [iojs-mk](http://github.com/iojs/iojs-mk)
-* [iojs-nl](http://github.com/iojs/iojs-nl)
-* [iojs-no](http://github.com/iojs/iojs-no)
-* [iojs-pl](http://github.com/iojs/iojs-pl)
-* [iojs-pt](http://github.com/iojs/iojs-pt)
-* [iojs-ro](http://github.com/iojs/iojs-ro)
-* [iojs-ru](http://github.com/iojs/iojs-ru)
-* [iojs-sv](http://github.com/iojs/iojs-sv)
-* [iojs-ta](http://github.com/iojs/iojs-ta)
-* [iojs-tr](http://github.com/iojs/iojs-tr)
-* [iojs-tw](http://github.com/iojs/iojs-tw)
-* [iojs-uk](http://github.com/iojs/iojs-uk)
-* [iojs-vi](http://github.com/iojs/iojs-vi)
-
-### Evangelism
+Each language community maintains its own membership.
+
+* [iojs-ar - Arabic (اللغة العربية)](https://github.com/nodejs/iojs-ar)
+* [iojs-bg - Bulgarian (български език)](https://github.com/nodejs/iojs-bg)
+* [iojs-bn - Bengali (বাংলা)](https://github.com/nodejs/iojs-bn)
+* [iojs-cn - Chinese (中文)](https://github.com/nodejs/iojs-cn)
+* [iojs-cs - Czech (Český Jazyk)](https://github.com/nodejs/iojs-cs)
+* [iojs-da - Danish (Dansk)](https://github.com/nodejs/iojs-da)
+* [iojs-de - German (Deutsch)](https://github.com/nodejs/iojs-de)
+* [iojs-el - Greek (Ελληνικά)](https://github.com/nodejs/iojs-el)
+* [iojs-es - Spanish (Español)](https://github.com/nodejs/iojs-es)
+* [iojs-fa - Persian (فارسی)](https://github.com/nodejs/iojs-fa)
+* [iojs-fi - Finnish (Suomi)](https://github.com/nodejs/iojs-fi)
+* [iojs-fr - French (Français)](https://github.com/nodejs/iojs-fr)
+* [iojs-he - Hebrew (עברית)](https://github.com/nodejs/iojs-he)
+* [iojs-hi - Hindi (फिजी बात)](https://github.com/nodejs/iojs-hi)
+* [iojs-hu - Hungarian (Magyar)](https://github.com/nodejs/iojs-hu)
+* [iojs-id - Indonesian (Bahasa Indonesia)](https://github.com/nodejs/iojs-id)
+* [iojs-it - Italian (Italiano)](https://github.com/nodejs/iojs-it)
+* [iojs-ja - Japanese (日本語)](https://github.com/nodejs/iojs-ja)
+* [iojs-ka - Georgian (ქართული)](https://github.com/nodejs/iojs-ka)
+* [iojs-ko - Korean (조선말)](https://github.com/nodejs/iojs-ko)
+* [iojs-mk - Macedonian (Mакедонски)](https://github.com/nodejs/iojs-mk)
+* [iojs-ms - Malay (بهاس ملايو)](https://github.com/nodejs/iojs-ms)
+* [iojs-nl - Dutch (Nederlands)](https://github.com/nodejs/iojs-nl)
+* [iojs-no - Norwegian (Norsk)](https://github.com/nodejs/iojs-no)
+* [iojs-pl - Polish (Język Polski)](https://github.com/nodejs/iojs-pl)
+* [iojs-pt - Portuguese (Português)](https://github.com/nodejs/iojs-pt)
+* [iojs-ro - Romanian (Română)](https://github.com/nodejs/iojs-ro)
+* [iojs-ru - Russian (Русский)](https://github.com/nodejs/iojs-ru)
+* [iojs-sv - Swedish (Svenska)](https://github.com/nodejs/iojs-sv)
+* [iojs-ta - Tamil (தமிழ்)](https://github.com/nodejs/iojs-ta)
+* [iojs-tr - Turkish (Türkçe)](https://github.com/nodejs/iojs-tr)
+* [iojs-tw - Taiwanese (Hō-ló)](https://github.com/nodejs/iojs-tw)
+* [iojs-uk - Ukrainian (Українська)](https://github.com/nodejs/iojs-uk)
+* [iojs-vi - Vietnamese (Tiếng Việtnam)](https://github.com/nodejs/iojs-vi)
+
+
+### [Evangelism](https://github.com/nodejs/evangelism)
 
 The evangelism working group promotes the accomplishments
-of io.js and lets the community know how they can get involved.
+of Node.js and lets the community know how they can get involved.
 
 Their responsibilities are:
 * Project messaging.
@@ -158,13 +154,11 @@ Their responsibilities are:
 * Publishing regular update summaries and other promotional
 content.
 
-The current members can be found in their
-[README](https://github.com/iojs/evangelism#people).
 
-### Roadmap
+### [Roadmap](https://github.com/nodejs/roadmap)
 
 The roadmap working group is responsible for user community outreach
-and the translation of their concerns into a plan of action for io.js.
+and the translation of their concerns into a plan of action for Node.js.
 
 The final [ROADMAP](./ROADMAP.md) document is still owned by the TC and requires
 the same approval for changes as any other project asset.
@@ -174,8 +168,42 @@ Their responsibilities are:
 * Find or potentially create tools that allow for broader participation.
 * Create Pull Requests for relevant changes to [Roadmap.md](./ROADMAP.md)
 
+
+### [Docker](https://github.com/nodejs/docker-iojs)
+
+The Docker working group's purpose is to build, maintain, and improve official
+Docker images for the `Node.js` project.
+
+Their responsibilities are:
+* Keep the official Docker images updated in line with new `Node.js` releases.
+* Decide and implement image improvements and/or fixes.
+* Maintain and improve the images' documentation.
+
+
+### [Addon API](https://github.com/nodejs/nan)
+
+The Addon API Working Group is responsible for maintaining the NAN project and
+corresponding _nan_ package in npm. The NAN project makes available an
+abstraction layer for native add-on authors for both Node.js and Node.js,
+assisting in the writing of code that is compatible with many actively used
+versions of Node.js, Node.js, V8 and libuv.
+
+Their responsibilities are:
+
+* Maintaining the [NAN](https://github.com/nodejs/nan) GitHub repository,
+  including code, issues and documentation.
+* Maintaining the [addon-examples](https://github.com/nodejs/node-addon-examples)
+  GitHub repository, including code, issues and documentation.
+* Maintaining the C++ Addon API within the Node.js project, in subordination to
+  the Node.js TSC.
+* Maintaining the Addon documentation within the Node.js project, in
+  subordination to the Node.js TSC.
+* Maintaining the _nan_ package in npm, releasing new versions as appropriate.
+* Messaging about the future of the Node.js and NAN interface to give the
+  community advance notice of changes.
+
 The current members can be found in their
-[README](https://github.com/iojs/roadmap#people).
+[README](https://github.com/nodejs/nan#collaborators).
 
 ## Starting a WG
 
@@ -186,7 +214,7 @@ ratified by the TC. A charter is a *statement of purpose*, a
 A working group needs 3 initial members. These should be individuals
 already undertaking the work described in the charter.
 
-The list of responsibilities should be specific. Once established these
+The list of responsibilities should be specific. Once established, these
 responsibilities are no longer governed by the TC and therefore should
 not be broad or subjective. The only recourse the TC has over the working
 group is to revoke the entire charter and take on the work previously
@@ -197,7 +225,7 @@ undertaken by another WG then the charter will additionally have to be
 ratified by that WG.
 
 You can submit the WG charter for ratification by sending
-a Pull Request to this document which adds it to the
+a Pull Request to this document, which adds it to the
 list of current Working Groups. Once ratified the list of
 members should be maintained in the Working Group's
 README.
@@ -211,8 +239,8 @@ governance process, hence the term "bootstrap."
 
 ### *[insert WG name]* Working Group
 
-The io.js *[insert WG name]* is jointly governed by a Working Group (WG)
-which is responsible for high-level guidance of the project.
+The Node.js *[insert WG name]* is jointly governed by a Working Group (WG)
+that is responsible for high-level guidance of the project.
 
 The WG has final authority over this project including:
 
@@ -297,15 +325,15 @@ members affiliated with the over-represented employer(s).
 
 ### WG Meetings
 
-The WG meets weekly on a Google Hangout On Air. The meeting is run by
-a designated moderator approved by the WG. Each meeting should be
+The WG meets weekly on a Google Hangout On Air. A designated moderator
+approved by the WG runs the meeting. Each meeting should be
 published to YouTube.
 
-Items are added to the WG agenda which are considered contentious or
+Items are added to the WG agenda that are considered contentious or
 are modifications of governance, contribution policy, WG membership,
 or release process.
 
-The intention of the agenda is not to approve or review all patches,
+The intention of the agenda is not to approve or review all patches;
 that should happen continuously on GitHub and be handled by the larger
 group of Collaborators.
 
@@ -323,13 +351,13 @@ The WG may invite persons or representatives from certain projects to
 participate in a non-voting capacity.
 
 The moderator is responsible for summarizing the discussion of each
-agenda item and send it as a pull request after the meeting.
+agenda item and sends it as a pull request after the meeting.
 
 ### Consensus Seeking Process
 
 The WG follows a
 [Consensus Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
-decision making model.
+decision-making model.
 
 When an agenda item has appeared to reach a consensus the moderator
 will ask "Does anyone object?" as a final call for dissent from the