Skip to content

Commit 20c055b

Browse files
committed
feat(blog): new blog on sustainability
1 parent 5b021a8 commit 20c055b

File tree

2 files changed

+171
-0
lines changed

2 files changed

+171
-0
lines changed
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
---
2+
layout: single
3+
title: "A Blueprint for the Future: pyOpenSci's Sustainability Model"
4+
excerpt: "excerpt here."
5+
author: "Leah Wasser"
6+
permalink: /blog/pyopensci-funding-sustainability.html
7+
header:
8+
overlay_image: images/headers/pyos-two-years.png
9+
overlay_filter: rgba(20, 13, 36, 0.3)
10+
categories:
11+
- blog-post
12+
- community
13+
classes: wide
14+
toc: true
15+
comments: true
16+
last_modified: 2024-09-17
17+
---
18+
19+
20+
## Introduction
21+
22+
Funding is critical to the success of any nonprofit organization. In this blog post, I'll outline pyOpenSci's plan to become sustainable. As I discuss it here, sustainability means that we have a diverse funding "portfolio" that includes grants and internally generated funding sources that support organization maintenance and growth.
23+
24+
## How funding has propelled pyOpenSci forward
25+
26+
pyOpenSci's real growth and impact began when we received impactful funding from the [Sloan Foundation](https://sloan.org/). I founded pyOpenSci in 2018, but I could only work
27+
on it sporadically due to my full-time job. Sloan funding, combined with moving pyOpenSci to a fiscal sponsor, allowed me to commit to full-time work on pyOpenSci in September 2022.[This is when real growth and community impact](what-pyopensci-accomplished-with-two-years-of-funding.html) began!
28+
29+
<figure>
30+
<a href="{{ site.baseurl }}/images/pyopensci-general/pyopensci-timeline2019-2024.png"><img src="{{ site.baseurl }}/images/pyopensci-general/pyopensci-timeline2019-2024.png" alt="alt here."></a>
31+
<figcaption>timeline.
32+
</figcaption>
33+
</figure>
34+
35+
36+
During this time, I overhauled the peer review program and I worked with our (then small) editorial team to flesh out the [software peer review guide](https://www.pyopensci.org/software-peer-review/) to better support the community owning and running the process. The impact full-time work on governance and documentation is evident in the plot below. You can see how our peer review program immediately grew after we re-opened it with shiny new documentation under the inspirational reigns of David Nicholson as editor-in-chief in January 2023.
37+
38+
39+
<figure>
40+
<a href="{{ site.baseurl }}/images/peer-review/pyopensci-python-software-peer-review-growth.png"><img src="{{ site.baseurl }}/images/peer-review/pyopensci-python-software-peer-review-growth.png" alt="A cumulative sum plot with months on the x-axis and number of review issues submitted on the y-axis. The curve starts with a small slope in 2019. Then, around January 2023, the slope becomes significantly steeper, indicating a dramatic increase in submissions when we reopened the peer review. At that point in the plot, there is a label that says 'Full-time funding'."></a>
41+
<figcaption>It is clear the impact that 1) working on our peer review guide and governance plus 2) funding, which allowed me to devote all of my professional time to pyOpenSci, had on our peer review program. It has been incredibly successful in the past year! And true success lies in the hands of the community that leads the review process. Today, on average, pyOpenSci has 10-14 packages in our software review queue.
42+
</figcaption>
43+
</figure>
44+
45+
46+
<!-- CSS FIX quote is 2 diff colors -->
47+
48+
{% include pyos-blockquote.html quote="The Sloan Foundation's early support has propelled pyOpenSci’s growth, creating opportunities that ultimately helped us secure additional funding from CZI." class="highlight magenta" %}
49+
50+
Today, the results of this momentum are clear. pyOpenSci has over **250 contributors** and runs a vibrant global Python software peer review process led by [**18 volunteer editors**](https://www.pyopensci.org/about-peer-review/index.html#meet-our-editorial-board), 74 reviewers, and 78 open source maintainers who live around the world.
51+
52+
### Beginner friendly open source sprints
53+
54+
Over 51 people have participated in our beginner-friendly sprints in the past two years, submitting 39 issues and 88 pull requests to pyOpenSci. Many of these pull requests and issues are first-time contributions from folks who were both excited about and nervous about contributing to an open source repository.
55+
56+
Contribution to pyOpenSci overall has also sky-rocketed in the past 2 years.
57+
58+
<figure>
59+
<a href="{{ site.baseurl }}/images/open-source/pyopensci-contributions-by-quarter.png"><img src="{{ site.baseurl }}/images/open-source/pyopensci-contributions-by-quarter.png" alt="XXX"></a>
60+
<figcaption>XXX.
61+
</figcaption>
62+
</figure>
63+
64+
65+
### Our Python packaging guide is making a splash
66+
67+
We've also developed a community-vetted scientific Python packaging guide, including beginning-to-end Python packaging tutorials using Hatch. This guidebook was developed through a truly collaborative effort, where we built consensus around critical packaging decisions that come with numerous opinions around what is "best." In just under a year, our packaging guide's use has doubled, with over 18,000 unique page views in 2024.
68+
69+
{% include pyos-blockquote.html quote="@leahawasser @pyOpenSci clicking through and eventually found myself looking at 'what is a Python package' and involuntarily performed a standing ovation. bookmarked it as an example of great docs for an incredibly complex subject with many meanings in many different contexts" author="Mastodon Toot" class="highlight" %}
70+
71+
72+
Our work has not only made packaging more accessible to more people but also fostered a collaborative and inclusive community of practice where scientists, software maintainers, and Pythonistas hang out, chat about open source and open science challenges, and support each other.
73+
74+
75+
## Diversification of funding sources
76+
77+
Diversifying our funding sources is essential to pyOpenSci's success. We've been fortunate enough to receive two grants.
78+
This runway has given us ~three years to grow and demonstrate impact. As of September 2024, we are ~two years into that runway. We now need funding to become sustainable.
79+
80+
<!-- <Add pie chart of where the money is going %staff, % software/hardware and software, ??travel > our overhead which covers insurance, hr and is about 45% - 10-15% is a direct cost that goes to our fiscal sponsor, another 30% covers staff benefits, insurance, etc. -->
81+
82+
Grant-based funding is tricky as it rarely supports project operations or "maintenance." Our long-term plan is to combine grant funding with paid training and events to support pyOpenSci's operations.
83+
84+
In the short term, we need funding to develop this paid training model and continue developing the governance that allows our free programs, such as software peer review and maintenance of open education lessons, to continue.
85+
86+
More on that below.
87+
88+
## Building sustainability: pyOpenSci's training program
89+
90+
pyOpenSci is building a paid training event program that supports sustainability. This training will be delivered predominately online, but we also will continue to hold in-person events such as the [packaging workshop that we taught at SciPy 2024](http://localhost:4000/blog/pyos-scipy-2024-recap.html#pyopenscis-first-scipy-tutorial-was-a-huge-success-create-your-first-python-package).
91+
92+
While we will charge for our training, we will be creative to ensure that our events are as inclusive as our community.
93+
94+
We offer scholarships to ensure that our events are inclusive. Scholarships worked well for our [first successful online packaging training event](/events/april-2024-create-python-package-pyopensci-online-workshop.html) and allowed 5 people to attend our training at no cost. For our upcoming Fall Festival (more on that below), we are also developing a similar sponsorship program that will allow companies, organizations, and individuals to support scholarships directly.
95+
96+
### Open education will always be a priority for pyOpenSci
97+
98+
We will also continue to offer free, community-vetted open education resources. If you know me, you also know that I am deeply committed to creating high-quality open education resources. Open education has been a part of every program that I've built (e.g. [https://www.earthdatascience.org](https://www.earthdatascience.org), and NEON Data Skills.
99+
100+
Our [Python packaging guide](https://www.pyopensci.org/python-package-guide/), with almost 80 contributors as I write this, is one successful example of community-vetted open education resources that we have created. It now has thousands of users, hitting nearly 20,000 unique page views so far this year (2024).
101+
102+
103+
## With growth comes a need for governance.
104+
105+
While this growth brings in new contributors and community members, we must create space by creating processes, governance, and documentation around our programs. Doing this well requires require time and resources.
106+
107+
Reflecting on these accomplishments, I am committed to ensuring that pyOpenSci's core programs and vibrant community of practice continue to thrive for years to come. The longevity of our mission hinges on developing a durable sustainability model that enables pyOpenSci to:
108+
109+
* continue supporting the vibrant pyOpenSci community, and
110+
* expand our programs specifically to develop education resources that teach open science, reproducibility, and packaging topics.
111+
112+
113+
### How pyOpenSci allocated funds to support efficient growth
114+
115+
I like to think of pyOpenSc as a scrappy, efficient organization. Scrappy means we are deeply committed to managing our resources as efficiently as possible. We have a core staff of 2 that optimizes our time and online infrastructure to reduce costs and maximize impact.
116+
117+
We minimize overhead costs by:
118+
119+
* leveraging & building open source tools,
120+
* focusing funds on automating workflows using tools like CI (continuous integration) to reduce manual effort, and
121+
* prioritizing support for essential, high-impact activities that drive our mission forward.
122+
123+
Looking to the future, we will only grow our core team as it aligns with our core budget. This strategic approach enables pyOpenSci to maintain the quality and reach of pyOpenSci programs while building a sustainable future.
124+
125+
## What's next for pyOpenSci
126+
127+
I am inspired by other organizations that have found their sustainability balance. Organizations such as NumFocus and the Python Software Foundation use events such as:
128+
129+
* SciPy meetings,
130+
* pyData meetings, and
131+
* PyCon US
132+
133+
as core elements of their sustainability models. Community-driven events allow these organizations to build community while funding their core mission, vision, and values.
134+
135+
pyOpenSci will experiment to find the balance between freedom, openness, and sustainability in our training program. I'm confident that we will succeed.
136+
137+
## What's next for pyOpenSci - The Road Ahead
138+
139+
Our next training event is the inaugural [pyOpenSci Fall Festival](events/pyopensci-2024-fall-festival.html)--a week-long event that teaches skills needed to:
140+
141+
* write cleaner, more modular code,
142+
* package and share code,
143+
* publish and cite code, and
144+
* create reproducible reports that connect code, data, and outputs into a dynamically produced interactive publication.
145+
146+
During these workshops we will explore the use (and dangers) of using LLM's in the learning and workflow development process. The first day is a set of free, online keynote talks. Be sure to get your ticket before they sell out!
147+
148+
I look forward to seeing you there!
149+
150+
<div class="notice" markdown="1">
151+
## Get involved with pyOpenSci
152+
153+
* support a scholarship (or two) to our [pyOpenSci Fall Festival](events/pyopensci-2024-fall-festival.html)
154+
helpers at our workshops
155+
* if you'd like to get involved with pyOpenSci, check out our [volunteer page](/volunteer.html).
156+
157+
You can also:
158+
159+
* Keep an eye on our [events page](/events.html) for upcoming training events.
160+
161+
Follow us on social platforms:
162+
163+
* [<i class="fa-brands fa-discourse"></i> Discourse](https://pyopensci.discourse.group/)
164+
* [<i class="fa-brands fa-mastodon"></i> Mastodon](https://fosstodon.org/@pyopensci)
165+
* [<i class="fa-solid fa-cloud"></i> Bluesky](https://bsky.app/profile/pyopensci.bsky.social)
166+
* [<i class="fa-brands fa-linkedin"></i> LinkedIn](https://www.linkedin.com/company/pyopensci)
167+
* [<i class="fa-brands fa-github"></i> GitHub](https://github.com/pyOpenSci)
168+
169+
If you are on LinkedIn, checkout and [subscribe to our newsletter, too](https://www.linkedin.com/newsletters/7179551305344933888/?displayConfirmation=true).
170+
171+
</div>
164 KB
Loading

0 commit comments

Comments
 (0)