Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Latest commit

 

History

History
88 lines (59 loc) · 3.94 KB

TSC-Project-Lifecycle.md

File metadata and controls

88 lines (59 loc) · 3.94 KB

DRAFT for Public Comment

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 TSC (Technical Steering Committee) and chartered by the Node.js Foundation's Board of Directors.

Projects are free to create "Working Groups" which are autonomus groups collaborating to fulfill a set of responsibilities. Working Groups are eventually chartered by the TSC.

Board
  |
  |-- Project A (Chartered By Board)
  |       |
  |       |-- TSC
  |       |-- Working Group (Chartered By Project TSC)
  |
  |-- Project B (Chartered By Board)
          |
          |-- TSC
          |-- Working Group (Chartered By Project TSC)  

Lifecycle

The Foundation shall encourage new Projects and innovation in the community. New Projects enter the Node.js Foundation through a Proposal. The proposal should include their TSC Charter and Development Policy.

Project should have some prior history and be considered mature and contain a wide contributorship before submitting a proposal to enter the foundation.

Project Life-Cycle

State Description
null Prior to being considered for the foundation the project should mature elsewhere and achieve a wide contributorship.
Accepted Project is accepted into the foundation. It is entitled to the resources contained in its proposal and can form Working Groups.

Project state transitions

From State To State Review
Proposal Mature Proposal Review
Mature Core Core Review
Proposal, Bootstrap, Mature, Core Archived Archive Review

Working Group Life-Cycle

Before a WG is chartered it must first incubate in some manner.

If a WG needs to start in the project members are free to create a repository and begin regular meetings using the free tools available to all project members. During this period the WG is unchartered and in the "Bootstrap" cycle and is not entitled to any financial or legal resources of the foundation and can be closed at any time by the TSC. Once the WG matures it should write a proposal for the TSC to approval so the WG can move to the "Mature" phase once approved.

It is also common for Working Groups to incubate and mature outside the project. These Working Groups do not need to incubate within the project itself and instead should write a proposal for the TSC to approve and move directly to the "Mature" phase.

Working Groups shall change state following TSC reviews. WGs typically change states independently from each other, but can cooperate closely and leverage each other’s results. Projects graduate from Proposal-state, to Mature-state and finally to Core-state. Archived–state is a Project state reserved for those Projects no longer being actively developed or used by the community.

State Description
Incubation WG has not been approved and is unchartered. Project does not formally exist yet, may not have real resources (yet), but is being worked on by the community.
Proposal WG proposal is posted and under review.
Mature WG is fully functioning but is not a required component of the platform.
Core WG is a required component of the Node.js platform.
Archived WG has been recognized as no longer being actively used or developed. This could be for a variety of reasons, e.g. WG successfully accomplished its goals but is no longer used, project failed, etc., and has been archived as it's no longer a going concern.

WG state transitions

From State To State Review
Proposal Mature Proposal Review
Mature Core Core Review
Proposal, Bootstrap, Mature, Core Archived Archive Review

Reviews

Project Proposal Review

TODO

Working Group Proposal Review

TODO

WG Core Review

TODO

WG Termination Review

TODO