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 Executive Council (EC) 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 Software Steering Council and the Executive Council 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 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.
Official Jupyter Software Subprojects that have large and active enough teams to have a standalone, formal Subproject Council will elect and maintain a single representative to the SSC. The Subproject Council 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 Subproject Council. The SSC itself will be the formal Subproject Council 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.