Skip to main content

There's no money in free software

An abstract image that's meant to represent open source somehow

Thomas Stringer on compensation in open source:

And then finally, there’s my uninteresting (to me) OSS project. What once resembled passion project is now unrecognizable from a motivation perspective. But the demand is high. There are lots of users, many in a corporate sense using my software to further progress their organization. And the bad news is, I get no money at all from it. So motivation is essentially nonexistent at this point. Where passion is falling short, money could motivate me to routinely work on this product.

I’ve spent over a decade of my life working on open source software as a full-time profession. Like a lot of people who get into open source, it was originally an ideological decision: I wanted the work I was doing to be available to the widest number of people.

(An aside: I use the terms interchangeably, but open source and free software are not the same thing. Open source software is made available in such a way that anyone can use, which often includes as part of a commercial application. Free or libre software is explicitly licensed in such a way to promote software freedom, which is more of an ideological stance that centers on the freedom to use, modify, and re-distribute software while resisting licensing terms that might lock users in to a particular vendor. The open source term was originally coined because some folks thought the free software movement was a little too socialist for their tastes. I have no such qualms, but open source has become the more widely-understood term, so that’s what I use.)

Elgg, my first open source product, was founded for entirely ideological reasons. I’d found myself working in a learning technology department, shoehorned into a converted broom closet with a window that didn’t shut properly in the Edinburgh winter, with an angry PhD candidate who was upset he now had to share the space. I’d been blogging for years at that point, and he was working on learning technology.

What I learned about the learning technology ecosystem shocked me. Predatory companies like Blackboard were charging institutions six or seven-figure sums to run learning management software that everybody hated, from the administrators and educators down to the learners. Lock-in was rife: once an institution had been sold on a product, there was almost no momentum to move. There were open source equivalents for learning management — in particular, something called Moodle — but while they solved the financial problem, they didn’t solve the core usability issues with learning management systems.

And at the same time, people were connecting and learning from each other freely on the web. Inevitably, that angry PhD candidate and I started talking as we did our respective work, and I showed him how powerful blogging could be (at the time, there were no really powerful social networks; blogging wassocial media). We both built prototypes, but mine was the one we decided to go with; more of a social networking stack than a learning management system. I stuck it on a spare domain I didn’t have a website provisioned for (part of my family comes from Elgg, a town in Switzerland outside of Zurich), and we decided to build it out.

We could have run it as a fully software-as-a-service business, and I sometimes still wonder if we should have. Instead, after a year of development, we released it under the GNU Public License v3. We were incensed that taxpayer money was being spent in vast numbers for learning software that didn’t even help people learn. Anyone would be able to pick Elgg up to build a learning network with — we called it a learning landscape, which in retrospect was an ambiguous, near-meaningless term — and they would only have to pay if they wanted us to help them do it.

And it took off. Elgg changed some minds about how software should work in higher education, although it didn’t exactly dent Blackboard’s business. It was translated into a few languages, starting with the Northern European ones. But because it was open source, other organizations began to pick it up. Non-profits in South America started to use it to share resources internally; then global non-profits like Oxfam started using it to train their aid workers. People used it to build social networks for their businesses, their hobbies, their communities. And it continued to take off in education, too.

But it didn’t make us any money. I ended up taking a job as the web administrator at the Saïd Business School in Oxford to keep a roof over my head. I’d walk home from work, make dinner, and then sometimes work on Elgg until 1am. There were people here, and they were doing good work, so it felt like something to keep going with.

Of course, if it had been a SaaS platform, I would have been able to dedicate my full-time self to it far earlier. Thousands of miles away, in Palo Alto, Marc Andreessen and Gina Bianchini founded Ning — another social network builder — with millions of dollars in their war chest. In those early days, far more networks were built with Elgg than Ning: they had Silicon Valley money, while we had two developer-founders and a packet of crisps, but we were “winning”.

We weren’t winning. While we’d built an open source community, the continued development of the platform depended on our time and effort — and there was no way to be paid for our work. We did it for the love of it, and traded in huge chunks of our free time to do that. If we’d had children, or less tolerant partners, it wouldn’t have been possible.

A K-12 school district in upstate New York and MIT called us in the same month about helping them with their various projects, which was when I felt able to quit my job and get to work. We consulted with the school district and helped MIT to develop the platform behind OpenCourseWare, although we parted ways with the latter before launch because the work would have radically changed our platform in ways we weren’t comfortable with. The University of Brighton got in touch wanting to build the world’s first social network to roll out at a university campus, and we got to work with them. We were bankrolled.

But we were also working contract to contract and were often weeks or days away from being broke. The open source software had been picked up and used by huge names — Fortune 500 companies, Ivy League universities, global NGOs, even national governments, years later Jimmy Wales told me he’d picked it up and used it — but because it was open source, its own existence was under threat. We communicated as openly as we could in order to spread our message, through blogging, videos, podcasts; whatever we could. But it didn’t always work.

Around this time, Matt Mullenweg was having similar trouble with WordPress. For a while he even sold embedded links — essentially SEO spam — on his website in order to support his work. He was called out for it and the practice stopped. He went back to the drawing board.

One Friday afternoon we were fed up, felt stuck, and didn’t know where to go. There weren’t any contracts coming in. So we decided to go to the gym, run it out, and work on something else for the rest of the day. I had a weird idea that I wanted to play with: a social network where a profile could be anywebsite. (We’d implemented OpenID and FOAF and all of these up-and-coming decentralized social networking protocols, but none were enough to make this a reality.) Because the Elgg framework was flexible and designed for all kinds of social networks, I spent about two hours turning its components into JavaScript widgets you could post anywhere. I drew a stupid logo in MS Paint and called it Explode. A genuinely centralized, non-open-source social network, rough as hell, but in a form factor that nobody hadn’t really seen at that point.

It was on TechCrunch by the following Tuesday.

There had been an article or two in the Guardian, but by and large, nobody really cared about the open source social networking platform being used by organizations around the world. They did care about the centralized network. We were approached by investors very quickly, and ultimately took around half a million dollars from Thematic Capital, run by a pair of ex-HSBC executives in London.

They were well-connected, and found us consulting gigs with surprising people. We built a rugby social network with Will Carling (who got us all into carrot juice); I found myself explaining APIs to the English rock star Mike Rutherford from Genesis and Mike and the Mechanics.

The trick was this: while we’d founded the platform using open source as an ideology for good reasons (no lock-in, no abusive pricing), those same things affected our ability to build value into the company. We’d given away the thing that held our core value for free, and were trying to make money on tertiary services that didn’t scale. Every consulting gig involved writing new work-for-hire code — which we were usually then allowed to open source, meaning there were fewer opportunities to make money over time as the open source codebase grew. The more human value the open source codebase had, the lower its financial value was. While most companies become more valuable as more people use their product — as it should be — our company did the opposite. Ultimately, the product wildly succeeded (the platform continues to exist today), but the company behind it did not. We would have made a lot more money if we’d doubled down on Explode instead of continuing to build the open source product.

Make no mistake: there are ways to make open source development pay. Joseph Jacks’ OSS Capital invests in “open core” startups: ones that make their engines open source but then sell the features and services that make these technologies particularly useful to businesses. This usually but not always means developer-centric components that can be used as part of the software development process for other, commercial products. Open Core Ventures is a startup studio for the same idea: whereas OSS Capital funds existing startups, Open Core Ventures finds promising open source projects and founds companies around them.

Matt Mullenweg bounced back from his link ad days by creating a centralized service around catching spammy comments on blogs. Akismet was the first commercial service from his company Automattic, which is now worth billions of dollars. The client library is open source but the engine that makes it work is proprietary; for anything more than personal use, you have to pay.

The idea that people will pay to support a free product is very nice, but largely unrealistic. Most simply won’t. Even if someone in a company is like, “we’re relying on this and if someone doesn’t pay for them to do it, it might go away”, they’re one bloody-minded financial audit away from having to shut it down. There needs to be a defined return on investment that you can only get for paying the money: hosting, extra resources, or more capabilities that the company would otherwise have to spend more money to build themselves. Technical support is frequently cited but also unrealistic: it’s a nice-to-have service, not a painkiller. Even creating new software licenses that are free for personal use but paid for corporations is dicey: who does the enforcement for that licensing?

Not everything has to be a business. It’s obviously totally fine for anyone to create something as a hobby project and give it away. The disconnect comes from wanting to be paid for something you’re giving away without tying in any inherent commercial value.

These days, another open source social networking platform has captured much of the internet’s imagination. Mastodon is deployed across many thousands of communities and has formed the basis of a formidable social media network. It has a very small team that makes its money through crowdfunding: some users choose to support the project for a monthly fee, while other businesses pay to place their logos on its front page like a NASCAR car. It also sells mugs and T-shirts. This allows them to book mostly-recurring revenue, but at rates that are far lower than you’d expect from software with its prominence. It’s a non-profit based in Germany, with a much lower cost of living than Silicon Valley, so hopefully these economics work out. In the US, organizations that build software are often refused non-profit status, so it’s not clear that this would even be possible here anymore. (The Mozilla Foundation pre-dates this rule.) Regardless of non-profit status, crowdfunding enough money to pay for the time taken to build a software library would require it to be wildly popular.

My take is this: if you want to make money building something, sell it. If you want to release your software as open source, release the bit (or a bit) that doesn’t have intrinsic business value. Use that value to pay for the rest. If you need money to eat and put a roof over your head, do what you need to get money. And then if you want to be altruistic, be altruistic with what you can afford to distribute.

· Posts