-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from nodejs/lifecycle
Umbrella Program
Showing
7 changed files
with
449 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
## Introduction | ||
|
||
The Node.js Foundation directly oversees the development of the core | ||
platform and associated working groups. The addition of top-level Projects | ||
will predictably increase the workload on the TSC and so it makes sense to | ||
transfer these responsibilities to a top-level Project concerned solely | ||
with the development of the platform. | ||
|
||
## History & Metrics | ||
|
||
Created by Ryan Dahl, now the largest programming ecosystem in the world. | ||
|
||
## Scope | ||
|
||
The Core TLP will have sole responsibility and discretion over the Node.js | ||
project in the following areas: | ||
|
||
* Setting release dates. | ||
* Release quality standards. | ||
* Technical direction. | ||
* Governance process and practices. | ||
* Contribution process and practices. | ||
* Maintaining the list of additional Collaborators. | ||
* Development process and any coding standards. | ||
* Mediating technical conflicts between Collaborators and Working Groups. | ||
* Node.js build and CI infrastructure. | ||
|
||
## Governance | ||
|
||
https://github.com/nodejs/node/blob/master/GOVERNANCE.md | ||
|
||
## Contributions | ||
|
||
https://github.com/nodejs/node/blob/master/CONTRIBUTING.md | ||
|
||
## Tools | ||
|
||
* GitHub `nodejs` org. | ||
* Uberconference & Soundcloud. | ||
* Google Hangouts & Youtube. | ||
|
||
## IP | ||
|
||
All relevant IP is managed by the Node.js Foundation. | ||
|
||
## TC Members | ||
|
||
* **Ben Noordhuis** <[email protected]> ([@bnoordhuis](https://github.com/bnoordhuis)) | ||
* **Bert Belder** <[email protected]> ([@piscisaureus](https://github.com/piscisaureus)) | ||
* **Fedor Indutny** <[email protected]> ([@indutny](https://github.com/indutny)) | ||
* **Trevor Norris** <[email protected]> ([@trevnorris](https://github.com/trevnorris)) | ||
* **Chris Dickinson** <[email protected]> ([@chrisdickinson](https://github.com/chrisdickinson)) | ||
* **Rod Vagg** <[email protected]> ([@rvagg](https://github.com/rvagg)) | ||
* **Jeremiah Senkpiel** <[email protected]> ([@fishrock123](https://github.com/fishrock123)) | ||
* **Colin Ihrig** <[email protected]> ([@cjihrig](https://github.com/cjihrig)) | ||
* **Alexis Campailla** <[email protected]> ([@orangemocha](https://github.com/orangemocha)) | ||
* **Julien Gilli** <[email protected]> ([@misterdjules](https://github.com/misterdjules)) | ||
* **James M Snell** <[email protected]> ([@jasnell](https://github.com/jasnell)) | ||
* **Shigeki Ohtsu** <[email protected]> ([@shigeki](https://github.com/shigeki)) | ||
* **Brian White** <[email protected]> ([@mscdex](https://github.com/mscdex)) | ||
|
||
## Working Groups | ||
|
||
All previously existing chartered and un-chartered working groups. | ||
|
||
## Provisional | ||
|
||
The membership is already well under the 1/4 representation limit and the | ||
project has been well established for quite a while. It should skip the | ||
incubation phase. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## Introduction | ||
|
||
## History & Metrics | ||
|
||
## Scope | ||
|
||
## Governance | ||
|
||
## Contributions | ||
|
||
## Tools | ||
|
||
## IP | ||
|
||
## TC Members | ||
|
||
## Working Groups | ||
|
||
## Provisional |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
## Introduction | ||
|
||
## History & Metrics | ||
|
||
## Scope | ||
|
||
## Governance | ||
|
||
## Contribution Process | ||
|
||
## Tools | ||
|
||
* GitHub `nodeconf` org. | ||
* Uberconference & Soundcloud | ||
|
||
## IP | ||
|
||
* NodeConf Trademark, owned by TenConf LLC (@mikeal's LLC) | ||
|
||
## TC Members | ||
|
||
## Working Groups | ||
|
||
## Requirements | ||
|
||
* Link to DCO, LICENSE, and CoC. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## Introduction | ||
|
||
## History & Metrics | ||
|
||
## Scope | ||
|
||
## Governance | ||
|
||
## Contributions | ||
|
||
## Tools | ||
|
||
## IP | ||
|
||
## TC Members | ||
|
||
## Working Groups | ||
|
||
## Provisional |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
# Node.js Foundation Project Lifecycle | ||
|
||
## Project Definition | ||
|
||
The Node.js Foundation hosts several "Top-Level Projects." These projects | ||
are autonomous from each other and governed by their own TC (Technical | ||
Committee) and chartered by the Node.js Foundation TSC. | ||
|
||
Projects are free to create "Working Groups" which are autonomous groups | ||
collaborating to fulfill a set of responsibilities. Working Groups are | ||
eventually chartered by the TC. The TSC also charters its own Working | ||
Groups. | ||
|
||
``` | ||
TSC | ||
| | ||
|-- Project A TC (Chartered By TSC) | ||
| |-- Working Group (Chartered By Project TC) | ||
| | ||
|-- Project B TC (Chartered By TSC) | ||
| |-- Working Group (Chartered By Project TC) | ||
| | ||
|-- Working Group A (Chartered by TSC) | ||
|-- Working Group B (Chartered by TSC) | ||
``` | ||
|
||
Both TLPs and TSC WGs may elect a representative to the TSC. TLPs and WGs | ||
with *incubation* status are not granted voting privileges on the TSC. | ||
|
||
## Incubation | ||
|
||
The purpose of incubation is to support and mentor projects entering the | ||
foundation. The goal is for projects to be: | ||
|
||
* Participatory | ||
* Transparent | ||
* Effective | ||
|
||
While certain processes are strongly recommended because of the TSC's | ||
experience the goal of incubation is not to enforce a specific set of | ||
processes but to ensure that the processes adopted and accepted by a | ||
project achieve these goals. Therefore, the requirements for graduating | ||
from incubation are based on metrics that demonstrate success in terms of | ||
these values. These metrics are: | ||
|
||
* TC is 5 members or greater. | ||
* No more than 1/4 of the TC is affiliated with the same employer. | ||
* Members of the TC live in at least 4 different timezones and | ||
representing no fewer than three countries. | ||
* The decision making and release process is documented and publicly accessible. | ||
|
||
A project may apply to graduate from incubation at any time by calling | ||
for a vote in the TSC. | ||
|
||
While a project is incubating it is assigned at least 3 | ||
[mentors](https://github.com/nodejs/TSC/blob/master/README.md#mentors) | ||
who are responsible for working with the project to adopt policies and | ||
gain the health and contributorship it will need in order to graduate | ||
from incubation. The mentor list is nominated and approved by the TSC and | ||
is expected to be larger than the TSC. | ||
|
||
## Lifecycle | ||
|
||
The Foundation shall encourage new Projects and innovation in the | ||
community. New Projects enter the Node.js Foundation through a | ||
[Proposal](#Proposal). | ||
|
||
The project should be considered mature and have a history of releases | ||
before applying to enter the foundation. | ||
|
||
## Top-Level Project and Working Group Requirements | ||
|
||
All TLPs and WGs are expected to operate in a transparent manner. | ||
Decisions must be made publicly through a documented public process | ||
managed by each TLP TC or WG. | ||
|
||
All TLPs and WGs must use a participatory decision making process. All | ||
TLP TCs must ensure they are accurately representing the WGs in their | ||
TLP. | ||
|
||
### Security | ||
|
||
All projects in the foundation share the same base security policy. The | ||
foundation's security team triages issues sent to [email protected]. | ||
Top-Level Projects, whether in the incubator or not, are expected to | ||
maintain a private security repository where the security team can bring | ||
project-specific issues. | ||
|
||
## Top-Level Projects | ||
|
||
All Top-Level Project TCs must follow a [Consensus | ||
Seeking](https://en.wikipedia.org/wiki/Consensus-seeking_decision-making) | ||
process and are responsible for documenting and keeping up to date their | ||
current processes and practices. | ||
|
||
Each TLP TC must elect a representative to the Node.js Foundation TSC or | ||
vote to abstain from representation on the TSC. | ||
|
||
## Applying to join | ||
|
||
A proposal to join the Node.js Foundation as a top-level Project or | ||
Working Group must include: | ||
|
||
* Introduction and project description. | ||
* Project history. | ||
* Any available metrics or even estimates about the user base, ecosystem | ||
and community. | ||
* Project scope. | ||
* Current governance process. | ||
* Current contribution process. | ||
* List of current tools in use by the project (forums, issue trackers, | ||
GitHub orgs, etc). | ||
* Existing IP Policy and relevant intellectual property (trademarks, | ||
domain names, etc). | ||
* List of initial TC members. | ||
* List of initial Working Groups. | ||
* Prior to being admitted the project: | ||
* Must include | ||
[DCO](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#developers-certificate-of-origin-10). | ||
* Must include approved license. If it is not currently under an | ||
approved license it will need to be cleared by the TSC and the Node.js | ||
Foundation Legal Committee prior to acceptance in to the incubator. | ||
* Must include a [Code of Conduct](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md#code-of-conduct). | ||
|
||
Each proposal should be sent as a pull request to this repository in the | ||
Applications directory. Proposals do not have to be complete to be | ||
submitted, the TSC can work with the authors and their respective | ||
communities in each Pull Request. | ||
|
||
### Approved Licenses | ||
|
||
At this time the foundation is only accepting projects which use an MIT, | ||
BSD, ISC or Apache2 license. | ||
|
||
### Admittance | ||
|
||
The Node.js Foundation is quite new and currently has limited resources | ||
available to mentor new projects. As such, projects are chosen for | ||
admission in groups as mentors become available. | ||
|
||
You can apply at any time and the TSC and available mentors will help | ||
improve your application while awaiting the next available approval | ||
phase. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,23 @@ | ||
# 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 information read the [TSC Charter](https://github.com/nodejs/TSC/blob/master/TSC-Charter.md). | ||
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. | ||
|
||
If your project is interested in joining the Node.js Foundation please read the [Project Lifecyle.md](./Project Lifecycle.md) documentation. | ||
|
||
## TSC Members | ||
|
||
## Top-Level WG and TLPs | ||
|
||
* Working Groups | ||
* Mentors | ||
* Top-Level Projects | ||
* Core TLP | ||
* Core WGs (streams, http, Intl) | ||
|
||
## Mentors | ||
|
||
Project mentorship is not a technical role. In fact, mentors are discouraged from giving technical advise to projects. Instead, the purpose of mentorship is to encourage and improve a projects ability to be participatory, transparent, and effective. Mentors are there to help projects adopt and iterate on policies and processes that achieve these goals and eventually allow them to graduate the incubation phase. | ||
|
||
* Mikeal Rogers (@mikeal) |
Large diffs are not rendered by default.
Oops, something went wrong.