Software Subprojects

Software design and development in Project Jupyter is organized into a set of Software Subprojects. These software Subprojects often map onto GitHub repositories/organizations, but that is not strictly required. The lifecycle of Software Subprojects is described in detail here.

Responsibilities of Jupyter Subprojects

Unless the Software Steering Council (SSC) or the Board of Directors says otherwise, Subprojects self-govern as autonomously as possible, while following the overall governance model and processes of Project Jupyter. Specifically, all Subprojects under Jupyter’s governance have the following responsibilities:

  • Adhere to the Jupyter Code of Conduct.

  • Adhere to the Jupyter Decision-Making Guidelines and process.

  • Where applicable, nominate and maintain a single representative to the SSC.

  • Follow the licensing guidelines and practices of the project (use of the BSD license and copyright header).

  • Follow Jupyter’s trademark, branding, and intellectual property guidelines.

  • Conduct its activities in a manner that is open, transparent, and inclusive. This includes coordinating with the SSC and the Board of Directors on mechanisms for information flow and updates to the broader community (details of this, project-wide, will be developed as our new governance model is adopted and implemented).

  • Maintain a publicly visible Team Compass (see e.g. JupyterHub or JupyterLab for illustration of their structure and content).

Incubator Subprojects

Incubator Subprojects are experimental and early-stage efforts where ideas are being explored and developed in the open and under the principles of Jupyter’s governance. Therefore, Subprojects under incubation have the same responsibilities listed above for official Jupyter projects.

The Jupyter Incubator GitHub organization serves as a home for all Incubator Subprojects and has further details on the process to create and approve them. This organization serves as a neutral playing ground for people who can’t easily create their own repositories.

SSC Representation

Official Jupyter Software Subprojects that have large and active enough teams to have a standalone, formal Decision-Making Body will elect and maintain a single representative to the SSC. The decision-making body of each such Subproject is free to set term limits or rotate this responsibility as they see fit.

There exist two categories of Subprojects that, while operating under Jupyter’s governance, do not have a dedicated delegate to the SSC:

  • There are a number of smaller and/or low-activity Subprojects that don’t have enough active participants to have a standalone decision-making body. The SSC itself will be the formal decision-making body for these Subprojects when necessary, while otherwise allowing the team to manage its day-to-day activities.

  • Projects in the Jupyter Incubator will only acquire official SSC representation if/once they graduate to official Jupyter Subproject status.