Building an Open Source Service
We like to think Sentry is an interesting and, in many ways, unique company. We started as an open source project which operated as a small business in our spare time for many years. While we look pretty similar to every other tech company these days, we’ve always maintained our commitment to building a viable business, and doing it with open source.
What does Open Source actually mean? It’s a frequent debate, and it boils down to the different aspects that make up the software as well as the surrounding community.
Often the first thing you think of when you hear Open Source is “free”. In the software world, free software is often associated with being the inferior choice. That’s especially true given that historically, many businesses offer an inferior version of their product for free, with an unapproachable price tag for the “enterprise” version. There is no difference between the two at Sentry. Everything runs off of the same code, which is available on GitHub.
People — rather, business people — often ask why Sentry is open source. What they are actually asking about is why we give it away for free, what our conversion funnel is, and how it affects value. This question is something we struggle to reason with, because in our mind there is no other choice.
Take a look at the evolution of the software industry and the shift to open source becomes even more clear. Where Oracle was once king, people are now quickly adopting newer open source technologies like Cassandra and MongoDB. Microsoft, a giant of traditional proprietary software, has made big moves in open source with .NET Core, and Apple — not much different — with Swift. While by no means can we claim to know the reasons for these companies’ decisions, it’s something that you wouldn’t have seen happen a decade ago.
We feel that one of the critical reasons open source has become so relevant is the freedom of choice. We want to share our knowledge and discoveries, and open source gives us that. The Free Software Foundation describes the importance of this, which very much resonates here at Sentry:
To use free software is to make a political and ethical choice asserting the right to learn, and share what we learn with others. Free software has become the foundation of a learning society where we share our knowledge in a way that others can build upon and enjoy.
The world in which being a closed source product means more relevance, or more value, is simply not reality — in fact, we consider it just the opposite. The question we should be asking ourselves today is, why are we still using proprietary software?
Everyone should be using Sentry. That’s the singular goal of both our company and the open source project. It means first and foremost the distribution, license, and business model have to support those efforts. Open source is key to letting us doing that, and most importantly, letting us do it in a way that aligns with our ethics as a company.
Of the tens of thousands of companies already using Sentry, many use the open source version behind their firewall. It will be a long time before that is no longer true, but these days we’re seeing more and more adoption of our hosted service offering. Whether you’re the largest software company in the world or just a startup, your business has more important concerns than configuring, operating, and scaling services like Sentry.
A key part of Sentry is how we do product development, and that’s fairly different from most open source projects. Sentry has a top-down product roadmap that drives it forward, rather than an unclear set of community goals. This means we’ll happily accept contributions that align with our goals, but we’re not a traditional open source project. We don’t resort to telling people “Pull Requests Accepted”, and we don’t accept changes just because they’ve been requested. In a way, we think of ourselves as the BDFL of Sentry, which is a term coined from the Python community:
In the Python community, [Guido] Van Rossum is known as a “Benevolent Dictator For Life” (BDFL), meaning that he continues to oversee the Python development process, making decisions where necessary.
When it comes down to it, we want the community to help drive our direction just like any other users of the product would, but we’re not asking you to build it for us.
As part of that, we’re taking a strong stance on what it is that we do best. First and foremost, that’s building out features that evolve our hosted service, one which happens to be uniquely open source. We believe the days of running everything in your own datacenter are long gone, and our priorities should reflect those beliefs. As a business, this is an important stance for us, as it lets us continue to deliver on our missions. Everyone should be using Sentry, whether it’s our open source project, or our hosted service.