Skip to content
This repository has been archived by the owner on Sep 2, 2023. It is now read-only.

Latest commit

 

History

History
176 lines (128 loc) · 6.91 KB

GOVERNANCE.md

File metadata and controls

176 lines (128 loc) · 6.91 KB

Modules Team

For the current list of Team members, see the project README.md.

Members

The nodejs/modules GitHub repository is maintained by the Team and additional Members who are added on an ongoing basis.

There are two types of Members:

Active Members

Observers

Team Membership

Team Membership is not time-limited. There is no fixed size of the Team.

There is no specific set of requirements or qualifications for Team Membership beyond these rules.

Changes to Team membership should be proposed with an issue and labelled modules-agenda to be included in the next team meeting. Decisions are made via the Consensus Seeking Process. If there are not objections in the issue new members may attend the meeting in which their membership is officially accepted.

If a Team member is unable to attend a meeting where a planned membership decision is being made, then their consent is assumed.

New Members to the team are initially accepted as Observers.

Observers can request to be made Active Members following the above process.

Active Members requesting to be made Observers following the above process are automatically approved by the Team and do not require consensus.

Any Member requesting to be removed from the group following the above process are automatically approved by the Team and do not require consensus.

Team Meetings

The Team meets bi-weekly on Zoom.us. A designated moderator approved by the Team runs the meeting. Each meeting should be published to YouTube.

Items are added to the Team agenda that are considered contentious or are modifications of governance, contribution policy, Team 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, Team member or the moderator can add the item to the agenda by adding the modules-agenda tag to the issue.

Prior to each Team meeting the moderator will share the agenda with members of the Team. Team members can add any items they like to the agenda at the beginning of each meeting. The moderator and the Team cannot veto or remove items.

The Team may invite persons or representatives from certain projects to participate in a non-voting capacity.

Decisions in meetings are made via the Consensus Seeking Process and require a quorum of 50% of Active Members.

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 Team 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 Team member can call for the item to be decided by a vote or to table the issue to the next meeting. In both cases the decision must be seconded by a majority of the Team or else the discussion will continue. Simple majority wins. Only Active Members participate in a vote.

Pull Requests

This section details expectations for team members involved in any pull requests that relate to the group's scope and implementation work.

The following expectations apply to all team members involved in a related pull requests in this Repository and the nodejs/ecmascript-modules fork. This section does not apply to the Node.js core repository.

These expectations are intended to ensure that all concurrent efforts align with the overall direction of the group for delivering a cohesive and predictable user experience for ECMAScript, CommonJS, and other modules supported by Node.js.

Pull requests not included under the special exemptions section below must reach consensus in a meeting in order to be merged into this repository. A pull request that is is unable to reach consensus cannot be merged into this repository.

Special Exemptions to the PR landing process

Special exception is made for pull requests seeking to make any of the following changes to this repository:

  • Errata fixes.
  • Editorial changes.
  • Meeting minutes.
  • Updates to the team lists via the ncu-sync tool.
  • Doc Fixes
  • Tests
  • Fixing Conflicts with a rebase

These pull requests may be merged without being presented at a meeting if a reasonable time is given for review and there no dissent. The time period seen as reasonable for review varies on a case by case basis as determined by the author. A member may request a specific time period for review of such a pull request not to exceed the next meeting date. If a time for review is requested, members must wait for that time period to pass or review be completed prior to that time.

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.