Open source sustainability—what does that mean for Python?

Keenan Szulik
by Keenan Szulik
on December 3, 2019

In October, I had the great opportunity to present at PyGotham—New York City’s largest annual Python conference—about open source sustainability, and specifically how it manifests itself in the Python community.

Open source sustainability is a popular phrase these days, used broadly to represent the slew of questions around financial support, burnout, and diversity within the open source community. That said, the Python community has long been tackling the problem of sustainability, albeit under a different name.

But to begin with, why is this important to Python?

Python is growing

The Python ecosystem is growing, fast. The number of packages hosted on PyPI is accelerating rapidly. In late 2015, PyPI surpassed 50,000 packages. Today, there are over 200,000 packages. Developers are publishing more Python projects than ever.

pypi-1

How many of those packages on PyPI are actually used, though? As it turns out, a lot. There are over 1,600 packages on PyPI that have received over 1 million downloads in the last year. Among those, nearly 400 have over 10 million downloads, and over 50 have more than 100 million downloads 😮.

For some perspective, a few examples of packages with over 100 million downloads include six, numpy, and flask. Packages with over 10 million downloads include flake8, scikit-learn, and pipenv. And those with over a million include packages like pyldap, shade, and pytest-flask.

thousand-python-projects

All of this is to say: there are thousands of critical Python libraries, downloaded millions of times per year. 

How has Python sustained itself so far?

The Python community has a long history with foundations, and those have played a critical role in the ongoing support of the Python community. 

To begin with, let’s look at the Python Software Foundation (PSF). The PSF has the mission to promote, protect, and advance the Python programming language. How do they currently do this? The PSF leads and funds PyCon, but it also provides grants for regional PyCon events, and it recently began a program for fiscal sponsorship of select libraries. The PSF allows earmarked donations to sponsored projects, which are then used to suit the needs of the projects.

As you can see below from the PSF annual report, the foundation supports the community to the tune of millions of dollars per year, largely devoted to the annual PyCon conferences.

python-expenses

In addition to the PSF, there is also NumFOCUS. NumFOCUS has the mission of promoting open practices in research, data, and scientific computing. Notably, NumFOCUS provides fiscal sponsorship to dozens of critical Python projects, such as NumPy, Matplotlib, Pandas, and more.

Lastly, the Django Software Foundation (DSF) also plays a critical role in supporting the Django framework, one of the most popular projects within the Python community. Interestingly, the DSF achieves this through the innovative Django Fellowship, a maintenance initiative that has paid for full- or part-time maintainers since 2014. These maintainers focus primarily on weekly ticket and issue triage, code review and merges, and security patches.

Some other sustainability models in the Python community have included single-project paid support (as demonstrated by Django REST Framework) and donation models (including GitHub Sponsors and Open Collective).

Python + Tidelift

The last way that the Python community has begun to support itself has been by working with with Tidelift, where we’ve partnered with dozens of Python maintainers and projects in order to provide managed open source.

What does that mean? The Tidelift Subscription provides commercial support and maintenance for the open source dependencies used to build your application, backed directly by the project maintainers. 

“Backed directly by the project maintainers” is the key. It’s partnering with these maintainers that enables Tidelift to provide additional value to our customers, and it’s paying these maintainers to maintain their projects that helps make open source more sustainable. 

Below are just a few of the many Python projects that we’ve partnered with, including through our partnerships with the Python Software Foundation and NumFOCUS:

tidelift-python

Is sustainability enough?

No. Not at all. 

That’s why Tidelift is actively partnering with maintainers to enable a future of independent, full-time open source creators. We are building a world where open source can be a viable and lucrative career option. One where developing open software can be a primary job, not something relegated to nights and weekends! This future benefits not only open source creators, but all users of software.

Managed open source is one great method for helping maintainers move beyond sustainability. If you’re interested in learning how managed open source could help your team, go ahead and start a free trial of the Tidelift Subscription.

Click me