-
Notifications
You must be signed in to change notification settings - Fork 33
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
Longer-term sustainability efforts for the Binder project #430
Comments
You know, I've been seeing this proposal around and wondered if it could be applied to Binder (and/or JupyterHub)? https://www.ukri.org/opportunity/software-for-research-communities/ I'm not sure that I could lead on it as I'm no longer based at "an organisation eligible for UKRI funding". It might be something @manics and/or @callummole are interested in? |
Unfortunately I can't apply for funding or take a lead in my current position 😢. |
I'm definitely interested. I would love to be able to put time into this, but I'll be limited in the near term if the CZI grant goes through. |
Not at the moment, I recently started a new job. There's limited use of Jupyter at the moment but I'm making some plans 😄. |
Hey all - after #463 I decided to re-boot this issue a bit, and give it a bit more structure. I've updated the top comment to list out a few ideas people have thrown around lately around sustainability. Let's have conversation about longer-term sustainability plans here, and we can use #463 to specifically tackle the next short-term batch of credits from Google |
There are 76 mybinder.org-deploy GitHub issues created with the
Has anyone worked out the approximate total compute cost of all these requests so we've got a baseline? My gut feeling is it's probably insignificant compared to Separately could we take some inspiration from other free compute related resources, either in terms of funding or in how they handle donations? e.g. I've just discovered https://exercism.org/ which has an unintrusive donate box at the bottom of the page. |
Some more feedback from Saturn CloudI had an quick informal conversation from some of the folks at Saturn Cloud - they had reached out to see if there was a way that they could support the Binder project and we had a brainstorm about the things that could make this easier for them. A few ideas from this:
This along would mean that when people ask "how can I support Binder?" we can just point them to a webpage. Moving slightly beyond this, we could also:
And finally, if we did this, we would also need to do something like:
The Saturn team agreed that this would be a much easier way for them to be able to contribute to the project, and suspected this would make it easier for other organizations as well. I also think that this kind of setup would be a natural way to get donations from organizations like the ones @manics describes above |
Do you mean actual cost, or theoretical? The actual cost is hard because I suspect most capacity increase requests do not actually exceed the default limit in practice, and actual cost is highly dependent on session duration. I think it would be great to be able to accept donations - we "just" need to make sure we have a way to spend them, which requires some figuring out. |
Who at NF would I need to contact to get a definitive answer to "Can people make donations to Jupyter, but earmarked for the Binder Project." or "Can people add a comment to their donations to the Jupyter project?"? That seems like a first and easy thing to find out. I would punt on making (elaborate) promises about what we will do with the money (first $1k for this, then that, then if we have some left we do Y) and instead spend it all on credits. I think getting to the point where we have a significant amount of donations to spend (say more than $40k) will take a while and a lot of work. Until we reach that point I think splitting the money will lead to such small amounts that we can't really do anything with it. For example paying 3% of someone's time seems hardly worth it in terms of overheads, but paying 20% (one day a week) is worth all the additional hassle. Same goes for reporting. It becomes much harder (combinatorially so?) the more different things we do. So lets just pick one thing and do that. |
I spoke to Lisa at NumFocus yesterday about this actually, and she said that it should be possible. I think they are working on something now to make it work. I'm also going to chat with the governance working group in a couple hours to figure out what the process around this could look like. Some conversations around that (and a link to a slideshow I put together showing the current state of things) is in jupyterhub/mybinder.org-deploy#2138 |
And I agree with @betatim - reflecting on the above I think the low hanging fruit is to just make it possible to donate at all. Maybe we can make it even more generic than "we will use this for credits" but instead have a general list of things that the money could be used for, no promises on any one of them specifically. We can see how far we get with that, and then we have funds that can be flexible (if we get any haha). The only reason I hesitate to only use them for credits is that we tend to go through boom or bust cycles, where we are either flush with more credits than we need, or we have none. I'd like to be able to keep funds in a rainy day pot for these kinds of circumstances, so we should make sure that we don't commit to immediately spending everything on credits |
For me "We will spend them on credits" (or people, or stickers, or what have you) doesn't imply we will immediately spend them. So keeping them in a bank account is fine. It is normal financial practice to create reserves and not spend it all as soon as you get it. So I think it is a good idea and uncontroversial. |
Update: numfocus donation linkNumFocus gave us a donation link for the Binder Project. So we should be able to use this to earmark donations for this project/service specifically: |
Proposed next stepsSince we now have a donation link, how about we shoot for the following next steps:
Then when people say that they are interested in supporting Binder, we can point them to the Call to Action button and tell them that they'll get a logo on the website if they donate above $10K. Would this be a good step forward? Anything folks would change about this? |
That sounds like a great plan |
Hey all - I've set up a "meta issue" to track all of this work moving forward. You can find it here: I suggest that we close this issue, and focus our efforts / discussion in #508 . I think those are the minimal steps to start iterating on something, and once the basic infrastructure is set up we can start making incremental improvements. Any objections? |
Problem statement
Over the years we have kept mybinder.org running with essentially a non-existent budget and in-kind support from volunteers and organizations that wish to support the project. This makes it hard to have focused pushes of development and improvements to the Binder / JupyterHub tech. It also means that we are constantly scrambling to find more operational funding to keep the cloud infrastructure running (for example, see #463 and #214).
We need a set of practices / structures to more efficiently bring in financial resources to the project - either via cloud credits or straight up cash - in order to continue operations and to allow it to grow.
A few proposals
We have had a few discussions recently to brainstorm potential sustainability options for the project. Here are a few that have been discussed:
Crowdfunding from users
For example, displaying a banner on the Jupyter Notebook / Lab / RStudio that directs people to a small-batch donation box, with an indication of a "goal" to shoot for. This could be a way to spread out the financial support across a large pool of users, which might make it more stable over time.
However, setting this up, doing the marketing, overseeing the accounting, etc could take a decent amount of work, and might not be worth the time it'd take to set up this operation. It also might be intrusive to force banner requests on users - some noted that when Wikipedia does this it is not user-friendly
Annual fundraising campaigns
This is similar to the "Crowdfunding" idea, but could be a focused effort over, say, 2 weeks a year. Rather than putting this in the UI of mybinder.org, this could be something like:
We haven't discussed this option in much depth yet
Organizational sponsorship structure
Rather than focusing on individual donors, we could instead set up a larger-scale sponsorship program, to more officially recognize the contribution of credits or funding for the project. This could be something like:
We could display a list of sponsors of mybinder.org + the project in general on a dedicated page on mybinder.org, to give recognition to the orgs that sponsor the project.
Grant applications
Finally, we could apply for formal grants for mybinder.org - for example, via the NSF, a European agency, or one of the private foundations (Moore, Sloan, etc). This could be a way to get a multi-batch of funding for Binder, though we'd likely need to tell a deeper story of new development we want to do for the project.
Extra considerations we should take
Here are a few things we'll need to consider regardless of the sustainability strategy that we pursue:
Governance - what do we do with $$
Say that somebody wanted to give the Binder Project $100,000 in funding. How would we decide what to do with the money? A few ideas for example:
Credits vs $$$
Credits are only as useful as we are able to spend them, whereas $$$ gives us a lot more flexibility in how we use them. However, it will likely be easier to get credits from people in larger batches, rather than straight-up cash. We should define a strategy for how we'll differentiate these two kinds of support, and come up with ways to encourage people to support us depending on what we need most.
Questions for the team
The text was updated successfully, but these errors were encountered: