From 052ba9f44e7908a474a6d2077ac8460057b8d1d7 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 1 Jun 2017 15:18:52 -0400 Subject: [PATCH 01/17] doc: charter the Release and LTS working group part 1 - governance and docs for repo --- CONTRIBUTING.md | 39 +++++++++++++++ GOVERNANCE.md | 125 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 60 ++++++++++++++++++----- 3 files changed, 212 insertions(+), 12 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 GOVERNANCE.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3c467fc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,39 @@ + +## Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + + * (a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + + * (b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + + * (c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + + * (d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. + + +### Moderation Policy + +The [Node.js Moderation Policy] applies to this WG. + +### Code of Conduct + +The [Node.js Code of Conduct][] applies to this WG. + +[Node.js Code of Conduct]: https://github.com/nodejs/TSC/blob/master/CODE_OF_CONDUCT.md +[Node.js Moderation Policy]: https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md + diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000..7ca0dec --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,125 @@ +# Release and LTS Working Group + +The nodejs Release LTS project is 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: + + Technical direction + Project governance and process (including this policy) + Contribution policy + GitHub repository hosting + Conduct guidelines + Maintaining the list of additional Collaborators + +For the current list of WG members, see the project README.md. + +## Collaborators + +The benchmarking GitHub repository is maintained by the WG and additional +Collaborators who are added by the WG on an ongoing basis. + +Individuals making significant and valuable contributions are made +Collaborators and given commit-access to the project. These individuals +are identified by the WG and their addition as Collaborators is discussed +during the weekly WG meeting. + +**Note**: If you make a significant contribution and are not considered for +commit-access log an issue or contact a WG member directly and it will +be brought up in the next WG meeting. + +Modifications of the contents of the LTS and Release repository are made +on a collaborative basis. Anybody with a GitHub account may propose a +modification via pull request and it will be considered by the project +Collaborators. All pull requests must be reviewed and accepted by a +Collaborator with sufficient expertise who is able to take full responsibility +for the change. In the case of pull requests proposed by an existing +Collaborator, an additional Collaborator is required for sign-off. Consensus +should be sought if additional Collaborators participate and there is +disagreement around a particular modification. See Consensus Seeking +Process below for further detail on the consensus model used for governance. + +Collaborators may opt to elevate significant or controversial modifications, +or modifications that have not found consensus to the WG for discussion by +assigning the WG-agenda tag to a pull request or issue. The WG should serve +as the final arbiter where required. + +For the current list of Collaborators, see the project README.md. + +## WG Membership + +WG seats are not time-limited. There is no fixed size of the WG. However, +the expected target is between 6 and 12, to ensure adequate coverage of +important areas of expertise, balanced with the ability to make +decisions efficiently. + +There is no specific set of requirements or qualifications +for WG membership beyond these rules. + +The WG may add additional members to the WG by unanimous consensus. + +A WG member may be removed from the WG by voluntary resignation, +or by unanimous consensus of all other WG members. + +Changes to WG membership should be posted in the agenda, and may be +suggested as any other agenda item (see "WG Meetings" below). + +If an addition or removal is proposed during a meeting, and the full WG +is not in attendance to participate, then the addition or removal is +added to the agenda for the subsequent meeting. This is to ensure +that all members are given the opportunity to participate in all +membership decisions. If a WG member is unable to attend a meeting +where a planned membership decision is being made, +then their consent is assumed. + +No more than 1/3 of the voting WG members may be affiliated with the same +employer. If removal or resignation of a WG member, or a change of +employment by a WG member, creates a situation where more than 1/3 +of the WG membership shares an employer, then the situation must be +immediately remedied by the resignation or removal of one or more +WG members affiliated with the over-represented employer(s). + +## WG Meetings + +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 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; +that should happen continuously on GitHub and be handled +by the larger group of Collaborators. + +Any community member or contributor can ask that something be +added to the next meeting's agenda by logging a GitHub Issue. +Any Collaborator, WG member or the moderator can add the item +to the agenda by adding the WG-agenda tag to the issue. + +Prior to each WG meeting the moderator will share the Agenda with +members of the WG. WG members can add any items they like to the +agenda at the beginning of each meeting. The moderator and the WG +cannot veto or remove items. + +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 sends it as a pull request after the meeting. + +## Consensus Seeking Process + +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 consensus. + +If an agenda item cannot reach a consensus a WG member can call for either a +closing vote or a vote to table the issue to the next meeting. The call for +a vote must be seconded by a majority of the WG or else the +discussion will continue. Simple majority wins. + +Note that changes to WG membership require unanimous consensus. +See "WG Membership" above. diff --git a/README.md b/README.md index aafe054..1c279dc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Node.js Long-term Support Working Group +# Node.js Release and Long-term Support Working Group -# LTS schedule1 +## LTS schedule1 | Release | LTS Status | Codename | Active LTS Start | Maintenance Start | Maintenance End | | :--: | :---: | :---: | :---: | :---: | :---: | @@ -26,7 +26,42 @@ The LTS Schedule is available also as a [JSON][] file or [ICal][]. There is also a live [Google Calendar][] that may be subscribed to. -# LTS Plan +## Mandate + +The Release and LTS working group's purpose is: + +* Management/execution the release process for all releases. +* Maintenance of the LTS releases. + +Its responsibilities are: + +* Define the release process. +* Generate and create releases. +* Manage the LTS and Current branches including backporting changes to + these branches. + +The Release and LTS working group is structured into teams and membership in +the working group does not automatically result in membership in these +teams. These teams are: + +* Release team +* LTS team +* Backporting team + +The release team is entrusted with the secrets and CI access to be able +build and sign releases. **Additions to the release team must be approved +by the CTC.** + +The LTS team manages the process/content of LTS releases as outlined in the +LTS plan. All members of the working group are members of the LTS team unless +they do not wish to be. + +The backporting team is the team that does the ongoing work of porting +commits back to the LTS and Current branches. This team may consist of +collaborators from any of the Node.js working groups. + + +## LTS Plan New semver-major releases of Node.js are cut from `master` every six months. New even-numbered versions (e.g. v6, v8, v10, etc) are cut in April. New @@ -83,7 +118,7 @@ collaborator vote. An odd-numbered major release will cease to be actively updated when the subsequent even-numbered major release is cut. -## LTS Staging Branches +### LTS Staging Branches Every LTS major version has two branches in the GitHub repository: a release branch and a staging branch. The release branch is used to cut new releases. @@ -98,7 +133,7 @@ commits are backported for a future Node.js v4 release, those must come in the form of pull requests opened against the `v4.x-staging` branch. **Commits are only landed in the `v4.x` branch when a new `v4.x` release is being prepared.** -## Node abstraction layer +### Node abstraction layer It should be stated that the abstraction layer (currently [`NAN`][]) should support all *current* LTS releases. Given that Active LTS will overlap @@ -114,14 +149,15 @@ any given point in time, fully support a maximum of 2 LTS releases. [ICal]: schedule.ical [`NAN`]: https://github.com/nodejs/nan -## LTS Team members +## Release and LTS Team members +* Colin Ihrig [@cjhrig](https://github.com/cjihrig) +* Evan Lucas [@evanlucas](https://github.com/evanlucas) * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) -* James M Snell [@jasnell](https://github.com/jasnell) -* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) +* Italo A. Casas [@italoacasas](https://github.com/italoacasas) (release team) +* James M Snell [@jasnell](https://github.com/jasnell) (release team) +* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) (release team) * Michael Dawson [@mhdawson](https://github.com/mhdawson) -* Myles Borins [@MylesBorins](https://github.com/MylesBorins) -* Rod Vagg [@rvagg](https://github.com/rvagg) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) +* Rod Vagg [@rvagg](https://github.com/rvagg) (release team) * Sam Roberts [@sam-github](https://github.com/sam-github) - -Github team for LTS: https://github.com/orgs/nodejs/teams/lts From 47668c7f8f121a8b6f8319e2a5ed0743e69c773d Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 1 Jun 2017 15:43:29 -0400 Subject: [PATCH 02/17] squash: fix nit --- GOVERNANCE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 7ca0dec..409762f 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,6 +1,6 @@ # Release and LTS Working Group -The nodejs Release LTS project is governed by a Working Group (WG) that +The nodejs Release and LTS project is 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: From 624753d26738acafa2066b52eea3924d8209e84b Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Tue, 6 Jun 2017 17:59:32 -0400 Subject: [PATCH 03/17] squash: update based on discussion in last LTS meeting --- GOVERNANCE.md | 43 +++++++++++++++++++++----------------- README.md | 57 +++++++++++++++++++++++++++++++++++---------------- 2 files changed, 63 insertions(+), 37 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 409762f..724c773 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,22 +1,23 @@ -# Release and LTS Working Group +# Release Working Group -The nodejs Release and LTS project is governed by a Working Group (WG) that -is responsible for high-level guidance of the project. +The Node.js Release Working Group (WG) maintains oversight +over the Node.js Release and Long Term Support (LTS) teams. It +manages the release and long term support shedule and policies +for all Node.js releases. -The WG has final authority over this project including: +The WG has final authority over Releases including: - Technical direction - Project governance and process (including this policy) - Contribution policy - GitHub repository hosting - Conduct guidelines - Maintaining the list of additional Collaborators +* Release process and tools. +* Content for all releases. +* Schedule for all release. +* Contribution policy for the Release repository. +* Conduct guidelines for the Working group. For the current list of WG members, see the project README.md. ## Collaborators -The benchmarking GitHub repository is maintained by the WG and additional +The Release GitHub repository is maintained by the WG and additional Collaborators who are added by the WG on an ongoing basis. Individuals making significant and valuable contributions are made @@ -28,7 +29,7 @@ during the weekly WG meeting. commit-access log an issue or contact a WG member directly and it will be brought up in the next WG meeting. -Modifications of the contents of the LTS and Release repository are made +Modifications of the contents of the Release repository are made on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the project Collaborators. All pull requests must be reviewed and accepted by a @@ -48,10 +49,7 @@ For the current list of Collaborators, see the project README.md. ## WG Membership -WG seats are not time-limited. There is no fixed size of the WG. However, -the expected target is between 6 and 12, to ensure adequate coverage of -important areas of expertise, balanced with the ability to make -decisions efficiently. +WG seats are not time-limited. There is no fixed size of the WG. There is no specific set of requirements or qualifications for WG membership beyond these rules. @@ -59,7 +57,9 @@ for WG membership beyond these rules. The WG may add additional members to the WG by unanimous consensus. A WG member may be removed from the WG by voluntary resignation, -or by unanimous consensus of all other WG members. +or by unanimous consensus of all other WG members. If a member is +removed from the WG then they are also removed from all WG teams +(including the Releasers team). Changes to WG membership should be posted in the agenda, and may be suggested as any other agenda item (see "WG Meetings" below). @@ -81,10 +81,15 @@ WG members affiliated with the over-represented employer(s). ## WG Meetings -The WG meets weekly on a Google Hangout On Air. A designated moderator -approved by the WG runs the meeting. Each meeting should be +The WG meets every 3 weeks on a Google Hangout On Air. One of the +WG members will volunteer to act as the moderator for each meeting +subject to agreement from the rest of the members. Each meeting should be published to YouTube. +Members of the `releasers` sub-team are not required to attend +the WG meetings and maintain their WG membership simply by +participating in the release process. + Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, WG membership, or release process. diff --git a/README.md b/README.md index 1c279dc..ea6a088 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Node.js Release and Long-term Support Working Group +# Node.js Release Working Group -## LTS schedule1 +## Release schedule1 | Release | LTS Status | Codename | Active LTS Start | Maintenance Start | Maintenance End | | :--: | :---: | :---: | :---: | :---: | :---: | @@ -23,43 +23,43 @@

LTS Schedule

-The LTS Schedule is available also as a [JSON][] file or [ICal][]. There is +The Release schedule is available also as a [JSON][] file or [ICal][]. There is also a live [Google Calendar][] that may be subscribed to. ## Mandate -The Release and LTS working group's purpose is: +The Release working group's purpose is: -* Management/execution the release process for all releases. +* Management/execution of the release process for all releases. * Maintenance of the LTS releases. Its responsibilities are: * Define the release process. +* Define the content for releases. * Generate and create releases. * Manage the LTS and Current branches including backporting changes to these branches. -The Release and LTS working group is structured into teams and membership in +The Release working group is structured into teams and membership in the working group does not automatically result in membership in these teams. These teams are: * Release team -* LTS team -* Backporting team +* Releasers team +* CITGM team -The release team is entrusted with the secrets and CI access to be able -build and sign releases. **Additions to the release team must be approved +The `releasers` team is entrusted with the secrets and CI access to be able +build and sign releases. **Additions to the releasers team must be approved by the CTC.** -The LTS team manages the process/content of LTS releases as outlined in the -LTS plan. All members of the working group are members of the LTS team unless +The release team manages the process/content of releases. +All members of the working group are members of the release team unless they do not wish to be. -The backporting team is the team that does the ongoing work of porting -commits back to the LTS and Current branches. This team may consist of -collaborators from any of the Node.js working groups. - +The CITGM team maintains CITGM as one of the key sanity checks for releases. +This team maintains the CITGM implementation and works to keep CITGM +builds running and passing regularly. ## LTS Plan @@ -149,8 +149,7 @@ any given point in time, fully support a maximum of 2 LTS releases. [ICal]: schedule.ical [`NAN`]: https://github.com/nodejs/nan -## Release and LTS Team members - +## Release Team members * Colin Ihrig [@cjhrig](https://github.com/cjihrig) * Evan Lucas [@evanlucas](https://github.com/evanlucas) * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) @@ -161,3 +160,25 @@ any given point in time, fully support a maximum of 2 LTS releases. * Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) * Rod Vagg [@rvagg](https://github.com/rvagg) (release team) * Sam Roberts [@sam-github](https://github.com/sam-github) +* George Adams [George Adams](https://github.com/gdams) +* Bartosz Sosnowski [Bartosz Sosnowski](https://github.com/bzoz) +* Richard Lau [Richard Lau](https://github.com/richardlau) +* MichaëZasso [MichaëZasso](https://github.com/targos) +* Bryan English [Bryan English](https://github.com/bengl) + +### Releasers team +* Italo A. Casas [@italoacasas](https://github.com/italoacasas) (release team) +* James M Snell [@jasnell](https://github.com/jasnell) (release team) +* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) (release team) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) +* Rod Vagg [@rvagg](https://github.com/rvagg) (release team) + +### CITGM team +* James M Snell [@jasnell](https://github.com/jasnell) (release team) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) +* Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) +* George Adams [George Adams](https://github.com/gdams) +* Bartosz Sosnowski [Bartosz Sosnowski](https://github.com/bzoz) +* Richard Lau [Richard Lau](https://github.com/richardlau) +* MichaëZasso [MichaëZasso](https://github.com/targos) +* Bryan English [Bryan English](https://github.com/bengl) From cf51ecce0d90328f2cc817fed018ee732e62ada2 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 7 Jun 2017 11:58:41 -0400 Subject: [PATCH 04/17] squash: fix up naming of teams --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ea6a088..0bcabb6 100644 --- a/README.md +++ b/README.md @@ -45,17 +45,16 @@ The Release working group is structured into teams and membership in the working group does not automatically result in membership in these teams. These teams are: -* Release team * Releasers team +* LTS team * CITGM team The `releasers` team is entrusted with the secrets and CI access to be able build and sign releases. **Additions to the releasers team must be approved by the CTC.** -The release team manages the process/content of releases. -All members of the working group are members of the release team unless -they do not wish to be. +The Long Terms Support (LTS) team manages the process/content of LTS releases +and the required backporting for these releases. The CITGM team maintains CITGM as one of the key sanity checks for releases. This team maintains the CITGM implementation and works to keep CITGM From ff490302ef5759f52971d2476f922e675565b96d Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 7 Jun 2017 12:01:56 -0400 Subject: [PATCH 05/17] squash: make all teams separate lists --- README.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 0bcabb6..55ab623 100644 --- a/README.md +++ b/README.md @@ -148,22 +148,13 @@ any given point in time, fully support a maximum of 2 LTS releases. [ICal]: schedule.ical [`NAN`]: https://github.com/nodejs/nan -## Release Team members -* Colin Ihrig [@cjhrig](https://github.com/cjihrig) -* Evan Lucas [@evanlucas](https://github.com/evanlucas) +## LTS Team members * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) -* Italo A. Casas [@italoacasas](https://github.com/italoacasas) (release team) -* James M Snell [@jasnell](https://github.com/jasnell) (release team) -* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) (release team) +* James M Snell [@jasnell](https://github.com/jasnell) +* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) * Michael Dawson [@mhdawson](https://github.com/mhdawson) -* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) -* Rod Vagg [@rvagg](https://github.com/rvagg) (release team) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) * Sam Roberts [@sam-github](https://github.com/sam-github) -* George Adams [George Adams](https://github.com/gdams) -* Bartosz Sosnowski [Bartosz Sosnowski](https://github.com/bzoz) -* Richard Lau [Richard Lau](https://github.com/richardlau) -* MichaëZasso [MichaëZasso](https://github.com/targos) -* Bryan English [Bryan English](https://github.com/bengl) ### Releasers team * Italo A. Casas [@italoacasas](https://github.com/italoacasas) (release team) From 5ec8727f0797ef86ca915aa1cfe97a705888d583 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 7 Jun 2017 13:53:45 -0400 Subject: [PATCH 06/17] squash: address next comments --- GOVERNANCE.md | 6 +++--- README.md | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 724c773..c96f27b 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -9,7 +9,7 @@ The WG has final authority over Releases including: * Release process and tools. * Content for all releases. -* Schedule for all release. +* Schedule for all releases. * Contribution policy for the Release repository. * Conduct guidelines for the Working group. @@ -26,7 +26,7 @@ are identified by the WG and their addition as Collaborators is discussed during the weekly WG meeting. **Note**: If you make a significant contribution and are not considered for -commit-access log an issue or contact a WG member directly and it will +commit-access, log an issue or contact a WG member directly and it will be brought up in the next WG meeting. Modifications of the contents of the Release repository are made @@ -88,7 +88,7 @@ published to YouTube. Members of the `releasers` sub-team are not required to attend the WG meetings and maintain their WG membership simply by -participating in the release process. +participating in the release process at least once a year. Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, diff --git a/README.md b/README.md index 55ab623..abdc7ce 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ The `releasers` team is entrusted with the secrets and CI access to be able build and sign releases. **Additions to the releasers team must be approved by the CTC.** -The Long Terms Support (LTS) team manages the process/content of LTS releases +The Long Term Support (LTS) team manages the process/content of LTS releases and the required backporting for these releases. The CITGM team maintains CITGM as one of the key sanity checks for releases. @@ -150,22 +150,24 @@ any given point in time, fully support a maximum of 2 LTS releases. ## LTS Team members * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) -* James M Snell [@jasnell](https://github.com/jasnell) -* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) +* James M Snell [@jasnell](https://github.com/jasnell) +* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) * Michael Dawson [@mhdawson](https://github.com/mhdawson) -* Myles Borins [@MylesBorins](https://github.com/MylesBorins) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) * Sam Roberts [@sam-github](https://github.com/sam-github) ### Releasers team -* Italo A. Casas [@italoacasas](https://github.com/italoacasas) (release team) +* Colin Ihrig [@cjhrig](https://github.com/cjihrig) +* Evan Lucas [@evanlucas](https://github.com/evanlucas) +* Italo A. Casas [@italoacasas](https://github.com/italoacasas) * James M Snell [@jasnell](https://github.com/jasnell) (release team) -* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) (release team) -* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) -* Rod Vagg [@rvagg](https://github.com/rvagg) (release team) +* Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) +* Rod Vagg [@rvagg](https://github.com/rvagg) ### CITGM team -* James M Snell [@jasnell](https://github.com/jasnell) (release team) -* Myles Borins [@MylesBorins](https://github.com/MylesBorins) (release team) +* James M Snell [@jasnell](https://github.com/jasnell) +* Myles Borins [@MylesBorins](https://github.com/MylesBorins) * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) * George Adams [George Adams](https://github.com/gdams) * Bartosz Sosnowski [Bartosz Sosnowski](https://github.com/bzoz) From 245b46b19377631cd26dfdd6c0fafdd13f686e1b Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Mon, 19 Jun 2017 11:28:15 -0400 Subject: [PATCH 07/17] squash: address next set of comments --- GOVERNANCE.md | 5 ++--- README.md | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index c96f27b..ea61587 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -17,7 +17,8 @@ For the current list of WG members, see the project README.md. ## Collaborators -The Release GitHub repository is maintained by the WG and additional +The Release GitHub repository is maintained by the WG (all WG +members are Collaborators for the Release respository) and additional Collaborators who are added by the WG on an ongoing basis. Individuals making significant and valuable contributions are made @@ -45,8 +46,6 @@ or modifications that have not found consensus to the WG for discussion by assigning the WG-agenda tag to a pull request or issue. The WG should serve as the final arbiter where required. -For the current list of Collaborators, see the project README.md. - ## WG Membership WG seats are not time-limited. There is no fixed size of the WG. diff --git a/README.md b/README.md index abdc7ce..e45f347 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Given this schedule, there will be no more than two active LTS releases at any given time, overlapping for a maximum period of six months. Once a major version enters LTS coverage, new features (semver-minor) may only -be landed with consent of the CTC and the LTS Working Group. No semver-major +be landed with consent of the the Release working group. No semver-major changes other than those required for critical security fixes may be landed. Changes in an LTS-covered major version are limited to: @@ -100,7 +100,7 @@ Changes in an LTS-covered major version are limited to: Generally changes are expected to live in a *Current* release for at least 2 weeks before being backported. It is possible for a commit to land earlier at -the discretion of the LTS Working Group and the maintainers of the LTS branches. +the discretion of the Release working group and the maintainers of the LTS branches. Once a release moves into Maintenance mode, only ***critical*** bugs, ***critical*** security fixes, and documentation updates will be permitted. @@ -110,8 +110,8 @@ Note that while it is possible that critical security and bug fixes may lead to rare and will land as *semver-minor* bumps in the LTS covered version. All LTS releases will be assigned a "codename" drawn from the names of elements -on the Periodic Table of Elements. For each upcoming LTS release, the LTS -Working Group will select a handful of candidate names and submit those for a +on the Periodic Table of Elements. For each upcoming LTS release, the Release +working group will select a handful of candidate names and submit those for a collaborator vote. An odd-numbered major release will cease to be actively updated when the @@ -148,6 +148,9 @@ any given point in time, fully support a maximum of 2 LTS releases. [ICal]: schedule.ical [`NAN`]: https://github.com/nodejs/nan +The working group members are the union of the LTS, Releasers +and CITGM team members listed below. + ## LTS Team members * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) * James M Snell [@jasnell](https://github.com/jasnell) @@ -160,7 +163,7 @@ any given point in time, fully support a maximum of 2 LTS releases. * Colin Ihrig [@cjhrig](https://github.com/cjihrig) * Evan Lucas [@evanlucas](https://github.com/evanlucas) * Italo A. Casas [@italoacasas](https://github.com/italoacasas) -* James M Snell [@jasnell](https://github.com/jasnell) (release team) +* James M Snell [@jasnell](https://github.com/jasnell) * Jeremiah Senkpiel [@Fishrock123](https://github.com/Fishrock123) * Myles Borins [@MylesBorins](https://github.com/MylesBorins) * Rod Vagg [@rvagg](https://github.com/rvagg) From d972b76b6bd0efb05bf3f7a004352c33deb3a553 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 22 Jun 2017 09:30:19 -0400 Subject: [PATCH 08/17] squash: address comments --- GOVERNANCE.md | 8 ++++---- README.md | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index ea61587..fb66c4e 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -1,9 +1,9 @@ # Release Working Group The Node.js Release Working Group (WG) maintains oversight -over the Node.js Release and Long Term Support (LTS) teams. It -manages the release and long term support shedule and policies -for all Node.js releases. +over the Node.js Release, Long Term Support (LTS) and +Canary in the Gold Mine (CITGM) teams. It manages the release +and long term support shedule and policies for all Node.js releases. The WG has final authority over Releases including: @@ -31,7 +31,7 @@ commit-access, log an issue or contact a WG member directly and it will be brought up in the next WG meeting. Modifications of the contents of the Release repository are made -on a collaborative basis. Anybody with a GitHub account may propose a +on a collaborative basis. Anybody with a GitHub account may propose a modification via pull request and it will be considered by the project Collaborators. All pull requests must be reviewed and accepted by a Collaborator with sufficient expertise who is able to take full responsibility diff --git a/README.md b/README.md index e45f347..313e9de 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ also a live [Google Calendar][] that may be subscribed to. The Release working group's purpose is: * Management/execution of the release process for all releases. -* Maintenance of the LTS releases. Its responsibilities are: @@ -40,6 +39,7 @@ Its responsibilities are: * Generate and create releases. * Manage the LTS and Current branches including backporting changes to these branches. +* Define the policy for what gets backported to release streams. The Release working group is structured into teams and membership in the working group does not automatically result in membership in these @@ -50,15 +50,15 @@ teams. These teams are: * CITGM team The `releasers` team is entrusted with the secrets and CI access to be able -build and sign releases. **Additions to the releasers team must be approved +build and sign releases. **Additions to the releasers team must be approved by the CTC.** The Long Term Support (LTS) team manages the process/content of LTS releases and the required backporting for these releases. -The CITGM team maintains CITGM as one of the key sanity checks for releases. -This team maintains the CITGM implementation and works to keep CITGM -builds running and passing regularly. +The Canary in the Gold Mine (CITGM) team maintains CITGM as one of +the key sanity checks for releases. This team maintains the CITGM +implementation and works to keep CITGM builds running and passing regularly. ## LTS Plan From 01c3c72836637a20c9b080a227a1c06cc637c7a2 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Mon, 26 Jun 2017 18:55:10 -0400 Subject: [PATCH 09/17] squash: address comments --- GOVERNANCE.md | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index fb66c4e..35e2049 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -3,7 +3,7 @@ The Node.js Release Working Group (WG) maintains oversight over the Node.js Release, Long Term Support (LTS) and Canary in the Gold Mine (CITGM) teams. It manages the release -and long term support shedule and policies for all Node.js releases. +and long term support schedule and policies for all Node.js releases. The WG has final authority over Releases including: @@ -18,7 +18,7 @@ For the current list of WG members, see the project README.md. ## Collaborators The Release GitHub repository is maintained by the WG (all WG -members are Collaborators for the Release respository) and additional +members are Collaborators for the Release repository) and additional Collaborators who are added by the WG on an ongoing basis. Individuals making significant and valuable contributions are made @@ -27,7 +27,7 @@ are identified by the WG and their addition as Collaborators is discussed during the weekly WG meeting. **Note**: If you make a significant contribution and are not considered for -commit-access, log an issue or contact a WG member directly and it will +commit access, log an issue or contact a WG member directly and it will be brought up in the next WG meeting. Modifications of the contents of the Release repository are made diff --git a/README.md b/README.md index 313e9de..ed622ef 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ The Release working group's purpose is: Its responsibilities are: * Define the release process. -* Define the content for releases. +* Define the content of releases. * Generate and create releases. * Manage the LTS and Current branches including backporting changes to these branches. From 9f5348d02ef95832625073ca816dae448c684c17 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 5 Jul 2017 09:31:27 -0400 Subject: [PATCH 10/17] squash: address next set of comments --- GOVERNANCE.md | 4 ++++ README.md | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 35e2049..7436a61 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -89,6 +89,10 @@ Members of the `releasers` sub-team are not required to attend the WG meetings and maintain their WG membership simply by participating in the release process at least once a year. +Members of the `CITGM` sub-team are not required to attend +the WG meetings and maintain their WG membership simply by +participating in the CITGM repository at least once a year. + Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, WG membership, or release process. diff --git a/README.md b/README.md index ed622ef..c83185d 100644 --- a/README.md +++ b/README.md @@ -172,8 +172,8 @@ and CITGM team members listed below. * James M Snell [@jasnell](https://github.com/jasnell) * Myles Borins [@MylesBorins](https://github.com/MylesBorins) * Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) -* George Adams [George Adams](https://github.com/gdams) -* Bartosz Sosnowski [Bartosz Sosnowski](https://github.com/bzoz) -* Richard Lau [Richard Lau](https://github.com/richardlau) -* MichaëZasso [MichaëZasso](https://github.com/targos) -* Bryan English [Bryan English](https://github.com/bengl) +* George Adams [@gdams](https://github.com/gdams) +* Bartosz Sosnowski [@bzoz](https://github.com/bzoz) +* Richard Lau [@richardlau](https://github.com/richardlau) +* Michaël Zasso* [@targos](https://github.com/targos)) +* Bryan English [@bengl](https://github.com/bengl) From 4de70d7e84e0febc8ba286ff0125d04ef91a854a Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Wed, 5 Jul 2017 09:37:03 -0400 Subject: [PATCH 11/17] squash: more fixup --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c83185d..b55c5e4 100644 --- a/README.md +++ b/README.md @@ -175,5 +175,5 @@ and CITGM team members listed below. * George Adams [@gdams](https://github.com/gdams) * Bartosz Sosnowski [@bzoz](https://github.com/bzoz) * Richard Lau [@richardlau](https://github.com/richardlau) -* Michaël Zasso* [@targos](https://github.com/targos)) +* Michaël Zasso [@targos](https://github.com/targos) * Bryan English [@bengl](https://github.com/bengl) From 2e89ab5fd36fd770a233619626bf001cb0980ea0 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 6 Jul 2017 14:24:16 -0400 Subject: [PATCH 12/17] squash: address comments --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b55c5e4..4b73e94 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Given this schedule, there will be no more than two active LTS releases at any given time, overlapping for a maximum period of six months. Once a major version enters LTS coverage, new features (semver-minor) may only -be landed with consent of the the Release working group. No semver-major +be landed with consent of the Release working group. No semver-major changes other than those required for critical security fixes may be landed. Changes in an LTS-covered major version are limited to: From 7b5ffcda55178056177d0344743af5321abb4d9f Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Fri, 14 Jul 2017 11:20:32 -0400 Subject: [PATCH 13/17] squash: address comments --- GOVERNANCE.md | 6 +++--- README.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 7436a61..c55c838 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -2,7 +2,7 @@ The Node.js Release Working Group (WG) maintains oversight over the Node.js Release, Long Term Support (LTS) and -Canary in the Gold Mine (CITGM) teams. It manages the release +Canary in the Gold Mine (CitGM) teams. It manages the release and long term support schedule and policies for all Node.js releases. The WG has final authority over Releases including: @@ -89,9 +89,9 @@ Members of the `releasers` sub-team are not required to attend the WG meetings and maintain their WG membership simply by participating in the release process at least once a year. -Members of the `CITGM` sub-team are not required to attend +Members of the `CitGM` sub-team are not required to attend the WG meetings and maintain their WG membership simply by -participating in the CITGM repository at least once a year. +participating in the CitGM repository at least once a year. Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, diff --git a/README.md b/README.md index 4b73e94..4e11b67 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ | 9.x |No LTS | | | | | | 10.x |**Pending** | Pending | October 2018 | April 2020 | April 2021 | -* 1: All scheduled dates are subject to change by the Node.js LTS +* 1: All scheduled dates are subject to change by the Node.js Release working group or Node.js Core Technical Committee. * 2: The 8.x *Maintenance* LTS cycle is currently scheduled to expire early on December 31, 2019 to align with the scheduled End-of-Life of @@ -58,9 +58,9 @@ and the required backporting for these releases. The Canary in the Gold Mine (CITGM) team maintains CITGM as one of the key sanity checks for releases. This team maintains the CITGM -implementation and works to keep CITGM builds running and passing regularly. +repository and works to keep CITGM builds running and passing regularly. -## LTS Plan +## Release Plan New semver-major releases of Node.js are cut from `master` every six months. New even-numbered versions (e.g. v6, v8, v10, etc) are cut in April. New From 4eabe3b3a0d186a2e033735953664c1ddb9222da Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Tue, 18 Jul 2017 13:48:03 -0400 Subject: [PATCH 14/17] squash: address comments --- GOVERNANCE.md | 18 ++++++------------ README.md | 18 +++++++++++------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index c55c838..e99e59e 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -12,6 +12,7 @@ The WG has final authority over Releases including: * Schedule for all releases. * Contribution policy for the Release repository. * Conduct guidelines for the Working group. +* Administration of Long Term Support policy for all releases. For the current list of WG members, see the project README.md. @@ -24,7 +25,7 @@ Collaborators who are added by the WG on an ongoing basis. Individuals making significant and valuable contributions are made Collaborators and given commit-access to the project. These individuals are identified by the WG and their addition as Collaborators is discussed -during the weekly WG meeting. +during the WG meeting. **Note**: If you make a significant contribution and are not considered for commit access, log an issue or contact a WG member directly and it will @@ -53,7 +54,9 @@ WG seats are not time-limited. There is no fixed size of the WG. There is no specific set of requirements or qualifications for WG membership beyond these rules. -The WG may add additional members to the WG by unanimous consensus. +The WG may add additional members to the WG by unanimous consensus(defined +as no objections, more than 50% of the members participating in the +discussion, and all those participating in the discussion agreeing). A WG member may be removed from the WG by voluntary resignation, or by unanimous consensus of all other WG members. If a member is @@ -85,14 +88,6 @@ WG members will volunteer to act as the moderator for each meeting subject to agreement from the rest of the members. Each meeting should be published to YouTube. -Members of the `releasers` sub-team are not required to attend -the WG meetings and maintain their WG membership simply by -participating in the release process at least once a year. - -Members of the `CitGM` sub-team are not required to attend -the WG meetings and maintain their WG membership simply by -participating in the CitGM repository at least once a year. - Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, WG membership, or release process. @@ -108,8 +103,7 @@ to the agenda by adding the WG-agenda tag to the issue. Prior to each WG meeting the moderator will share the Agenda with members of the WG. WG members can add any items they like to the -agenda at the beginning of each meeting. The moderator and the WG -cannot veto or remove items. +agenda at the beginning of each meeting. The WG may invite persons or representatives from certain projects to participate in a non-voting capacity. diff --git a/README.md b/README.md index 4e11b67..c26887b 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,14 @@ also a live [Google Calendar][] that may be subscribed to. The Release working group's purpose is: -* Management/execution of the release process for all releases. +* Management/execution of the release and support process for all releases. Its responsibilities are: * Define the release process. * Define the content of releases. * Generate and create releases. +* Test Releases * Manage the LTS and Current branches including backporting changes to these branches. * Define the policy for what gets backported to release streams. @@ -54,11 +55,14 @@ build and sign releases. **Additions to the releasers team must be approved by the CTC.** The Long Term Support (LTS) team manages the process/content of LTS releases -and the required backporting for these releases. +and the required backporting for these releases. Additions to the LTS +team needs sign off from the rest of the LTS team. The Canary in the Gold Mine (CITGM) team maintains CITGM as one of the key sanity checks for releases. This team maintains the CITGM repository and works to keep CITGM builds running and passing regularly. +This also includes maintaining the CI jobs in collaboration with the Build +Working Group. ## Release Plan @@ -169,11 +173,11 @@ and CITGM team members listed below. * Rod Vagg [@rvagg](https://github.com/rvagg) ### CITGM team +* Bartosz Sosnowski [@bzoz](https://github.com/bzoz) +* Bryan English [@bengl](https://github.com/bengl) +* George Adams [@gdams](https://github.com/gdams) +* Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) * James M Snell [@jasnell](https://github.com/jasnell) +* Michaël Zasso [@targos](https://github.com/targos) * Myles Borins [@MylesBorins](https://github.com/MylesBorins) -* Gibson Fahnestock [@gibfahn](https://github.com/gibfahn) -* George Adams [@gdams](https://github.com/gdams) -* Bartosz Sosnowski [@bzoz](https://github.com/bzoz) * Richard Lau [@richardlau](https://github.com/richardlau) -* Michaël Zasso [@targos](https://github.com/targos) -* Bryan English [@bengl](https://github.com/bengl) From 43c6d3422d5be2b01adb188c58149847ba1247f3 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 3 Aug 2017 11:00:11 -0400 Subject: [PATCH 15/17] squash: address comments --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c26887b..7e5ce85 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,7 @@ and CITGM team members listed below. * Sam Roberts [@sam-github](https://github.com/sam-github) ### Releasers team -* Colin Ihrig [@cjhrig](https://github.com/cjihrig) +* Colin Ihrig [@cjihrig](https://github.com/cjihrig) * Evan Lucas [@evanlucas](https://github.com/evanlucas) * Italo A. Casas [@italoacasas](https://github.com/italoacasas) * James M Snell [@jasnell](https://github.com/jasnell) From 3e0022abd632e0f2e5212a06c4eba214a9298464 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 17 Aug 2017 09:59:16 -0400 Subject: [PATCH 16/17] squash: address comments --- GOVERNANCE.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index e99e59e..117adda 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -23,9 +23,9 @@ members are Collaborators for the Release repository) and additional Collaborators who are added by the WG on an ongoing basis. Individuals making significant and valuable contributions are made -Collaborators and given commit-access to the project. These individuals -are identified by the WG and their addition as Collaborators is discussed -during the WG meeting. +Collaborators and given commit-access to the Release repository. +These individuals are identified by the WG and their addition +as Collaborators is discussed during the WG meeting. **Note**: If you make a significant contribution and are not considered for commit access, log an issue or contact a WG member directly and it will @@ -83,10 +83,10 @@ WG members affiliated with the over-represented employer(s). ## WG Meetings -The WG meets every 3 weeks on a Google Hangout On Air. One of the -WG members will volunteer to act as the moderator for each meeting -subject to agreement from the rest of the members. Each meeting should be -published to YouTube. +The WG meets regularly, check the foundation calendar for details. +One of the WG members will volunteer to act as the moderator +for each meeting subject to agreement from the rest of the +members. Each meeting should be published to YouTube. Items are added to the WG agenda that are considered contentious or are modifications of governance, contribution policy, From 2a6c46a4651a933c8faced13b4e52e771c32ace0 Mon Sep 17 00:00:00 2001 From: Michael Dawson Date: Thu, 24 Aug 2017 17:34:51 -0400 Subject: [PATCH 17/17] squash: address comments --- GOVERNANCE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 117adda..db9c737 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -54,7 +54,7 @@ WG seats are not time-limited. There is no fixed size of the WG. There is no specific set of requirements or qualifications for WG membership beyond these rules. -The WG may add additional members to the WG by unanimous consensus(defined +The WG may add additional members to the WG by consensus(defined as no objections, more than 50% of the members participating in the discussion, and all those participating in the discussion agreeing).