From cf428e97e769e7875825cb0d854ca8a6d48eb4ff Mon Sep 17 00:00:00 2001 From: James M Snell Date: Mon, 21 Aug 2017 22:45:24 -0700 Subject: [PATCH 1/4] meta: merge the TSC and CTC back into a single entity Fixes: https://github.com/nodejs/TSC/issues/312 --- BasePolicies/Charter.md | 8 +- README.md | 196 +++++++++++++------ Streaming/Streaming-To-Youtube.md | 2 +- WORKING_GROUPS.md | 300 ++++++++++++++++++++++++------ 4 files changed, 382 insertions(+), 124 deletions(-) diff --git a/BasePolicies/Charter.md b/BasePolicies/Charter.md index c196a9c3..7b0d5f26 100644 --- a/BasePolicies/Charter.md +++ b/BasePolicies/Charter.md @@ -2,10 +2,9 @@ Every Working Group requires a charter that describes the scope of the WGs responsibilities. Once written, a new Pull Request that adds -the charter to either the [CTC][] or [TSC][] WORKING_GROUPS.md document -must be opened. The WG is considered to be officially chartered once the -PR adding the proposed charter is landed and merged into the relevant -WORKING_GROUPS.md document +the charter to the [TSC][] WORKING_GROUPS.md document must be opened. The WG +is considered to be officially chartered once the PR adding the proposed +charter is landed and merged into the relevant WORKING_GROUPS.md document ### Template: *[insert WG name]* Working Group @@ -23,6 +22,5 @@ The WG responsibilities include: For the current list of WG members, see the project [README.md][]. -[CTC]: https://github.com/nodejs/node/blob/master/WORKING_GROUPS.md [TSC]: https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md [README.md]: ./README.md#current-project-team-members diff --git a/README.md b/README.md index 10e60d56..231c2a69 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,45 @@ # The Node.js Foundation TSC -The Node.js Foundation Technical Steering Committee is the technical governing body of the Node.js Foundation. It admits and oversees all top-level Projects in the Node.js Foundation. It also elects a representative to the Node.js Foundation Board of Directors. +The Node.js Foundation Technical Steering Committee is the technical governing +body of the Node.js Foundation. It admits and oversees all top-level Projects +in the Node.js Foundation. It also elects a representative to the Node.js +Foundation Board of Directors. -For more details read the [TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md) adopted by the Node.js Foundation Board of Directors on June 17th 2015. +For more details read the [TSC Charter][] adopted by the Node.js Foundation +Board of Directors on June 17th 2015. -If your project is interested in joining the Node.js Foundation please read the [Project Lifecycle.md](./Project-Lifecycle.md) documentation. +If your project is interested in joining the Node.js Foundation please read +the [Project Lifecycle.md](./Project-Lifecycle.md) documentation. ## TSC Scope -**The TSC is responsible for Node.js Core project, a number of projects depended upon by Node.js Core, and a number of projects adjacent to Node.js Core.** +**The TSC is responsible for Node.js Core project, a number of projects +depended upon by Node.js Core, and a number of projects adjacent to Node.js +Core.** -The TSC exercises autonomy in managing its responsibilities and seeks agreement from the Node.js Foundation Board on any change to the scope of those responsibilities as defined below. +The TSC exercises autonomy in managing its responsibilities and seeks agreement +from the Node.js Foundation Board on any change to the scope of those +responsibilities as defined below. ### Node.js Core -Node.js Core is defined as the code project existing in the repository located at which the `node` executable and associated packages are built from, _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories. +*Node.js Core* is defined as the contents of the repository located at + from which the `node` executable and associated +packages are built excluding the vendored projects included in the codebase +located in the [deps][] and [tools][] directories that are copied in from +externally maintained repositories. ### Dependent Projects -Additional projects fall within the TSC's scope of responsibility which are dependencies of Node.js Core in that they are **required** to plan, test, build, document and ship Node.js releases. +Additional projects fall within the TSC's scope of responsibility which are +dependencies of Node.js Core in that they are **required** to plan, test, build, +document and ship Node.js releases. These projects are located in the following repositories: * https://github.com/nodejs/TSC * https://github.com/nodejs/build — administration delegated to the Build Working Group * https://github.com/nodejs/citgm — administration delegated to the Core Technical Committee, managed by the Smoke Testing Team -* https://github.com/nodejs/CTC — administration delegated to the Core Technical Committee * https://github.com/nodejs/docker-node — administration delegated to the Docker Working Group * https://github.com/nodejs/http-parser — administration delegated to the Core Technical Committee * https://github.com/nodejs/LTS — administration delegated to the Core Technical Committee, managed by the LTS Team @@ -39,13 +53,22 @@ These projects are located in the following repositories: ### Adjacent Projects -The TSC is responsible for a number of projects that are not strictly required to plan, test, build, document and ship Node.js releases. Projects that are _adjacent_ are either created from within the technical organization managed by the TSC or are adopted into that organization from outside. +The TSC is responsible for a number of projects that are not strictly required +to plan, test, build, document and ship Node.js releases. Projects that are +_adjacent_ are either created from within the technical organization managed by +the TSC or are adopted into that organization from outside. -In the case of adopting existing projects, once the TSC has decided that adoption appropriate, it should seek agreement from the Node.js Foundation Board for such adoption as it impacts on the scope of technical activities of the Foundation. +In the case of adopting existing projects, once the TSC has decided that +adoption appropriate, it should seek agreement from the Node.js Foundation Board +for such adoption as it impacts on the scope of technical activities of the +Foundation. -If the Node.js Foundation Board wishes to adopt an existing project, it must seek agreement from the TSC that such adoption is appropriate and that any changes to scope that it entails are acceptable. +If the Node.js Foundation Board wishes to adopt an existing project, it must +seek agreement from the TSC that such adoption is appropriate and that any +changes to scope that it entails are acceptable. -Current adjacent projects that are within the TSC's scope of responsibility can be found at the following locations: +Current adjacent projects that are within the TSC's scope of responsibility can +be found at the following locations: * https://github.com/nodejs/abi-stable-node — administration delegated to the API Working Group * https://github.com/nodejs/abi-stable-node-addon-examples — administration delegated to the API Working Group @@ -80,66 +103,115 @@ Current adjacent projects that are within the TSC's scope of responsibility can ### List of TSC Responsibilities -The TSC exercises autonomy in setting up and maintaining procedures, policies, and management and administrative structures as it deems appropriate for the maintenance and operation of these projects and resources. +The TSC exercises autonomy in setting up and maintaining procedures, policies, +and management and administrative structures as it deems appropriate for the +maintenance and operation of these projects and resources. Included in the responsibilities of the TSC are: -* Managing code and documentation creation and changes for the listed projects and resources -* Setting and maintaining standards covering contributions of code, documentation and other materials -* Managing code and binary releases: types, schedules, frequency, delivery mechanisms -* Making decisions regarding dependencies of the Node.js Core project, including what those dependencies are and how they are bundled with source code and releases -* Creating new repositories and projects under the _nodejs_ GitHub organization as required -* Setting overall technical direction for the Node.js Core project, including high-level goals and low-level specifics regarding features and functionality -* Setting and maintaining appropriate standards for community discourse via the various mediums under TSC control -* Setting and maintaining governance rules for the conduct and make-up of the TSC, CTC, Working Groups and other bodies within the TSC's domain - -Many of these responsibilities will be delegated by the TSC to appropriate bodies such as the CTC and Working Groups. +* Managing code and documentation creation and changes for the listed projects + and resources +* Setting and maintaining standards covering contributions of code, + documentation and other materials +* Managing code and binary releases: types, schedules, frequency, delivery + mechanisms +* Making decisions regarding dependencies of the Node.js Core project, + including what those dependencies are and how they are bundled with source + code and releases +* Creating new repositories and projects under the _nodejs_ GitHub organization + as required +* Setting overall technical direction for the Node.js Core project, including + high-level goals and low-level specifics regarding features and functionality +* Setting and maintaining appropriate standards for community discourse via the + various mediums under TSC control +* Setting and maintaining governance rules for the conduct and make-up of the + TSC, Working Groups and other bodies within the TSC's domain + +Many of these responsibilities will be delegated by the TSC to appropriate +bodies such as the Working Groups. ## TSC Members -TSC members are responsible for top level technical community concerns. The role is -mostly administrative and is responsible for admitting new Top Level Projects, Top Level -Working Groups, and advocating for any needs in the technical side of the foundation to -the Node.js Foundation Board of Directors. - -TSC members can nominate new members at any time. Candidates for membership tend to be people -who have a competancy for community management and a high tolerance and patience for process -minutiae as the TSC delegates most of its responsibilities to other projects and working groups. +TSC members are responsible for top level technical community concerns. The role +is mostly administrative and is responsible for admitting new Top Level +Projects, Top Level Working Groups, and advocating for any needs in the +technical side of the foundation to the Node.js Foundation Board of Directors. -Every Top Level Project not currently incubating can appoint someone to the TSC who they elect -at their own discretion. +Every Top Level Project not currently incubating can appoint someone to the TSC +whom they elect at their own discretion. ### Current Members -| Avatar | Information | -|---|:---| -| @rvagg | **Rod Vagg**
@rvagg
rod@vagg.org | -| @mscdex | **Brian White**
@mscdex
mscdex@mscdex.net | -| @cjihrig | **Colin Ihrig**
@cjihrig
cjihrig@gmail.com | -| @indutny | **Fedor Indutny**
@indutny
fedor.indutny@gmail.com | -| @jasnell | **James Snell**
@jasnell
jasnell@gmail.com
Board Director | -| @shigeki | **Shigeki Ohtsu**
@shigeki
ohtsu@iij.ad.jp | -| @trevnorris | **Trevor Norris**
@trevnorris
trev.norris@gmail.com | -| @joshgav | **Josh Gavant**
@joshgav
josh.gavant@gmail.com | -| @mhdawson | **Michael Dawson**
@mhdawson
michael_dawson@ca.ibm.com
Committee Chair | - -#### Emeritus Members -| Avatar | Information | -|---|:---| -| @addaleax | **Anna Henningsen**
@addaleax
anna@addaleax.net | -| @bnoordhuis | **Ben Noordhuis**
@bnoordhuis
info@bnoordhuis.nl | -| @piscisaureus | **Bert Belder**
@piscisaureus
bertbelder@gmail.com | -| @nebrius | **Bryan Hughes**
@nebrius
bryan@nebri.us | -| @fishrock123 | **Jeremiah Senkpiel**
@fishrock123
fishrock123@rocketmail.com | -| @mylesborins | **Myles Borins**
@MylesBorins
mylesborins@google.com | +* [addaleax](https://github.com/addaleax) - +**Anna Henningsen** <anna@addaleax.net> (she/her) +* [bnoordhuis](https://github.com/bnoordhuis) - +**Ben Noordhuis** <info@bnoordhuis.nl> +* [ChALkeR](https://github.com/ChALkeR) - +**Сковорода Никита Андреевич** <chalkerx@gmail.com> (he/him) +* [cjihrig](https://github.com/cjihrig) - +**Colin Ihrig** <cjihrig@gmail.com> +* [evanlucas](https://github.com/evanlucas) - +**Evan Lucas** <evanlucas@me.com> (he/him) +* [fhinkel](https://github.com/fhinkel) - +**Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> +* [Fishrock123](https://github.com/Fishrock123) - +**Jeremiah Senkpiel** <fishrock123@rocketmail.com> +* [indutny](https://github.com/indutny) - +**Fedor Indutny** <fedor.indutny@gmail.com> +* [jasnell](https://github.com/jasnell) - +**James M Snell** <jasnell@gmail.com> (he/him) +* [joshgav](https://github.com/joshgav) - +**Josh Gavant** <josh.gavant@outlook.com> +* [joyeecheung](https://github.com/joyeecheung) - +**Joyee Cheung** <joyeec9h3@gmail.com> (she/her) +* [mcollina](https://github.com/mcollina) - +**Matteo Collina** <matteo.collina@gmail.com> (he/him) +* [mhdawson](https://github.com/mhdawson) - +**Michael Dawson** <michael_dawson@ca.ibm.com> (he/him) +* [mscdex](https://github.com/mscdex) - +**Brian White** <mscdex@mscdex.net> +* [MylesBorins](https://github.com/MylesBorins) - +**Myles Borins** <myles.borins@gmail.com> (he/him) +* [ofrobots](https://github.com/ofrobots) - +**Ali Ijaz Sheikh** <ofrobots@google.com> +* [rvagg](https://github.com/rvagg) - +**Rod Vagg** <rod@vagg.org> +* [shigeki](https://github.com/shigeki) - +**Shigeki Ohtsu** <ohtsu@ohtsu.org> (he/him) +* [targos](https://github.com/targos) - +**Michaël Zasso** <targos@protonmail.com> (he/him) +* [thefourtheye](https://github.com/thefourtheye) - +**Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> (he/him) +* [trevnorris](https://github.com/trevnorris) - +**Trevor Norris** <trev.norris@gmail.com> +* [Trott](https://github.com/Trott) - +**Rich Trott** <rtrott@gmail.com> (he/him) + +### TSC Emeriti + +* [chrisdickinson](https://github.com/chrisdickinson) - +**Chris Dickinson** <christopher.s.dickinson@gmail.com> +* [isaacs](https://github.com/isaacs) - +**Isaac Z. Schlueter** <i@izs.me> +* [orangemocha](https://github.com/orangemocha) - +**Alexis Campailla** <orangemocha@nodejs.org> +* [piscisaureus](https://github.com/piscisaureus) - +**Bert Belder** <bertbelder@gmail.com> +* [nebrius](https://github.com/nebrius) - +**Bryan Hughes** <bryan@nebri.us> +* [misterdjules](https://github.com/misterdjules) - +**Julien Gilli** <jgilli@nodejs.org> ## YouTube -Many teams/groups post meeting videos to the [Node.js Foundation YouTube channel](https://www.youtube.com/c/nodejs+foundation/). +Many teams/groups post meeting videos to the +[Node.js Foundation YouTube channel][]. -Any GitHub team maintainer is allowed `Manager` access to the Google Plus account allowing -them to add/manage video content and schedule events (live broadcasts). +Any GitHub team maintainer is allowed `Manager` access to the Google Plus +account allowing them to add/manage video content and schedule events +(live broadcasts). -Members of the TSC and CTC are allowed `Owner` access to the Google Plus account. This role -can do all `Manager` activities and add/remove other members from the Google Plus account. +Members of the TSC are allowed `Owner` access to the Google Plus account. This +role can do all `Manager` activities and add/remove other members from the +Google Plus account. To request access, [open an issue](https://github.com/nodejs/TSC/issues/new). @@ -187,3 +259,9 @@ In some cases, existing individual groups have the right to refuse changes to their charters. The TSC can not mandate existing working groups alter their charters. If such a situation arises, the TSC may decide to revoke the group's charter. + +[deps]: https://github.com/nodejs/node/tree/master/deps +[tools]: https://github.com/nodejs/node/tree/master/tools +[TSC Charter]: https://github.com/nodejs/TSC/blob/master/TSC-Charter.md +[Project Lifecycle.md]: ./Project-Lifecycle.md +[Node.js Foundation YouTube channel]: https://www.youtube.com/c/nodejs+foundation/ \ No newline at end of file diff --git a/Streaming/Streaming-To-Youtube.md b/Streaming/Streaming-To-Youtube.md index 85800bf9..7a143863 100644 --- a/Streaming/Streaming-To-Youtube.md +++ b/Streaming/Streaming-To-Youtube.md @@ -62,5 +62,5 @@ However, it may turn yellow and issue a warning in a "stream health" section bel Moderation follows the [Moderation Policy](../Moderation-Policy.md). Messages can be moderated right-clicking and selecting the necessary action, such as `remove`. -During TSC and CTC meetings, there is a section of public Q&A at the end. +During TSC meetings, there is a section of public Q&A at the end. It is important to solicit for questions **well in advance** of public Q&A sections so that people have time to think of and type questions. diff --git a/WORKING_GROUPS.md b/WORKING_GROUPS.md index 798245fd..4790ca44 100644 --- a/WORKING_GROUPS.md +++ b/WORKING_GROUPS.md @@ -1,9 +1,9 @@ -# Node.js Top-Level Working Groups +# Node.js Core Working Groups -Node.js Working Groups are autonomous projects created by the -[Technical Steering Committee (TSC)](https://github.com/nodejs/TSC#the-nodejs-foundation-tsc). +Node.js Core Working Groups are autonomous projects created by the +[Technical Steering Committee (TSC)][]. -Top-Level Working Groups can be formed at any time but must be ratified by the TSC. +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 TSC. @@ -12,61 +12,19 @@ Groups are not formed to *begin* a set of tasks but instead are formed once that work is already underway and the contributors 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 into -the TSC. A Working Group can be dissolved either through consensus of the -Working Group membership or normal TSC motion and vote. +If the work defined in a Working Group's charter is complete, the charter +should be revoked. -## Process: +A Working Group's charter can be revoked either by consent of the Working +Group's members or by a TSC vote. Once revoked, any future work that arises +becomes the responsibility of the TSC. -* [Starting a Working Group](#starting-a-wg) -* [Bootstrap Governance](#bootstrap-governance) +## Joining a WG -## Current Working Groups - -NOTE: Technical Working Groups exist in the [nodejs/ctc repository](https://github.com/nodejs/ctc/blob/master/WORKING_GROUPS.md). - -## De-chartered Working Groups - -* [Inclusivity](#inclusivity) - -### [Inclusivity](https://github.com/nodejs/inclusivity) - -*Note*: The efforts and mission of the Inclusivity Working Group have been -assumed by the Node.js Foundation's [Community Committee][]. - - - -The Inclusivity Working Group seeks to increase inclusivity and diversity -for the Node.js project: - * *Increasing inclusivity* means making the Node.js project a safe and - friendly place for people from diverse backgrounds. - * *Increasing diversity* means actively onboarding people from diverse - backgrounds to the Node.js project and maintaining their participation. +To find out how to join a working group, consult the GOVERNANCE.md in +the working group's repository. -Responsibilities include: - - - -* Fostering a welcoming environment that ensures participants are valued and can -feel confident contributing or joining discussions, regardless of any [aspect of -their identity](https://github.com/nodejs/inclusivity/#list-of-responsibilities). -* Proactively seeking and proposing concrete steps the project can take to increase -inclusivity. -* Serving as a resource for the development and enforcement of workflows that -protect community members and projects from harassment and abuse. -* Acknowledging and celebrating existing diversity accomplishments within the -project while seeking to build upon them. -* Identifying ways to measure diversity and inclusivity within the project and -report them at regular intervals. - -## Starting a WG +## Starting A Core Working Group A Working Group is established by first defining a charter that can be ratified by the TC. A charter is a *statement of purpose*, a @@ -217,9 +175,7 @@ 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. +The WG follows a [Consensus Seeking][] 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 @@ -236,6 +192,8 @@ Note that changes to WG membership require unanimous consensus. See ## Developer's Certificate of Origin 1.1 +*Note*: The DCO is mandatory for all Node.js Foundation projects. + By making a contribution to this project, I certify that: * (a) The contribution was created in whole or in part by me and I @@ -272,4 +230,228 @@ The [Node.js Code of Conduct][] applies to this WG. [Node.js Moderation Policy]: https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md ``` -[Community Committee]: https://github.com/nodejs/community-committee \ No newline at end of file +[Community Committee]: https://github.com/nodejs/community-committee + +## Current Working Groups + +* [Website](#website) +* [Streams](#streams) +* [Build](#build) +* [Diagnostics](#diagnostics) +* [i18n](#i18n) +* [Docker](#docker) +* [Addon API](#addon-api) +* [Benchmarking](#benchmarking) +* [Post-mortem](#post-mortem) +* [Intl](#intl) + + +### [Website](https://github.com/nodejs/nodejs.org) + +The website Working Group's purpose is to build and maintain a public +website for the Node.js project. + +Responsibilities include: +* Developing and maintaining a build and automation system for nodejs.org. +* Ensuring the site is regularly updated with changes made to Node.js, like + releases and features. +* Fostering and enabling a community of translators. + +### [Streams](https://github.com/nodejs/readable-stream) + +The Streams Working Group is dedicated to the support and improvement of the +Streams API 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. + +Responsibilities include: +* 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. + +### [Build](https://github.com/nodejs/build) + +The Build Working Group's purpose is to create and maintain a distributed +automation infrastructure. + +Responsibilities include: +* Producing packages for all target platforms. +* Running tests. +* Running performance testing and comparisons. +* Creating and managing build-containers. + +### [Diagnostics](https://github.com/nodejs/diagnostics) + +The Diagnostics Working Group's purpose is to surface a set of comprehensive, +documented, and extensible diagnostic interfaces for use by Node.js tools and +JavaScript VMs. + +Responsibilities include: +* Collaborating with V8 to integrate `v8_inspector` into Node.js. +* Collaborating with V8 to integrate `trace_event` into Node.js. +* Collaborating with Core to refine `async_wrap` and `async_hooks`. +* Maintaining and improving OS trace system integration (e.g. ETW, LTTNG, dtrace). +* Documenting diagnostic capabilities and APIs in Node.js and its components. +* Exploring opportunities and gaps, discussing feature requests, and addressing + conflicts in Node.js diagnostics. +* Fostering an ecosystem of diagnostics tools for Node.js. + +### i18n + +The i18n Working Groups handle more than just translations. They +are endpoints for community members to collaborate with each +other in their language of choice. + +Each team is organized around a common spoken language. Each +language community might then produce multiple localizations for +various project resources. + +Responsibilities include: +* Translating any Node.js materials they believe are relevant to their + community. +* Reviewing processes for keeping translations up to date and of high quality. +* Managing and monitoring social media channels in their language. +* Promoting Node.js speakers for meetups and conferences in their language. + +Note that the i18n Working Groups are distinct from the [Intl](#Intl) Working Group. + +Each language community maintains its own membership. + +* [nodejs-ar - Arabic (اللغة العربية)](https://github.com/nodejs/nodejs-ar) +* [nodejs-bg - Bulgarian (български език)](https://github.com/nodejs/nodejs-bg) +* [nodejs-bn - Bengali (বাংলা)](https://github.com/nodejs/nodejs-bn) +* [nodejs-zh-CN - Chinese (中文)](https://github.com/nodejs/nodejs-zh-CN) +* [nodejs-cs - Czech (Český Jazyk)](https://github.com/nodejs/nodejs-cs) +* [nodejs-da - Danish (Dansk)](https://github.com/nodejs/nodejs-da) +* [nodejs-de - German (Deutsch)](https://github.com/nodejs/nodejs-de) +* [nodejs-el - Greek (Ελληνικά)](https://github.com/nodejs/nodejs-el) +* [nodejs-es - Spanish (Español)](https://github.com/nodejs/nodejs-es) +* [nodejs-fa - Persian (فارسی)](https://github.com/nodejs/nodejs-fa) +* [nodejs-fi - Finnish (Suomi)](https://github.com/nodejs/nodejs-fi) +* [nodejs-fr - French (Français)](https://github.com/nodejs/nodejs-fr) +* [nodejs-he - Hebrew (עברית)](https://github.com/nodejs/nodejs-he) +* [nodejs-hi - Hindi (फिजी बात)](https://github.com/nodejs/nodejs-hi) +* [nodejs-hu - Hungarian (Magyar)](https://github.com/nodejs/nodejs-hu) +* [nodejs-id - Indonesian (Bahasa Indonesia)](https://github.com/nodejs/nodejs-id) +* [nodejs-it - Italian (Italiano)](https://github.com/nodejs/nodejs-it) +* [nodejs-ja - Japanese (日本語)](https://github.com/nodejs/nodejs-ja) +* [nodejs-ka - Georgian (ქართული)](https://github.com/nodejs/nodejs-ka) +* [nodejs-ko - Korean (조선말)](https://github.com/nodejs/nodejs-ko) +* [nodejs-mk - Macedonian (Mакедонски)](https://github.com/nodejs/nodejs-mk) +* [nodejs-ms - Malay (بهاس ملايو)](https://github.com/nodejs/nodejs-ms) +* [nodejs-nl - Dutch (Nederlands)](https://github.com/nodejs/nodejs-nl) +* [nodejs-no - Norwegian (Norsk)](https://github.com/nodejs/nodejs-no) +* [nodejs-pl - Polish (Język Polski)](https://github.com/nodejs/nodejs-pl) +* [nodejs-pt - Portuguese (Português)](https://github.com/nodejs/nodejs-pt) +* [nodejs-ro - Romanian (Română)](https://github.com/nodejs/nodejs-ro) +* [nodejs-ru - Russian (Русский)](https://github.com/nodejs/nodejs-ru) +* [nodejs-sv - Swedish (Svenska)](https://github.com/nodejs/nodejs-sv) +* [nodejs-ta - Tamil (தமிழ்)](https://github.com/nodejs/nodejs-ta) +* [nodejs-tr - Turkish (Türkçe)](https://github.com/nodejs/nodejs-tr) +* [nodejs-zh-TW - Taiwanese (Hō-ló)](https://github.com/nodejs/nodejs-zh-TW) +* [nodejs-uk - Ukrainian (Українська)](https://github.com/nodejs/nodejs-uk) +* [nodejs-vi - Vietnamese (Tiếng Việtnam)](https://github.com/nodejs/nodejs-vi) + +### [Intl](https://github.com/nodejs/Intl) + +The Intl Working Group is dedicated to support and improvement of +Internationalization (i18n) and Localization (l10n) in Node. + +Responsibilities include: +* Ensuring functionality & compliance (standards: ECMA, Unicode…) +* Supporting Globalization and Internationalization issues that come up + in the tracker +* Communicating guidance and best practices +* Refining the existing `Intl` implementation + +The Intl Working Group is not responsible for translation of content. That is the +responsibility of the specific [i18n](#i18n) group for each language. + +### [Evangelism](https://github.com/nodejs/evangelism) + +The Evangelism Working Group promotes the accomplishments +of Node.js and lets the community know how they can get involved. + +Responsibilities include: +* Facilitating project messaging. +* Managing official project social media. +* Handling the promotion of speakers for meetups and conferences. +* Handling the promotion of community events. +* Publishing regular update summaries and other promotional + content. + +### [Docker](https://github.com/nodejs/docker-node) + +The Docker Working Group's purpose is to build, maintain, and improve official +Docker images for the Node.js project. + +Responsibilities include: +* Keeping 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 Node.js, +assisting in the writing of code that is compatible with many actively used +versions of Node.js, V8 and libuv. + +Responsibilities include: +* 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/nodejs/nan#collaborators). + +### [Benchmarking](https://github.com/nodejs/benchmarking) + +The purpose of the Benchmark Working Group is to gain consensus +on an agreed set of benchmarks that can be used to: + +* track and evangelize performance gains made between Node.js releases +* avoid performance regressions between releases + +Responsibilities include: +* Identifying 1 or more benchmarks that reflect customer usage. + Likely will need more than one to cover typical Node.js use cases + including low-latency and high concurrency +* Working to get community consensus on the list chosen +* Adding regular execution of chosen benchmarks to Node.js builds +* Tracking/publicizing performance between builds/releases + +### [Post-mortem](https://github.com/nodejs/post-mortem) + +The Post-mortem Diagnostics Working Group is dedicated to the support +and improvement of postmortem debugging for Node.js. It seeks to +elevate the role of postmortem debugging for Node, to assist in the +development of techniques and tools, and to make techniques and tools +known and available to Node.js users. + +Responsibilities include: +* Defining and adding interfaces/APIs in order to allow dumps + to be generated when needed. +* Defining and adding common structures to the dumps generated + in order to support tools that want to introspect those dumps. + + +[Technical Steering Committee (TSC)]: ./TSC-Charter.md +[Consensus Seeking]: http://en.wikipedia.org/wiki/Consensus-seeking_decision-making From 0f367d72126a81843727f934cc81ebcee80a0859 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Mon, 28 Aug 2017 10:05:36 -0700 Subject: [PATCH 2/4] [Squash] nit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 231c2a69..faf21f5e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ responsibilities as defined below. *Node.js Core* is defined as the contents of the repository located at from which the `node` executable and associated -packages are built excluding the vendored projects included in the codebase +packages are built, excluding the vendored projects included in the codebase located in the [deps][] and [tools][] directories that are copied in from externally maintained repositories. @@ -264,4 +264,4 @@ charter. [tools]: https://github.com/nodejs/node/tree/master/tools [TSC Charter]: https://github.com/nodejs/TSC/blob/master/TSC-Charter.md [Project Lifecycle.md]: ./Project-Lifecycle.md -[Node.js Foundation YouTube channel]: https://www.youtube.com/c/nodejs+foundation/ \ No newline at end of file +[Node.js Foundation YouTube channel]: https://www.youtube.com/c/nodejs+foundation/ From d33664234b84bbd1d2702f25f4446055f9c8e1a8 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Mon, 28 Aug 2017 16:01:50 -0700 Subject: [PATCH 3/4] [Squash] Nit --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index faf21f5e..86a52888 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,11 @@ is mostly administrative and is responsible for admitting new Top Level Projects, Top Level Working Groups, and advocating for any needs in the technical side of the foundation to the Node.js Foundation Board of Directors. +TSC members can nominate new members at any time. Candidates for membership tend +to be people who have a competancy for community management and a high tolerance +and patience for process minutiae as the TSC delegates most of its responsibilities +to other projects and working groups. + Every Top Level Project not currently incubating can appoint someone to the TSC whom they elect at their own discretion. From 5a0cbfdfcfaab43329a0509771315f6974681315 Mon Sep 17 00:00:00 2001 From: James M Snell Date: Mon, 28 Aug 2017 20:24:18 -0700 Subject: [PATCH 4/4] [Squash] Remove evangelism wg, this has moved to commcomm --- WORKING_GROUPS.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/WORKING_GROUPS.md b/WORKING_GROUPS.md index 4790ca44..68d32547 100644 --- a/WORKING_GROUPS.md +++ b/WORKING_GROUPS.md @@ -375,19 +375,6 @@ Responsibilities include: The Intl Working Group is not responsible for translation of content. That is the responsibility of the specific [i18n](#i18n) group for each language. -### [Evangelism](https://github.com/nodejs/evangelism) - -The Evangelism Working Group promotes the accomplishments -of Node.js and lets the community know how they can get involved. - -Responsibilities include: -* Facilitating project messaging. -* Managing official project social media. -* Handling the promotion of speakers for meetups and conferences. -* Handling the promotion of community events. -* Publishing regular update summaries and other promotional - content. - ### [Docker](https://github.com/nodejs/docker-node) The Docker Working Group's purpose is to build, maintain, and improve official