jupyter / governance

The governance process and model for Project Jupyter
https://jupyter.org/governance/index.html
Creative Commons Zero v1.0 Universal
82 stars 71 forks source link

Discussion of Linux Foundation Proposal #204

Closed afshin closed 1 month ago

afshin commented 8 months ago

Here, you will find the details of a proposal the EC has recently written after months of background research and detailed conversations with teams from NumFOCUS, the Linux Foundation, and other entities in this space. We appreciate your patience while you waited for concrete output from us on this matter. It was important that we both do substantial due diligence and that we have a chance to wait for NumFOCUS to publicly communicate their own plans.

We have this issue for community discussion based on this document. We encourage your input on this topic - we will both monitor the issue and hold open EC office hours (Thursdays, 10am Pacific, on zoom) for anyone who would like to talk synchronously about this topic.

Many thanks for your patience - we are excited about this plan and we hope to work with all of you to move forward!

Thanks,

Jupyter Executive Council

rpwagner commented 8 months ago

I am interested in the potential relationships with other Linux Foundation Projects and if the Linux Foundation provides any support related to software development. For example, there is the Open Source Security Foundation which maintains best practices, but I doubt they provide any direct support to other LF projects.

While I expect the Linux Foundation to leave development activities to the individuals it would be good to know the boundary between the administration and development roles.

Carreau commented 8 months ago

Misc questions:

While I expect the Linux Foundation to leave development activities to the individuals it would be good to know the boundary between the administration and development roles.

I would appreciate more details into what operational support the LF brings, and how interaction with LF would happen.

jasongrout commented 8 months ago
  • You mention Project Jupyter Name, but trademark is mentioned only once, I'm guessing this means the trademark will be moved as well, Should it be made explicit.

I added a few more mentions in https://github.com/jupyter/governance/pull/207, thanks for pointing this out.

Does that means that the Tidelift funds would now go to the Linux Fundation ?

I think so, then through LF to us. Good point that we should check on this.

Carreau commented 8 months ago

Thanks for #207,

As a sidenote regarding trademark, we want to be careful with anything that is IPython related. Maybe make it clear with the Linux Foundation that the IPython project is part of Jupyter but the trademark Python is own by the PSF and.

Regarding tidelift, I do not have objection to tidelift funds still going to NF I think it might still be useful seeing the small amount. As it's individual tidelift lifters who sign a contract with tidelift and can decide where the money goes I don't know if there would be legal obligation to send to LF.

Thinking of funds sources, there is also likely GitHub sponsors, I think this one is more clear cut, and would need to also go to LF.

jasongrout commented 8 months ago

While I expect the Linux Foundation to leave development activities to the individuals it would be good to know the boundary between the administration and development roles.

Great question. LF is very sensitive to separating the technical leadership from the administrative influence, and they are flexible in adapting to our current governance model. Our proposal is that our current governance structure comes over as-is (so technical development is steered by the SSC, administrative things steered by EC). The big addition to the governance is a c6 fund and a committee to manage the funds from the c6 side of things.

Zsailer commented 8 months ago

How can we explicitly measure if folks from the community support this proposal?

Folks are invited to comment, which I expect folks will only do if they need clarification or have criticism. What isn't often captured by comments is some quantification of support.

We could ask folks to give a :+1: emoji on the top comment if they support. We also discussed in the server meeting today if it makes sense to have a form where anyone can submit their approval/disapproval.

At the end of the day, the EC and SSC vote on this, so none of this is required to move forward; but I would find it helpful to have some sense of the "temperature in the room" around the whole community.

manics commented 8 months ago

I think it'd be good to share this on Discourse, though there's a risk of splitting discussions across two places. It should get the attention of people interested in Jupyter who aren't members of a steering council.

fperez commented 8 months ago

Agreed @manics, I just did. I still encouraged further discussion to happen here, I know the EC folks simply don't have the bandwidth to monitor multiple fora. But it's a good idea to share this widely, we meant to but didn't get to it on Tuesday, thanks for the reminder!!

fperez commented 8 months ago

@rpwagner:

I am interested in the potential relationships with other Linux Foundation Projects and if the Linux Foundation provides any support related to software development. For example, there is the Open Source Security Foundation which maintains best practices, but I doubt they provide any direct support to other LF projects.

The LF, to my knowledge, doesn't provide direct financial support to the projects (someone correct me if I'm wrong), but does help projects with fundraising (the value of their existing infrastructure and large base of interested companies is critical for this kind of task). And they have a lot of infrastructure available to the projects (it does cost).

While I expect the Linux Foundation to leave development activities to the individuals it would be good to know the boundary between the administration and development roles.

I think @jasongrout above answered some of this already, but pls let us know if it's not sufficiently clear.

willingc commented 8 months ago

While I have no vote in this any longer, I'm disappointed that the move will be to the Linux Foundation. While I can appreciate the desire to move to a new fiscal sponsor, I think that this move primarily benefits enterprises and enterprise users. Although time will tell, I doubt that it will do much to improve the community and culture around the project. I hope that I am wrong though I'm failing to see significant benefits to the educational use of Jupyter.

I do wish you the best as you navigate the upcoming changes. I sincerely hope that this change provides more sustainable funding security for the people directly employed by the project.

willingc commented 8 months ago

From: https://jupyter.org/governance/linux-proposal.html#so-what-would-be-changing

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).

It would be helpful to clarify the purpose of the new JFC committee. As a new committee under the 501c6, I am assuming that the new JFC will determine what level of funding is transferred annually from the Jupyter Foundation to the current governance of EC/SSC who is stewarding the 501c3 part.

Will the JFC committee only have representation from enterprise companies or will there also be at-large committee members?

jasongrout commented 8 months ago

@willingc, thanks for your thoughts on this.

As a new committee under the 501c6, I am assuming that the new JFC will determine what level of funding is transferred annually from the Jupyter Foundation to the current governance of EC/SSC who is stewarding the 501c3 part.

Will the JFC committee only have representation from enterprise companies or will there also be at-large committee members?

Exactly how the JFC manages the funds and its composition is part of this community discussion over the next month. As mentioned in the proposal, at least the EC should have a vote too:

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).

One of the Q&A items also proposes having non-corporate members on the funding committee.

What do you think would be a healthy structure for this committee?

manics commented 8 months ago

Are there any disadvantages to moving to LF? If so it'd be nice to state them, and any mitigations you've thought of.

willingc commented 8 months ago

@jasongrout Thanks for your response.

I think it would be important to formalize the proposed mission statement before moving forward with this proposal and consensus building. I say this because the governance and future structure should flow from a shared mission. This makes it easier for the EC and SSC, and potentially future JFC, to carry out the mission. This will help ensure that decision-making, now and in the future, continues to emphasize research and education (the project's genesis) and that they are not overshadowed by industry priorities/profits.

What do you think would be a healthy structure for this committee?

Other than transparency and clarity in documenting the purpose and actions of the new JFC committee, I don't have any strong recommendations. The existing Jupyter governance already has a high level of complexity. It would be wise to indicate the boundaries of where the JFC responsibilities and EC responsibilities end, especially related to employee hiring and funding disbursement. Having them meshed together is a recipe for future confusion.

choldgraf commented 8 months ago

A few quick notes from me, I don't think any of them would be blockers on this proposal.

tl;dr: I view the bulk of this proposal as "what's the right home for Jupyter's finances and operations", and to that point, I choose to trust the work the EC has put in to make this recommendation.

Now a couple follow up points:

Related to this proposal specifically:

And two broader points for consideration that I don't think are blockers for this proposal, but flesh out what I mean by "hard work" in the point above.

So again just to re-iterate, I trust you all to make the right decision based on your expertise and the research that you've done to answer this question (thanks in particular to @Ruv7 who seems to have done the bulk of the legwork there!). I think there will still be big things to work on either way to ensure we don't fall into what I'd consider to be an anti-pattern. I'm excited to continue building and improving these systems with you all in either case :-)

edit: I just realized that a formal mission statement is being proposed as part of this fiscal sponsor proposal. I'd suggest having that as a separate, dedicated discussion. Given the size, diversity, and distributed nature of Jupyter, cohering on a single mission statement might be a good project to carry out once there are dedicated funds to do so. For example, I'd recommend hiring somebody (a consultant for example) to facilitate a community-wide discussion to ensure there's representation across the community. My instinct is that this decision to move fiscal sponsors is meaty enough to be its own dedicated discussion, and "wrapping up" a new mission statement inside of this discussion may not do the latter the justice and attention it deserves.

tracykteal commented 8 months ago

I love the motivation for this proposal, improved operational support and sustainable funding that is centrally managed for some key "backbone needs" of the project. This is absolutely a key need for the growth and sustainability for the project. It seems there's general agreement that that is desired and needed. That's already a very important decision.

As for how to implement this, I'm wondering if the LF separate 501(c)6 and 501(c)3 structures best support that goal, including operational efficiency and leadership. 501(c)3's do allow for corporate sponsorship, the difference is around goals and governance, which then you would need to have two of. So I'm curious what goals that 501(c)6 achieves that can't be met by a single 501(c)3 structure, or under an organization that does 501(c)3 fiscal sponsorship.

Related to the stable operational support, The Carpentries, pyOpenSci and CSCCE are all at the 501(c)3 Community Initiatives, and while not specifically an organization focused on open source/science, they have found good operational support there.

cboettig commented 8 months ago

In addition to the targeted annual fund-raising described, does the Linux Foundation have the capacity to accept, create and/or manage endowments for the purpose of providing a sustained revenue?

choldgraf commented 8 months ago

I thought about it a bit more and I have more operational questions that I do think need clear answers before moving forward:

All of these are with this context: I am the PI on a CZI EOSS grant for the JupyterHub community. This is a grant for JupyterHub, not for my employer (2i2c) and it is administered by NumFocus. So I am wearing my "JupyterHub team member that is in charge of a JupyterHub grant" hat on here with these questions:

  1. What are the logistics and timelines with existing grants? Our grant is currently under a no-cost extension and in the middle of negotiating new contracts for new personnel on the grant. Assuming that the extension will last for at least 1 more year, what should I be doing here? Will I end up having to move all of these contracts and re-negotiate with a new fiscal host? Is there a way I can finish out the grant at NumFocus so we don't have the added hassle and delay of transferring these funds?
  2. What are the financial costs of the LF? I didn't see any information about the indirect rate or other costs of the LF. What % does it charge on grants? Does it have any strings attached for costs? As the PI of a grant, am I going to have to re-negotiate a new indirect rate with CZI because they have a cap on indirect rates? Or would I actually have more funding available on the grant because their indirect rate is lower?
  3. What services will be available to me as a grant PI? As a person leading a grant, what services will be at my disposal at LF? What can I ask LF to do, and what will they ask me to do? How does this differ relative to NumFocus?

Or the more general tl;dr of the above: for those of us with active pots of money with NumFocus, and active contracts that the money is used for, what would the next year look like, and what impact do you think it would have on our ability to use the money?

I think that answers to all of these will help those who are in charge of sub-sets of Jupyter funds understand the logistical and operational implications of this move.

SylvainCorlay commented 8 months ago

Hello everyone,

I will be posting a few comments regarding the proposal, each addressing a separate matter for easier tracking and response.

1 - The importance of an exit plan

While I assume that the move to the Linux Foundation is being approached with a positive outlook, it is crucial to have an exit plan in place in case things do not go as hoped. Specifically, if the Linux Foundation were to take action that goes against the values of the Jupyter project, it is essential that the Jupyter leadership has the legal standing to leave the organization and transfer the project's assets to another entity.

For example, if the Jupyter trademark is owned by the LF 501c6 (or another related legal entity), would the Jupyter project leadership have any legal recourse to request a transfer of the project's assets to another legal entity? This is an important consideration to avoid potential catastrophic consequences.

Note: The NumFOCUS Fiscal Sponsor Agreement (FSA) includes an option for projects to leave the organization with all of their assets.

2 - Questions about the transfer of Assets to the Linux Foundation

As I am not a lawyer, my understanding of the transfer of assets from a 501c3 to a 501c6 is limited. However, I assume that the first step would be to transfer Jupyter assets from NumFOCUS to LF Charities, another 501c3, which should not pose a problem. From there, would these assets remain with LF Charities, or would they eventually be transferred to the main LF 501c6? If the latter, I presume that non-monetary assets such as the Jupyter trademark or any other IP would have to be properly valued, potentially resulting in tax implications and making the transfer more complex.

It is worth noting that LF Charities is a supporting organization (509a3) and does not hold on to any assets, instead eventually transferring everything to the main 501c6. This seems like a gray area - but I would find it reassuring if this question was cleared out.

3 - Grant-based funding

Unlike NumFOCUS, the Linux Foundation's funding model is based on corporate membership. Would it still be possible to work on grant-based funding under this new structure? Does the Linux Foundation have the capacity to manage grants effectively? Furthermore, would the new funding committee have any oversight over the funds received from grants, as opposed to those received from corporate membership, if it is handled through the 501c6?

Grants are an integral part of scientific funding, and I think we should work so that Jupyter - as a project - can apply to grants and participate in grants alongside other parties.

NumFOCUS has been instrumental in facilitating this model, providing a neutral platform for multiple entities to collaborate on improving a project with a very low overhead rate. Do you see funding primarily coming from corporate membership? And if so, can the Linux Foundation handle grant management and expense management down to the individual expense level, like NumFOCUS? LF handles nearly 1000 projects, and it may be difficult to get this level of attention.

4 - This is a major shift in the governance model

My understanding of the new funding model under the Linux Foundation (LF) is that it involves selling seats on JFC to corporations, allowing them to collectively decide on the allocation of funds. This represents a significant departure from the current governance model, which emphasizes individual participation in the project, rather than affiliation.

In my experience with QuantStack, a small open-source consulting firm with roots in this community, I already observe apprehension when our team represents a large part of the people involved in a conversation. This may be even more challenging with a trillion-dollar corporation that bought a seat at the highest level of governance in the project - very distant from the individual contributors.

5 - Fundraising goals

The proposal states : "The EC has a goal to raise $1-2 million/year in a sustainable manner."

While this objective looks great, I think it would be helpful to understand the basis for this estimate. Do you have preliminary projections to support this fundraising goal? Will the EC start pro-actively raising money as soon as the move to the LF is done?

6 - Leaving NumFOCUS

In the spirit of transparency to readers who don't know me: I am not only involved in the Jupyter project but also a NumFOCUS board member. I have been part of the Jupyter project for about a decade, initially as an overly enthusiastic user attempting to make occasional contributions and gradually becoming more involved. In addition, As it was mentioned in the recent NumFOCUS town hall, I am among the board members stepping down and will be replaced in the upcoming board election.

For me, Jupyter (and initially IPython) has always been one component of a broader movement, which initially included NumPy and Matplotlib but has since expanded to encompass an increasing number of projects, many of which are affiliated with the NumFOCUS foundation. I do not believe that separating Jupyter from these roots is the best way to proceed. If we aspire to be successful, we should achieve success collectively. (This has also been the sense of my personal engagement in the past years, from the PyData meetups to community workshops, conference organizations, and technical contributions.)

During the recent NumFOCUS town hall meeting, we presented a highly ambitious plan to proactively fundraise for the projects. This plan includes the establishment of a companion 501c6 organization to benefit from the "recurring funding" model of corporate membership, while preserving the unique fiscal sponsorship model of the NumFOCUS 501c3. I would prefer if Jupyter made the choice to remain with the NumFOCUS foundation and embraced the proposed plan.

willingc commented 8 months ago

Hi everyone,

@SylvainCorlay, @tracykteal, and @choldgraf raise some important points.

Thoughts on @SylvainCorlay's points

1 - The importance of an exit plan

It is essential for any chosen structure, especially IP and trademarks.

2 - Questions about the transfer of Assets to the Linux Foundation

The IP and trademarks have the most significant value to the Jupyter project. This item is critical, and I assume the EC has done due diligence.

For those who are interested, here are links to some external resources related to the Linux Foundation:

3 - Grant-based funding

Chris has noted this as well. Given the nature of this project, clear guidance would be helpful on this question.

4 - This is a major shift in the governance model

Protecting the IP and trademarks is essential, and the proposed structure has some questions that need to be answered. First on my list is "What happens to the Jupyter IP if the Linux Charities 501(c)(3) dissolves for any reason?".

The EC's proposed document also states that a new 501(c)(3) was considered and deemed too time-consuming/complex to set up. I will point out that the Python Software Foundation is a 501(c)(3) that holds the Python IP and trademarks, has an Executive Director, has built a paid staff over the past decade, and receives funding from FAANG companies. As I understand them, it is possible to achieve the desired goals without needing a 501(c)(6).

5 - Fundraising goals

I anticipate the LF will only bring a little support in generating new donations. The LF offers a funding mechanism familiar to FAANG companies, which reduces the need for the company to perform due diligence on a new organization.

6 - Leaving NumFOCUS

I have no strong feelings on this and trust the EC to steward Jupyter's best interests in whether to stay or leave.

Executive Director

Ideally, Jupyter should have someone who functions as an Executive Director. It's essential to have a person familiar with Jupyter's needs, strategy, and subproject goals to steward the day-to-day activities and move the organization to continued improvement. Whatever funding structure and IP holding are chosen, this plays a vital role in Jupyter's interests.

ebebpl commented 8 months ago

Just trying to understand what was the rationale behind preferring LF vs ASF (Apache).

jasongrout commented 8 months ago

Folks, just a heads-up: it's going to take a bit of time to work through responding to the questions and discussion points raised here, so please be patient if the EC doesn't have an answer for you right away. Our general approach here is to try to consolidate answers into new FAQ entries in the original proposal, and you'll see we added two new entries about ASF and about how the governance is changing. This is similar to the ideal of "new questions from users should be answered by writing the appropriate docs to answer the question so it's easy for everyone to find those answers, then point to the docs".

Just trying to understand what was the rationale behind preferring LF vs ASF (Apache).

@ebebpl - great question: we posted up some reasons in the FAQ. We did look at ASF, and it seemed that moving to it would be too disruptive for our current community, as they have very strict guidelines about how projects function. LF offered an opportunity to keep our community structure largely as-is.

Also, @SylvainCorlay and @choldgraf raised points that deal with how governance is changing and what influence new large donors would have on the project. We added two more FAQs about the current proposal here and here. These answers also help address @manics question, at least for me personally:

Are there any disadvantages to moving to LF? If so it'd be nice to state them, and any mitigations you've thought of.

One of my biggest concerns with moving to LF was how large donations would influence project direction, similar to some of the concerns raised here. LF representatives have been fantastically helpful at reading and understanding our governance model, and insisting on there being a hard wall between funding and technical direction. Fortunately, our current governance largely aligns with a separation between the technical and non-technical governance. That said, large corporate donors do usually insist on having some influence on how their funds are being used, and figuring out a good balance took some time to work out. Where we landed for this proposal for consideration - that our governance model moves over as-is, with the creation of one new committee to approve budgets from this new fund - seems like a reasonable balance between keeping community control of the project while giving large donors the tools to make sure their funds are being used responsibly. Ideally, I think we should encourage holistic involvement in the project, where large donors are giving money and also participating in the community through the normal Jupyter channels and processes, just like every other stakeholder (for example, various professionals contributing in-kind time and talents toward the project), where governing influence comes through participation in the community.

willingc commented 8 months ago

@jasongrout, @afshin, and EC I think the "seeking consensus" label and messaging is a bit confusing. Am I correct in viewing this as a "done deal" with the LF?

I believe that is the case based on the information being shared. If it is a done deal, then this is really less about seeking consensus and instead "informing the community." It's totally cool if it is already a done deal. It would just be helpful to clarify where things are in the decision-making process (and it would likely be a timesaver for the EC and others).

fperez commented 8 months ago

I'm juggling other deadlines but wanted to drop a quick response to @willingc's question above, which I think is very important: we've presented a proposal for what we think is the best way forward for Jupyter to remain sustainable and grow our community with room for strategic thinking, while we grow a stable backbone that can then support many more initiatives led by individuals and teams.

But it is just that, a proposal. We tried to walk a fine line between doing a ton of due diligence and background research so we could present something concrete and trim the decision tree to a manageable size, while leaving room for specifics to be hashed out so this could be legitimately discussed, and ultimately owned by the whole community.

Importantly, this is not a vote issue, just a discussion one to explore remaining questions, etc. Our idea was that, once a period (ideally of a few weeks) of communication and discussion would go by, we'd then present a more concise and specific version of the idea, including incorporating feedback and addressing any questions/issues identified during discussion, for a formal vote. That vote will happen by our regular mechanisms, and therefore will lead to a decision on how the project moves forward.

So Carol, to be clear, it's very much not a "done deal" in that the EC doesn't have unilateral authority to impose anything on the project - we abide by our governance process. We think, after much research, it's the best path forward for the project and we will do our best to communicate why we think so. But ultimately the decision to leave NF as proposed here will be up to a regular vote, like any other.

I hope this helps - as soon as I have another window I'll try to add more on the specific questions that are still open, though that will be rather in the mode @jasongrout indicates, by updating/adding to the FAQ. This seemed more of a "conversation" topic so I chose to post my full comments here.

willingc commented 8 months ago

@fperez Thank you for the thoughtful and helpful response. It definitely helps to clarify where things are in the process. I appreciate how hard governance and its changes are. Thank you to the EC for providing updates and answering questions as you are able.

jasongrout commented 8 months ago

@fperez Thank you for the thoughtful and helpful response. It definitely helps to clarify where things are in the process. I appreciate how hard governance and its changes are. Thank you to the EC for providing updates and answering questions as you are able.

I'll add to Fernando's response that we have a rough timeline for a decision as one of the FAQ entries. This is a timeline we imagine would be reasonable for discussion and a formal vote on a more concrete specified proposal, but of course if we need to discuss this proposal longer, that's okay too.

jasongrout commented 8 months ago

@choldgraf asked

What are the logistics and timelines with existing grants? Our grant is currently under a no-cost extension and in the middle of negotiating new contracts for new personnel on the grant. Assuming that the extension will last for at least 1 more year, what should I be doing here? Will I end up having to move all of these contracts and re-negotiate with a new fiscal host? Is there a way I can finish out the grant at NumFocus so we don't have the added hassle and delay of transferring these funds?

We are currently in conversations with NumFOCUS and LF about what a transition for such funding could look like. As mentioned in the FAQ: “We will work out a transition plan between NF and the LF Charities that will minimize disruption to the projects. For example, there may be some funds that are simpler to wind down through NF and some that are easier to move to the LF Charities.”

jasongrout commented 8 months ago

@Carreau, just following up:

Does that means that the Tidelift funds would now go to the Linux Fundation ?

Regarding tidelift, I do not have objection to tidelift funds still going to NF I think it might still be useful seeing the small amount. As it's individual tidelift lifters who sign a contract with tidelift and can decide where the money goes I don't know if there would be legal obligation to send to LF.

We expect LF Charities to be able to receive Tidelift and other such funds through the 501(c)(3).

jasongrout commented 8 months ago

@cboettig, following up on this:

In addition to the targeted annual fund-raising described, does the Linux Foundation have the capacity to accept, create and/or manage endowments for the purpose of providing a sustained revenue?

LF representatives have said they can look into this. If this is more than a hypothetical question, we'd love to hear more and can pursue this line of inquiry. Feel free to contact the EC either privately or publicly if you'd like to discuss endowments more.

jasongrout commented 8 months ago

@choldgraf and @SylvainCorlay, we added a few more FAQ entries. One Q&A addresses how this transition would affect community members who seek grants.

@willingc and @SylvainCorlay, we also added a Q&A about our IP if LF Charities dissolves, and updated answers about how an exit from LF would work.

jasongrout commented 8 months ago

@willingc, @SylvainCorlay, @tracykteal: I'm trying to keep track of all the issues raised so we can discuss. I think all three of you discussed why a (c)(6) is or isn't helpful. @willingc mentioned:

The EC's proposed document also states that a new 501(c)(3) was considered and deemed too time-consuming/complex to set up. I will point out that the Python Software Foundation is a 501(c)(3) that holds the Python IP and trademarks, has an Executive Director, has built a paid staff over the past decade, and receives funding from FAANG companies. As I understand them, it is possible to achieve the desired goals without needing a 501(c)(6).

Thanks for pointing this out. Obviously you know quite a bit about how PSF has grown in this way, and I'd love to understand more. Has PSF ever considered starting a (c)(6) as well to more easily accept corporate funding?

In the current proposal, the LF Charities (c)(3) would hold the Jupyter IP and trademarks, and could still receive funding from companies. My understanding is that having a (c)(6) in addition to a (c)(3) makes it much easier to accept large multi-year funding commitments from corporations. My understanding is that this is why NumFOCUS is starting a (c)(6) - to have an additional way to contribute to NumFOCUS that is much easier for corporations. To address @SylvainCorlay's point about staying with NumFOCUS, an advantage of joining LF is that LF has already scaled this model and built a lot of these relationships, so we can join a structure that is functioning on the scale we are hoping on day 1. For example, after securing the funding commitments we hope, we could start looking for an executive director and/or project manager immediately.

So while PSF is an example of how to build out a project over time with just with a (c)(3), this proposal is (we hope) a way to quickly scale another funding source (the (c)(6)) while keeping the project community and integrity intact within a (c)(3) structure.

willingc commented 8 months ago

@jasongrout No, the PSF has not considered starting a (c)(6). The PSF's mission is to protect the intellectual property, grow the language, and its use throughout the world. A 501(c)(3) works fine for an organization that is community driven, and it allows us to receive contributions from Microsoft, Google, Meta, Amazon, and Bloomberg, as well as others. For more detail, I encourage you to speak with Deb Nicholson, PSF Executive Director.

Moving to a 501(c)(6) puts serving its members (corporations with seats on its funding committee) first and foremost. While donations may trickle down to serve the community, the 501(c)(6) member companies call the shots since they fund projects that align with their business needs. As described in the FAQ, the members of the funding committee control the funds and their use. As an aside, I believe the Associate memberships (LF bylaws 3.1) do not come with voting privilege. While this is not necessarily bad, it is a change with different priorities than a 501(c)(3).

Overall, I'm neutral on a 501(c)(3), a 501(c)(6), or a 501(c)(6) which passes down funds to a 501(c)(3). I'm putting my trust in the EC that they will make an informed decision.

choldgraf commented 8 months ago

Just noting that I broadly agree with @willingc's main points above.

  1. I think that taking money from companies is going to shift a lot of power towards those companies, unless there are good governance mechanisms to prevent $$ from being a way to wield power. At the end of the day, if you need to pay people, and some orgs are giving you money, you're going to feel the need to listen to those orgs over those that cannot pay. I don't think this proposal addresses this problem. I think it's better to explicitly recognize that and to find ways to normalize that power across non-paying stakeholders in subsequent community conversations.
  2. That being said, I agree it is important to find ways to bring in more stable resources to the project, and so I think the challenge in #1 will be present regardless of whether it's with NF or LF if fundraising is the goal. This funding/power topic is really complex and in some ways orthogonal to "who is the best fiscal sponsor for Jupyter".
  3. And overall, I trust the EC to make the right decision here and will support whatever they recommend.
minrk commented 8 months ago

I just had an interaction involving CLAs with an LF project, and I want to make sure it's in writing that we won't have do adopt CLAs or anything like that to satisfy LF requirements. I assume that's the case, but I just want to be sure. CLAs are really harmful to community projects (I'd say they necessarily define a project as not a community project).

In general, I'll just add that I don't have strong opinions here, trust the EC, and especially value @willingc's contributions and questions on these topics.

ebebpl commented 8 months ago

Hello everyone,

I will be posting a few comments regarding the proposal, each addressing a separate matter for easier tracking and response.

1 - The importance of an exit plan

For example, if the Jupyter trademark is owned by the LF 501c6 (or another related legal entity), would the Jupyter project leadership have any legal recourse to request a transfer of the project's assets to another legal entity? This is an important consideration to avoid potential catastrophic consequences.

Note: The NumFOCUS Fiscal Sponsor Agreement (FSA) includes an option for projects to leave the organization with all of their assets.

I think the above exit plan concern by @SylvainCorlay is a most valid one. With the prior well-known saga of Hudson/Jenkins, Mysql/Mariadb, Terraform/opentofu and others, if the IP & assets pass on to LF it should not be the case that the community loses copyright of the "Jupyter" and other related names and have to end up renaming the project to another name to exit if things go south :(

fperez commented 8 months ago

@minrk - we confirmed with the LF team that they only do CLAs when specific projects request them, it's not an LF requirement to do CLAs.

Since we've never had one, there's no reason to have one now :)

minrk commented 8 months ago

I figured, thanks for confirming!

fperez commented 8 months ago

I'm posting these here instead of in the FAQ, b/c in a sense all this information is already there, albeit perhaps scattered in various places. But we want to make sure we address the questions raised by @willingc @choldgraf (and others who may have similar ones):

Thanks again for bringing up any questions/concerns you may have - we'll continue to address them to the best of our ability (and we reach out to LF for clarification when necessary).

willingc commented 8 months ago

The c6 participants will not have control over Project Jupyter and its technical direction.

@fperez Thank you for this strong message. It helps with my key concern: retaining community voice and direction of the project.

what we are proposing is to move to an organization (the Linux Foundation) with a proven, active infrastructure to seek funds through a c6

What are some specific actions that the Linux Foundation will take to help us seek funds? I understand that they have the financial infrastructure and the ability to receive and allocate funding, and this is a valuable service as timely, accurate financial accounting is critical to open source projects. Will the LF be providing fundraising services beyond this? I could see their conference experience being a plus.

There is no mechanism where we are "giving control" of the project to anyone more than today grant makers "have control".

Fair enough and a good point.

Thanks again @fperez for this additional info. While I'm not an advocate for the LF given their pitiful history when it comes to DEI, I do think, with the passion that you shared here, that it is a reasonable option.

choldgraf commented 8 months ago

Also appreciate the thoughtful response from @fperez . To make it clear: I'm trying to make sure that my words don't come across as blocking on this initiative, or negative in general. I think it's a reasonable step forward and generally I trust the EC to make the right decision. I have concerns about the implementation of some of this stuff, but that should be expected for any complex and high-stakes decision, so don't take concerns as "doubts"!

After years of trying to do this under existing models, all evidence we have points to our proposed model as the best path forward.

I agree with this, it is a lot to ask to expect sub-projects to do their own fundraising on a volunteer basis. I think centralizing some staff to help with this and ease the burden on sub-projects will go a long way. This kind of cycle has burned me out many times already and I think it's much healthier if nobody has to go through it unless they have paid time to do so.

The c6 participants will not have control over Project Jupyter and its technical direction.

I understand this point, and agree that this is not a shift in formal strategic control or decision making.

Just like when we write grants we have to satisfy the requirements of funding agencies, the EC will need to work with these companies to present a strategic vision that they buy into.

The question to ask in the coming months is "how can we align the goals and strategy of Jupyter with the goals and strategy of the companies that fund via the c6?" For foundations, it is relatively easy to do so, since their goals are generally rooted in impact and give applicants a lot of flexibility. For companies, we'll need to do more work to align incentives, since companies primarily care about their business objectives (as they should!) rather than societal impact. I agree it is still a reasonable step forward, and that this introduces a more complex relationship between funding and impact than we've historically had.

At worst, if we don't build a productive relationship with these corporate partners they will simply walk away and not renew their funding

I also think that a c6-style model provides a mechanism for companies to participate in the Jupyter process in a way that feels less vague (compared with "just start attending sub-project meetings!"), which may help us build relationships with them that become more engaged over time.

Again to re-iterate my main point above: None of these points suggest to me that this isn't a reasonable path forward. I think that it is. And, I suspect we'll need to continue learning and improving our community processes to ensure that throughout these changes, we continue to live up to @willingc's (and my) key concern of "retaining community voice and direction of the project".

fperez commented 8 months ago

Thanks @willingc @choldgraf - I want to clarify (not only to you two, but also to anyone from the community reading this exchange), that I very much appreciate these questions and discussion! Chris, I don't take your questions in any way as injecting doubt or obstruction - I'm sure you are both voicing, based on extensive experience, questions that others may also have albeit sometimes less well defined (you two have worked a lot in these spaces, so you know where to look for issues).

It's absolutely our job (the EC's) to lay out the reasons behind our thinking in detail, and to answer to the best of our ability these kinds of questions! This is why we created this thread, so everyone could dissect the original document and raise any concerns they might see. We did so much work in preparation that the whole thing is, by now, fairly clear in our heads, but we didn't start that way! We also had a lot of doubts about the right path forward, and explored many alternatives. Once we felt we had converged enough, and we gave NumFOCUS a chance to present their plan to the public, we came forward with something that we hope is solid, yet still open enough for a meaningful discussion.

As to some of the new points you bring up above:

@choldgraf, on how to engage companies and build a productive relationship: yes, this will obviously take work to fit this model to our community, and we welcome people's participation and input in this! Even before any talk of a c6, during the design of our new (now current) governance model we spent a lot of energy thinking about how to balance the power and voices of large, paid industry teams with those of individual contributors. It's not easy to do, and it's an ongoing effort to keep a culture where all voices have a place, yet resources can be marshaled effectively towards concrete goals. I'm sure we'll fall short in places, but I'm also optimistic this will benefit the project.

@willingc, re.

What are some specific actions that the Linux Foundation will take to help us seek funds?

We've only started those conversations (pretty busy with this part! 🤣) but they have an extensive network of companies that are interested in projects in our space, so I'm optimistic we'll be able to work with them on making those connections. Our next steps, once it seems that all key concerns are addressed, will be to split our time between defining a more specific document suitable for a vote, and starting to prepare for those fundraising efforts. Obviously we won't pulll the trigger until we know the vote is positive, but these things require some parallel planning...

Finally, I want to say to @willingc - I'm sorry if I sounded too strong in my note above!!! None of that was intended to sound like shouting at anyone, much less at you 😄 I tend to write fairly verbose responses and I wanted to make sure a couple of key points weren't missed especially by third parties who might read this thread more superficially - I know you are very attentive, but I wanted to flag a few issues for anyone who might get lost in my verbose responses :) But I apologize if it came across too strong towards you, that wasn't my intention!

Again, thanks all for your thoughtful participation in this discussion - we need everyone's input to make sure we cover all the angles, so when the time is ready for a vote, we can make an informed decision in the best interest of the project's future.

Edit: minor clarification.

willingc commented 8 months ago

Finally, I want to say to @willingc - I'm sorry if I sounded too strong in my note above!!! None of that was intended to sound like shouting at anyone, much less at you 😄 I tend to write fairly verbose responses and I wanted to make sure a couple of key points weren't missed especially by third parties who might read this thread more superficially - I know you are very attentive, but I wanted to flag a few issues for anyone who might get lost in my verbose responses :) But I apologize if it came across too strong towards you, that wasn't my intention!

No apology needed @fperez. I took your response as passionate which I respect. I really needed to hear that strong statement about community since that is not always the case with LF. You have my support on any decision that the EC makes.

jasongrout commented 8 months ago

You have my support on any decision that the EC makes.

Carol and Chris, both of you have voiced confidence in the EC's due diligence in this matter. This means a lot to me, especially given the experience you both have in this area. I just want to clarify for everyone reading this: this decision to move or not move to LF is not solely an EC decision. The EC is putting forward a proposal for discussion, and soon will be putting forward an actual concrete change to vote on. The actual vote to move to LF is considered a governance change, which by our governance needs to be approved by both the (newly elected) EC and the Software Steering Council. While I'm sure Carol and Chris understood that, I just wanted to make sure that anyone else reading these comments doesn't come away with the impression that the EC is the sole actor here.

fperez commented 8 months ago

Hi everyone! This has been a great discussion so far, many thanks for everyone who has provided input, feedback and questions.

I have the impression that the discussion is gradually winding down, so consider this message a "kitchen is closing soon, please place your last orders". We (the EC) would like to start preparing a version of this proposal that is shorter but also focused on the specifics, to submit for a vote. So if anyone has any other concerns or feedback, we'd appreciate you bringing those up now.

We don't have an exact deadline for that, but we'd like to draft it next week, ideally for public submission the week after. Thanks!

fperez commented 7 months ago

Hi all - it seems this is indeed winding down, since 2 weeks have passed since my past comment.

We'll leave this open until we finalize a new one that's narrow and meant for a vote. So if anyone has any other thoughts, feel free to drop them here and we'll respond. Otherwise we'll focus on working on the remaining details, to present a formal issue for a vote. We'll try to have it be brief but answer specifically key points raised in this discussion.

Thanks all for your input, questions, feedback, and above all patience with us to take the time to listen and understand a complex topic!

ivanov commented 7 months ago

I finally succeeded in synthesizing observations and feedback around the NumFOCUS Town Hall that occurred back in February. Though it ahem focuses on NF, it also includes some information about 501c6 organizations and some Linux Foundation history.

aterrel commented 7 months ago

As someone called out in @ivanov's blog post, I feel compelled to reply here.

First and foremost, I completely respect the decision to be made by the Jupyter EC. I am not affiliated with the committee. I am affiliated with NumFOCUS as the VP of Infrastructure which maintains a few servers. I was a board member and board president from 2012 - 2022. For the last 8 months, I have been employed at NVIDIA which is a sponsor of both Linux Foundation and NumFOCUS, the views expressed here are my own.

NumFOCUS was started as a way to fund science codes for the public good. At the time I was a research scientist at a university and it was nearly impossible to get funding for the Python ecosystem through traditional university grant funds. Big science had it's lock on the funding agencies and was driving almost all software development in science. In the last 12 years, NumFOCUS has fiscally sponsored nearly $100M for over 100 projects, but it has failed in one key way, which is to generate the level of funding that sustains a large development team for a longer period. While I still believe in the mission of working in the public's interest and focusing on science, it is clear that trade groups are much better at funding software.

Now that I've spent a decade in industry, and successfully burned a lot of VC cash, I can say that money does not flow easily from enterprises to trade groups or startups. It requires a level of concerted effort that is beyond the scope of what NumFOCUS started to do. It requires connections, constant networking, and a great golf swing helps. Raising money does not always follow our open-source ideals of transparency and collaboration. We put our trust in advocates who can deliver. Linux Foundation's annual revenue of $177M is impressive and should not be mocked lightly. Calling it the dark hole of bureaucracy degrades the work of thousands of open-source community members over the decades.

Both these organizations have achieved a lot of success and have a lot of work to do to be ideal homes for the open-source world. Open source is changing so rapidly at this point that I question if there is ever going to be a single home for it.

I believe one of the first meetings I ever had with @fperez on NumFOCUS, he described the need for a "funding quilt". Not a single way to fund open source but a fabric that uses many threads from many sources. We identified that open-source developers creating software for science didn't have a satisfactory funding source. Now many of us are employed as RSEs, data scientists, and corporate researchers. Just like our roles have changed I respect that funding agencies need to change as well. After the demise of SVB, I learned the hard way how relying too much on a single financial source can destroy an organization in a heartbeat. Linux Foundation is another thread in our quilt and a transition of Jupyter doesn't preclude NumFOCUS working with other parts of our ecosystem. Linux Foundation and NumFOCUS already collaborate on several projects for fundraising.

To me, the transition of the Jupyter project to the Linux Foundation doesn't change the spirit of the project or mean that it will bring in unwanted influence. The governance of Jupyter is much more sound than most any project on the planet. It does seem that it will be a place that will help solve one of the persistent problems of funding a large software team. I wish the community the best in this decision.

NB: originally I said "helped raise nearly $100M" this is controversial as it was the community raising the money and NF fiscally hosting that money. I have edited the text to "fiscally hosted nearly $100M"

jasongrout commented 4 months ago

What are the financial costs of the LF? I didn't see any information about the indirect rate or other costs of the LF. What % does it charge on grants?

@choldgraf - circling back on this: we had lots of conversations with LF about this, and they have now published a rate in the LF Charities project policies:

Except as otherwise agreed by LF Charities (for example, in cases where a grant provides for a maximum administrative fee on grant monies), funds given to LF Charities as 501(c)(3) contributions for the benefit of any project will be held by The Linux Foundation for the benefit of the project. Such funds will have a G&A fee applied by The Linux Foundation to cover general overhead and administrative costs related to the receipt, processing and disbursement of such funds. The G&A fee will be 9% of funds received by a project through either LF Charities or The Linux Foundation up to $1 million in a year and 6% on funds received by a project through either LF Charities or The Linux Foundation above $1 million in a year.

I think if a specific grant had more reporting responsibilities, they would negotiate a more appropriate rate as part of the grant process.

vidartf commented 4 months ago

@jasongrout Who has the power to change that policy, and what is the process for changing it? E.g. if LF suddenly decided to remove the "you may leave at any time"-clause (not likely, but as an extreme example), what power would we have to resist it? Also, do you know where the similar docs for NumFOCUS are? I'm trying to read the small print, but it isn't easy to navigate, so if you are already familiar with it, I'd appreciate any pointers.

vidartf commented 4 months ago

PS: I see on https://lf-charities.org/ that it says: "These policies may be amended and new policies may be established by LF Charities Inc. by publishing such amended or new policy on the LF Charities’ web site. Any such amended or new policy is effective thirty- (30-) days following publication on LF Charities’ web site [...]", but that basically means we would need to set up a watch on that page for any changes, and then be ready to react within 30 days to any proposed change deemed unacceptable. It seems rather one-sided.