Funding Open Source
Late last year we received an email from a group of people at Indeed. Sentry had been nominated to be a recipient of Indeed’s FOSS Contributor Fund. Since we recently raised a fairly hefty sum in venture capital, we instead offered to redistribute the award, and Sentry would also contribute to the funds.
We had $20,000 to distribute (half of which came from Indeed), so we began setting up an internal survey for Sentry engineers to nominate projects. We did however have a couple rules: We wouldn’t fund any larger organizations as part of this, and we would de-prioritize projects which we already fund.
We made this decision because we want to contribute to projects which were often underfunded. It’s easy for us to sponsor larger programs (as we’ve done with the Django Software Foundation and Python Software Foundation every year), but we often overlook the other numerous projects we rely on. We also wanted to make sure this wasn’t thought of as a contribution to future project development, but more as a way of saying thank you to projects which we’ve relied on over the years.
Here are the five projects which we decided to fund:
Black is an excellent code formatter for Python. If you’ve ever dealt with nitpicky coding guidelines during reviews you’ll quickly appreciate how all of that can disappear when you use a code formatter. We can finally focus on the important parts of our software.
Note: While Black is managed by the PSF, we chose to allocate the funds to the core contributing team and not the wider PSF organization.
Gimli is, in the simplest explanation we can give you, a library (in Rust!) which helps us take the raw bytes of “your application crashed” and turn them into human readable events in Sentry. It’s a key piece in supporting various types of crash reports in Sentry’s pipeline.
(We should also mention that Sentry uses Rust quite heavily at this point, and we’re hiring.)
PyPI is the repository which manages all of Python’s public packages. If you’re ever done a
pip install, you’ve benefited from this well run service.
Pytest has become one of the popular testing libraries in the Python ecosystem. It created a focus on making tests easier to write and lowered the barrier of entry. It also has a fantastic plugin ecosystem. We use this in nearly every Python project we develop at Sentry.
Structlog is an alternative to Python’s built-in logging module. It takes the known patterns of logging and creates a more structured approach to events (hence the name, struct-log). It’s allowed Sentry to scale our internal logs to be more flexible and auditable (even if we rarely have to look at logs).
This initiative from Indeed inspired us, and it led us to putting a real budget behind open source funding in 2020. We’re committed to contributing $100,000 to open source this year, which is 5x what we’ve traditionally done. I applaud the organizations already at the forefront of these initiatives, and hope that we can participate more in the coming years.