Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta: github organization management policy #219

Merged
merged 1 commit into from
Sep 18, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions Github-Org-Management-Policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Node.js GitHub Organization Management Policy

The Node.js Foundation Github Organization (https://github.com/nodejs) is
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: GitHub

provided as a development resource by the Node.js Foundation under the
joint operational direction of the Node.js Technical Steering Committee (TSC)
and Node.js Foundation Community Committee (CommComm).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we're listing out owners, I believe this should be "Node.js Technical Steering Committee (TSC), Node.js Foundation Community Committee (CommComm), and the Node.js Foundation Board," since there are a few repos (nodejs/board, nodejs/live.nodejs.org, others?) that are directly operated by the board.


## Node.js Admin Repository

The Node.js Admin Repository (nodejs/admin) will serve the central location for
managing Node.js GitHub Organization administrative activities. Only Node.js
GitHub Organization owners, TSC members, and Community Committee members will
have write permissions to the nodejs/admin repository.

## Organization Roles

### Owners

The Node.js Foundation Executive Director, Node.js TSC Director, TSC Chair,
Community Committee Chair, and Node.js Foundation Education Manager shall be
the only individuals granted Owner permissions within the Node.js GitHub
Organization. Should, at any point in the future, the Node.js Foundation
Board establish a Community Committee Director position equivalent to the
TSC Director, that individual would also be automatically granted Owner
permissions within the organization.

Upon the completion of the terms of service for each of these individuals,
their Owner permissions within the GitHub organization shall be removed.

### Members

GitHub users are added as members to the Node.js GitHub Organization when they
are added to any Working Group. Organization Owners should add new members
to the organization when requested by a Working Group.

## Repositories

Any organization member may request the creation of a new repository within the
Node.js Foundation GitHub Organization. Provided there are no objections from
any voting TSC or CommComm member, such requests are approved automatically
after 72 hours. If any objection is made, the request may be moved to a vote in
each of the Technical Steering and Community Committees. A simple majority of
each group *rejecting* the creation of the repository is required to block
creating the repository. Such requests must be posted as issues in the
nodejs/admin repository.

Any repository created under the Node.js GitHub Organization is considered to be
a project under the ownership of the Node.js Foundation, and thereby subject
to the Intellectual Property and Governance policies of the Foundation.

No repository may be deleted, transferred in to, or transferred out of, the
Node.js Foundation GitHub Organization without a simple majority of both
the TSC and CommComm in *favor* of the action. In certain cases, Node.js
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if the repository is managed by only one the parties (TSC or CommComm), both of them have to agree?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"In certain cases" - Did you have any such cases in mind?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When bringing in a completely new top level project, for instance.

Foundation Board of Directors approval may also be required.

All repositories must have a README that clearly identifies the purpose of the
repository, governance documentation that details how the repository is managed,
and an indication of whether the repository falls under the operational
direction of either the TSC or CommComm.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should read "TSC, CommComm, or the CTC" since the CTC can have working groups under it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nebrius iiuc CTC activities are just delegated from the TSC, from an outside or board view all of that falls under TSC responsibility, so I think the phrasing here is correct as it is


Repositories that are under the operational direction of the TSC are subject to
TSC oversight.

Repositories that are under the operational direction of the Community Committee
are subject to CommComm oversight.

## Removing or Banning Individuals
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like removing and banning are overlapping with @nodejs/moderation team's responsibilities.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, only org owners can ban. If the moderation team determines that a ban is necessary, they would ask one of the owners to actually do the ban.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specifically, mod team does not have owner status in the org

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for clarifying @jasnell 👍

Copy link

@refack refack Sep 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe /s/ban/block which is the GitHub terminology (https://help.github.com/articles/blocking-a-user-from-your-organization/).
Else maybe define/referance semantics of ban?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can hit that in a separate PR.


Only Node.js GitHub Organization owners may remove an individual from the
Node.js Foundation membership or ban individuals. This is due largely to
limitations in the way GitHub permissions are structured.

To remove any current member from the GitHub organization, an issue must be
opened in the nodejs/admin repository. If, after 72 hours, there are no
objections from any TSC or Community Committee members, removal becomes automatic.
If there are objections, then a simple majority vote of each of the Technical
Steering and Community Committees in *favor* of removal is required.

Banning an individual who is not currently a member of the GitHub organization
may occur at any time subject to the policies outlined in the Moderation
Guidelines.

## Use of Bots and Services

Automation tools such as bots and third-party services on any repository must
be approved by the TSC and are subject to regular security audits. Bots that
perform actions on behalf of the project (such as moderation or membership
management actions) are required to maintain a log, accessible to both the
TSC and Community Committee members, of all actions taken.