This blog post is adapted from a Twitter thread that I wrote circa 2022. I’ve cleaned it up a bit and republished it here to get it off of Twitter in honor of the release of elementary OS 7 Horus.

One thing that used to bother me about elementary was that it’s a for-profit company. I used to think that sort of went against both their own ethos and that of Open Source in general but I believe that I’ve been wrong about this. elementary is important because of its for-profit nature.

I’ve been using elementary for years, since somewhere around 2014. But back then I was totally ignorant of what went into the process of creating, shipping and maintaining software. I was like many of you attracted to the “price” (free!) and the ideology of “freedom”

While I understood that it took time and money to produce free software, I didn’t truly realize the scope of what I was getting for free. Lots of other open source projects existed without being for profit so I didn’t understand why elementary needed to operate that way. I couldn’t understand why they didn’t operate like GNOME (not that I totally understood how they operated). I was worried profits would split the community and cause fights. How many times have we seen projects being torn apart by disagreements over money and what people thought was “fair” or the right use of the money? Mostly I think I was worried it would all blow up and backfire killing something I loved.

But then came the elementary’s “Pay What You Want” campaign and Tobias Bernard’s essays about how there is no “Linux” platform. Like a lot of people it opened my eyes to problems I had only been roughly able to feel but not adequately describe reading about . I began to realize how much bigger the problem of funding software was and how sheltered from it I was, even after I had become a full-time software engineer.

Open source software has a funding problem, this isn’t news to those of us in the community but it is still hard to appreciate considering how inflated developer salaries have become in the last few years. When you work for a venture backed company you are incredibly far removed from the problems of the open source ecosystem – even as you rely on it every day. This discrepancy tends to be even worse in free software bc, well, it’s “free”! Not many people want to pay for what they consider something that should be freely available. But this discounts something extremely important: the contributor’s time.

Free software does not spring fully formed, bug free from the ether nor is it maintained by well wishes. At the end of the day, a person somewhere is doing that job. We cannot in good conscience let that burden fall onto a select few for perpetuity without our support.

https://xkcd.com/2347/

So that’s where elementary comes in, experimenting with funding models and helping get developers paid. Both AppCenter campaigns have been focused on decreasing developer friction to make getting paid and expanding the reach of their apps. Increasing the ways that indie developers can get paid is an investment in elementary as a platform but also an incredibly common business model; just one that’s not as common in the free software community.

In this sense elementary needs to be a for-profit company I’ve come to realize. If developers can’t afford to turn a profit we can’t expect to receive indefinite support from their labor. elementary represents one avenue of how to build and fund sustainable software. elementary, and really all projects of a certain ambition and scope, should be able to provide their maintainers with a means to sustain themselves if we want the projects to remain viable long-term.