-
Notifications
You must be signed in to change notification settings - Fork 71
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
Add text of LF proposal #203
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,252 @@ | ||
# Proposal for Jupyter\'s Sustainable Growth | ||
|
||
March 5, 2024 | ||
|
||
# Executive Summary | ||
|
||
The Jupyter Executive Council (EC) has the responsibility to ensure the | ||
healthy and sustainable evolution of Project Jupyter and to seek the | ||
best vehicles to support this. **We, the EC, propose to create a new | ||
funding vehicle for the project, paired with some management and | ||
operational changes in support of this funding mechanism, in partnership | ||
with the Linux Foundation (LF)**. These changes will enable us to grow | ||
and develop ambitious efforts we have often discussed but lacked | ||
resources to implement, and provide long-term stability both for key | ||
Jupyter contributors and the project itself. While Project Jupyter has | ||
been impactful and successful in many areas, we currently struggle in | ||
our ability to scale in certain strategic directions and in maintaining | ||
core functions needed for an effort of our size and scope. We believe | ||
the plan below is the right path forward to meet these challenges; | ||
we\'ve come to this plan after a detailed exploration of multiple | ||
options. | ||
|
||
**We propose that Project Jupyter -- with its current governance | ||
structure and name -- transfer from NumFOCUS to the Linux Foundation | ||
Charities 501(c)(3). This transition would be paired with the creation | ||
of a new resource, provisionally called the *Jupyter Foundation*, | ||
designated to secure corporate contributions, and an associated | ||
c*ommittee* to make budgetary decisions associated with these funds. The | ||
Jupyter Foundation would be under the Linux Foundation 501(c)(6).** | ||
Below, we provide more details about this proposal and answer questions. | ||
This document aims to be a reference point for the community to discuss | ||
this plan, which (after suitable community deliberation, refinement, and | ||
approval) the EC would like to implement as soon as possible. | ||
|
||
> **Note --** A 501(c)(3) and 501(c)(6) are both tax-exempt nonprofit | ||
> structures in the United States. A (c)(3) is a vehicle to support | ||
> collective fundraising for a scientific or charitable purpose. A | ||
> (c)(6) is a vehicle to support collective fundraising for a common | ||
> business interest in industry. Like many projects that the LF hosts, | ||
> Project Jupyter aligns both with nonprofit models with scientific and | ||
> educational goals, and with business interests. Therefore, it can take | ||
> advantage of having both fundraising options available to donors | ||
> through LF Charities, a 501(c)(3), and the Linux Foundation, a | ||
> 501(c)(6). | ||
|
||
# Project Jupyter's Needs | ||
|
||
Project Jupyter requires **sustainable funding that is centrally managed | ||
for some key \"backbone needs\'\' of the project.** There are activities | ||
and programs that are critical to the mission of Jupyter that are | ||
currently either underfunded or unfunded. Examples include JupyterCon, | ||
other Jupyter community and outreach events, Binder, NbViewer, | ||
jupyter.org, an Executive Director, other project-wide staff (release | ||
engineering, developer advocate, documentation writer, program manager, | ||
testing infrastructure, etc.) and more. We believe that if a few such | ||
\"backbone\" roles and activities are sustainably funded, it will become | ||
easier for individual subprojects and teams in the community to pursue | ||
strategic objectives, propose new developments, and seek targeted | ||
resources that rely on this stable foundation for coordination, | ||
planning, and project-wide interactions. **The EC has a goal to raise | ||
\$1-2 million/year in a sustainable manner**. | ||
|
||
*The EC believes that this funding can come from a combination of | ||
non-profit (private foundations, government grants) and for-profit | ||
(corporate) sources*. In the past, Jupyter has obtained grants on the | ||
order of a million dollars and above through private foundations, with | ||
smaller contributions coming from individuals and a few generous | ||
corporate partners. Securing consistent funding via grants has proven | ||
challenging given the lumpy nature of grant allocations and the limited | ||
number of people who can devote their time to grant writing for Juptyer. | ||
These inconsistent levels of funding make it very difficult to maintain | ||
a stable backbone for the project that enables long-term vision and | ||
strategic planning and execution. Similarly, we have faced challenges in | ||
raising consistent funding from corporations. | ||
|
||
Additionally, Jupyter needs **improved operational support**. Jupyter | ||
needs a higher level of support for operating (legal/trademark, | ||
marketing, fundraising, accounting, contracts, internships, events, dev | ||
ops, etc.) than is currently available from NumFOCUS. The EC\'s | ||
responsibility is to serve Jupyter\'s pressing needs today and tomorrow; | ||
currently, the EC is spending a significant amount of its time on | ||
operational matters instead of fundraising and other activities that | ||
support Jupyter's long-term mission. At this time, and after extensive | ||
conversations with NumFOCUS and time spent by Ana Ruvalcaba taking deep | ||
dives into operational matters, the EC\'s assessment is that the best | ||
course of action is to secure operational support with a proven partner | ||
that can provide it today. *Our assessment is that the Linux Foundation | ||
is such an ideal partner for Jupyter today*. | ||
|
||
Finally, Jupyter needs to be able to hire and manage **full-time | ||
staff**, including roles such as an Executive Director, CI/devops, | ||
program managers, test engineering, documentation writing, and release | ||
engineering. These require a sustained and full-time effort, beyond what | ||
is reasonable for volunteers or can be funded via project-specific | ||
initiatives and/or grants. In the past, we have funded, hired, and | ||
managed these types of roles through universities (Cal Poly State | ||
University, San Luis Obispo and UC Berkeley), but that is not | ||
sustainable for the institution or the staff who seek a long term career | ||
path associated with Jupyter, rather than with specific corporate or | ||
academic organizations. Again, Jupyter needs sustainable funding and | ||
operational support to hire, retain, and manage contributors in these | ||
types of roles. | ||
|
||
# So, what would be changing? | ||
|
||
We have spent time and effort in discussions with the Linux Foundation | ||
team, to ensure that this transition introduces the smallest possible | ||
changes to Jupyter\'s operations while meeting our above goals. | ||
|
||
Under this proposal, **Jupyter keeps its current governance structure | ||
and transfers from NumFOCUS to LF Charities 501(c)(3). An additional | ||
funding vehicle will be created called the Jupyter Foundation under the | ||
Linux Foundation 501(c)(6) providing corporations a well known and | ||
proven method to support the Jupyter Project.** | ||
|
||
In order to manage this new resource (the Jupyter Foundation), we | ||
propose to create a new committee (JFC), populated by representatives of | ||
our corporate funders. The role of this committee will be to approve the | ||
use of the corporate funding available, in coordination with the EC. The | ||
JFC and EC members will vote on Jupyter Foundation resource allocation | ||
with exact details to be determined soon (for example, the funding | ||
committee model typically has one vote per corporate funding | ||
representative). | ||
|
||
As part of the normal course of business, and to encourage strategic | ||
engagement of the corporate partners (beyond just giving money), the EC | ||
meetings will be open to members of the JFC, though the EC reserves the | ||
right to call a separate closed meeting should the need arise. | ||
|
||
In addition, the Linux Foundation through its 501(c)(3) and 501(c)(6) | ||
will provide back-office operational support as needed for the project | ||
operations such as grants and events as well as the ability to hire | ||
staff for the benefit of the project. | ||
|
||
# What other options have we explored? | ||
|
||
We have investigated the following options: | ||
|
||
- Remaining at NumFOCUS | ||
|
||
- Joining several other 501(c)(3) organizations. | ||
|
||
- Partnering with Linux Foundation via its 501(c)(3) and 501(c)(6) | ||
support structures (our proposed path) | ||
|
||
- Creating our own 501(c)(3). | ||
|
||
NumFocus, as previously stated, is not able to meet our needs and our | ||
goals for Project Jupyter at this time. | ||
|
||
Other 501(c)(3) organizations were either larger in scale, but without | ||
deep experience supporting open source projects and their communities, | ||
or smaller in scale but with experience supporting software projects. | ||
|
||
The costs to instantiate and operate a new 501(c)(3) are very high and | ||
the focus on building up back-office infrastructure expertise and | ||
capabilities would limit our ability to focus on the needs stated | ||
earlier. | ||
|
||
After carefully evaluating all these options and engaging in multiple | ||
detailed discussions, we concluded that the Linux Foundation is the best | ||
option. LF can support our existing community and governance structure, | ||
and it has a proven track record of supporting software projects with a | ||
sustainable operational and multi-modal funding model that scales. | ||
|
||
# How does this affect our project\'s mission regarding both open science, education, and access to all regardless of money or industrial relationships? | ||
|
||
Project Jupyter's mission and focus on open science remains unchanged | ||
and driven by its contributors. Project Jupyter will develop a formal | ||
mission statement that will reiterate our commitment to open science, | ||
education, research and broad access to interactive computing. Based on | ||
many previous discussions we\'ve had on this topic, we propose here a | ||
rough draft of such a mission statement: "Project Jupyter is an open and | ||
collaborative community that develops interactive computing tools, | ||
software, standards, and infrastructure for research, education, and | ||
industry." As part of the transition to LF, we will open an issue to | ||
discuss and approve an official mission statement. | ||
|
||
# Other Questions (FAQ) | ||
|
||
## How would this change our relationship with NumFOCUS? | ||
|
||
Once the transition is concluded and assets are transferred, Project | ||
Jupyter would not have a legal relationship with NumFOCUS. However, we | ||
will always maintain a collaborative relationship with NumFOCUS and its | ||
various projects: Jupyter is for many a portal into a broad ecosystem of | ||
projects that currently operate under NumFOCUS, and we\'ll continue | ||
collaborating with all of them as before. In this regard, NumFOCUS is | ||
and would remain a key partner for Project Jupyter, and we wish the | ||
NumFOCUS team success. | ||
|
||
We will work out a transition plan between NF and the LF Charities that | ||
will minimize disruption to the projects. There may be some funds that | ||
are simpler to wind down through NF and some that are easier to move to | ||
the LF Charities. | ||
|
||
## How would the 501(c)(3) and 501(c)(6) legal entities work together for Project Jupyter? | ||
|
||
The Project Jupyter EC continues its current authority over funds and | ||
grants that go to the 501(c)(3). As explained above, the corporate | ||
funders to the Jupyter Foundation would have input, along with the | ||
Project Jupyter EC, into how Jupyter Foundation monies are allocated for | ||
the sustainability and growth of the Project Jupyter. | ||
|
||
## What is the process for Jupyter leaving NumFOCUS and whose authority/approvals does it require? | ||
|
||
Jupyter's current governance model requires any changes to Juptyer's | ||
governance to be approved by the Jupyter Executive Council and Software | ||
Steering Council. Once these two bodies have voted to leave NumFOCUS and | ||
transfer the project to LF Charities 501(c)(3), the NumFOCUS FSA | ||
Committee will formally notify NumFOCUS of our plans. The current FSA | ||
requires us to give NumFOCUS a 60-day notice before moving. The NumFOCUS | ||
FSA Committee currently consists of Matthias Bussonnier, Benjamin | ||
Ragan-Kelley, Fernando Pérez, Ana Ruvalcaba, and Thomas Kluyver. | ||
|
||
## And similarly, what will be the process for Jupyter potentially leaving the Linux Foundation in the future? | ||
|
||
When requested by the governing body for a project, the LF has moved | ||
projects out of its stewardship to the governing body's designated | ||
entity. The Project Jupyter EC would decide that. The Project Jupyter | ||
assets in the 501(c)(3) would transfer to another 501(c)(3) and | ||
501(c)(6) assets could be transferred to another 501(c)(6) or to the | ||
501(c)(3). Similarly, there will be a notice period, and wind-down | ||
component related to employees, IP, etc. | ||
|
||
## How does corporate membership work in terms of levels and dues amount? | ||
|
||
The details need to be finalized and we welcome input from the community | ||
on this. Based on what is common with other funds under the Linux | ||
Foundation 501(c)(6), typically there are 2 levels, Premier and General. | ||
For example, Premier members each get a seat on the funding committee | ||
and General members collectively have one elected representative from | ||
the general member class that represents them alongside the Premier | ||
members. The dues amount will be determined based on the financial needs | ||
of Project Jupyter and corresponding alignment with corporate budgets | ||
that have a precedent for supporting critical projects upon which | ||
companies depend. The Linux Foundation also has (free) Associate | ||
memberships for government, education, research, and non-profit | ||
organizations. Given the importance of these types of organizations to | ||
the mission of Jupyter, the EC would like to work through how they can | ||
be included. | ||
|
||
## What is the proposed timeline? | ||
|
||
The EC anticipates community discussion in March 2024 leads to a formal | ||
governance change proposal in April 2024 to move from NumFOCUS to LF | ||
Charities 501(c)(3), creation of an LF 501(c)(6) foundation, and the | ||
operational details of how these entities will be managed (e.g., | ||
creation of a budget process). The EC anticipates this proposal will be | ||
voted on by the newly-elected EC and SSC by the end of April 2024. If | ||
approved, the EC anticipates that the effective date of a move to LF | ||
could be 60 days later, by the end of June 2024. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does
JFC
stand for Jupyter Funding Committee?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is what we meant here. The name is something that may change as things progress.