Becoming a Jupyter Frontends Council member#

This document describes how to become a council member. It includes information about the two subgroups of Jupyter Frontends Council members:

Jupyter Frontends Council member#

Jupyter Frontends Council responsibilities#

Members actively carry out the responsibilities listed in the Membership Guide Page:

  • Must be nominated by a current member.

  • Can be elected as the Software Steering Council representative for Jupyter Frontends.

  • Get a vote in a voting situation.

  • Count towards quorum in a voting situation.

  • Are expected to participate in a 2/3 of votes (through a year).

  • Can nominate new members.

  • Should actively participate, either synchronously or asynchronously, in meetings.

Nominating a new member#

For someone to become a Jupyter Frontends Council member, they should already be a consistent, positive, productive member of the community. Newcomers are encouraged to become members after they’ve shown a sustained interest in engaging with the community. Moreover, council members should be interested in continuing their engagement over a long-ish period of time (at least one year), generally putting in more time and effort than non-members. This doesn’t have to mean contributing code - it can be assisting others in forums/issues, reviewing pull requests, participating in team meetings, etc.

Any new members must be nominated and championed by an active Jupyter Frontends Council member. This process takes the following steps:

  1. The champion should first discuss internally with the Jupyter Frontends Council to ensure that there’s general consensus before officially starting the process.

  2. If there is obvious consensus within the Jupyter Frontends Council, then move to the next step. If not, then an internal vote can be taken to protect the privacy of the potential member.

  3. A member of the Jupyter Frontends Council contacts the potential new member and asks if they are interested. Don’t forget to run them by the Membership guidelines page to make sure they understand what they’re signing up for.

Membership maintenance#

Every six months, a bot will open an issue in the council repo asking all currently active Jupyter Frontends Council team members to reply within three weeks if they still consider themselves active. If a team member replies no, they will be removed from the council. If a member does not reply, the council may reach that member personally for membership confirmation. If that request for confirmation is not answered within a month, the member will be removed from the council.

Release team member#

Joining the release team#

Any Jupyter Frontends Council member can ask to be part of the release team using the weekly call, chat, or official council email list.

Private channel is recommended to limit the exposure of such information for security reason.

Release team responsibilities#

Release team members will be added to the following groups:

  • GitHub JupyterLab organization: membership of the release team

  • PyPI Jupyter organization: manager of the JupyterLab team

  • NPM jupyterlab organization: membership of the jupyterlab team

  • conda-forge jupyterlab recipes: maintainer rights

An admin will need to add a new member to all three teams and the conda recipes.

Members of the release team have publication rights for major JupyterLab-related packages through the PyPI and NPM teams. Team members can publish a release and can react quickly in case a published package is broken or corrupted.

Release membership maintenance#

Every six months, a bot will open an issue in the council repo asking all current release team members to reply within three weeks if they still consider themselves active. If a member replies no, or they do not reply, we will conclude that they step down of the release team. Stepping down members may be removed from the publication groups on PyPI and NPM and the conda recipes maintainers.

Admin team member#

Joining the admin team#

Any Jupyter Frontends Council member can ask to be part of the admin team using the weekly call, chat, or official council email list.

Private channel is recommended to limit the exposure of such information for security reason.

There should be no more than seven administrators. If there are seven administrators already, consensus should be achieved between the new admin candidate and the existing administrators to determine a new seven-person admin team.

The Software Steering Council representative will automatically be part of this group. The Executive Council will and must own at least one administrator seat. If the last executive council administrator resigns, the executive council must nominate a new administrator.

Admin team responsibilities#

Admin team members will be added to the following groups:

  • GitHub JupyterLab organization: owners

  • PyPI Jupyter organization: manager of the JupyterLab team

  • NPM jupyterlab organization: owners

  • conda-forge jupyterlab recipe: maintainer rights

Administrators maintain membership of the groups listed above as well as the Jupyter Frontends Council and release team.

Membership maintenance#

Every six months, a bot will open an issue in the council repo asking all current administrator team members to reply within three weeks if they still consider themselves active. If a member says no, or they do not respond, we will conclude that they step down. Stepping down member may be removed from the groups mentioned above.