Known is my second open source startup. I've spent over a decade working with free and open source software, and have been producing it in a startup context for most of that time. I've had a lot of time to think about the realities of doing this.
I believe that free and open source software is important for both social and technical reasons. In this post, I'd like to explore the implications for running an end-user open source software project from a startup business perspective.
What is free and open source software?
First, let's back up a second and talk about "free software". This was defined by Richard Stallman as giving you the following four freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Note that "free" refers to "freedom", and doesn't necessarily mean "free of cost". However, this is not immediately obvious to newcomers. "Open source", in contrast, is purely a development methodology rather than a social movement. Because of that, and because the wording is unambiguous, I prefer to use this term. There's a lot of disagreement on this, and my preference shouldn't be construed as me prescribing this for other people.
Why is free and open source software desirable?
Free and open source infrastructure software - things like Linux, the Apache Web Server, OpenSSL and so on - have allowed for highly functional server stacks that aren't limited to a single vendor. Here's a slightly unfair way of looking at it: while Windows Server and similar products are Lunchables, where the whole stack is made by the same group of people, Linux is a picnic, with lots of individual ingredients provided by different organizations that add up to a richer whole. Each ingredient does one thing really well; the jam is really good jam, the cheese is awesome cheese. And because everyone gets the list of ingredients for each item in the picnic, you know that the jam and the cheese don't contain any nasty surprises. With the Lunchables, not so much.
Maybe my analogy needs work. But while free and open source software is particularly suitable for infrastructure software, it has broad implications for end-user software, too.
By end-user software, I mean products that non-technical people will use directly. WordPress is probably the best example: 23% of the web is made up of WordPress sites. Elgg, the social networking platform I founded, is another. Ghost is another, more recent example. And finally, Piwik, the self-hosted web analytics library, is one more.
What if I told you that only one of those projects was a traditional tech startup? And it's probably not the one you're thinking of.
The structure of open source startups
A common misconception is that Automattic, the company founded by WordPress cofounder Matt Mullenweg, is also the company behind WordPress. It's not. WordPress is a non-profit foundation, while Automattic provides the hosted WordPress.com service, as well as anti-spam tools, analytics and other centralized functionality.
Ghost, which was founded by an ex-Automattic employee, is also a not-for-profit organization. John O'Nolan explained his rationale for this in a blog post, where he clearly backs the social movement side of free and open source software:
The point of Open Source is to promote furthering technology for the entire world by not locking down software with patents and charging millions for them. The point of Open Source is that shared technology is better than closed technology because it has so many more people working on it. The point of Open Source is that the software you create benefits not just yourself, but many others - and in return you receive the same.
[...] I wanted to make it completely clear that Ghost is about making great software. I own 0% of the company. Hannah owns 0% of the company. According to our legal documents of incorporation, neither of us can pay ourselves enormous tax-free dividends. Just normal, taxable salaries.
Elgg, the open source social networking platform I cofounded, is also now a non-profit foundation.
Piwik, meanwhile, is a startup, albeit one that was founded significantly later than the project. They're a distributed company, with headquarters in New Zealand and Poland.
Why end-user projects are different to infrastructure projects
Over 80% of Linux kernel patches are written by corporations that use Linux, either as part of the infrastructure that serves their products (e.g. at companies like IBM), or as part of Linux-based end-user projects like embedded devices and Android phones.
By definition, end-user projects are the product, rather than a building block that becomes part of the product. There are far fewer levels of stakeholders downstream from the project to contribute to it, both monetarily and in terms of code patches.
This, however, is not to say that there are far fewer stakeholders overall. For example, there are plenty of people who use WordPress - it powers 23% of the web, remember? There are hosting service providers, web shops, and consumer users who depend on the software. This may represent a less technically-savvy base of people, but it may also be greater in terms of raw numbers.
Creating a self-sustaining project clearly demands a different strategy - particularly if the open source project is going to serve as the core of a startup.
What startups need
Startups need to be more than self-sustaining: their engine is scalable revenue.
In other words, revenue for a startup needs to have several properties:
- It needs to be recurring
- It needs to be able to grow non-linearly with the team (in other words, revenue isn't tightly bound to team size)
- It needs to be subject to experimentation (the startup needs to have freedom to run experiments around pricing, features, angle, and virtually every aspect of their business)
Where is the intersection between this and the four freedoms we discussed at the beginning? That's where an open source startup needs to operate.
One of the first things you learn as a startup founder is that professional services should be avoided, because they're not recurring, and they're not scalable. By professional services in this context I mean customizations, consultancy contracts and so on. They're clearly tightly bound to the size of your team. It can be interesting to offer these services in the beginning in order to learn more about your market, but you need to be careful, because it will stunt your ability to grow quickly.
This isn't to say that it will completely stunt your ability to grow. After all, professional services are the classic open source business model: offer consultancy and support. It's essentially what Red Hat has made its billions on (at the time of writing its market capitalization is $12.77B). But it flies in the face of the startup model where you build something that will rapidly expand.
So let's look at Automattic, which was valued at $1.16B after a round of funding last year. How have they grown?
While Automattic isn't directly responsible for the WordPress open source project, it is directly responsible for the WordPress.com hosted version. The bulk of its revenue comes from premium subscriptions. It does also provide a professional services "VIP" offering for high-value customers. To augment its income, it created an advertising network, and the company was actually founded to provide anti-spam services.
It's a smart mix: a lot of people don't have the expertise or resources to maintain code on their own servers (by way of example, around 10% of Known sites are self-hosted, while the other 90% are on our service). But even if they do, they can certainly use the Akismet anti-spam service, and because Automattic employs many members of the core WordPress team, high-value customers like the New York Times can use their expertise to get the best possible performance out of the platform. Perhaps most importantly, running a service allows platform developers to more quickly learn from its users.
By providing services to self-hosters, Automattic avoids a common pitfall with open source startups, where the most engaged users - the people who really, really care about running the project, and the principles behind it - are the ones who bypass the company entirely. The freedom of the WordPress open source project is not compromised, and all of the services are additive to the overall WordPress ecosystem. Anything that helps WordPress helps the company, and vice versa.
While Ghost is a non-profit, it provides similar services to WordPress.com. Similarly, Piwik Pro is a hosting service for Piwik. And, of course, WithKnown.com is a hosted platform for our open source Known software. (You should try it!)
Free as in free
While the principles of freedom that underly free and open source software are strong and important, it's also fair to say that many people choose it because it's cheaper. Freedom from lock-in also implies a freedom from recurring license costs. WordPress is arguably so popular today because its competitor, Moveable Type, decided to impose a licensing charge a decade ago, prompting a mass exodus.
It's hard to charge for end-user software, whether it's open source or not. Non-free platforms tend to get away with this by running advertising - and in fact, even WordPress.com runs ads on free sites for non-logged-in site visitors. A lot of open source campaigners are also pro-privacy, and don't believe in the invasive tracking that modern targeted advertising typically uses. Yet, at the same time, they often won't pay to use a platform, which obviously leaves the startup in an interesting bind.
Of course, if a platform is free and open source, you have a choice of where to run it. WordPress.com isn't the only place where you can get a hosted WordPress blog, so if you don't like their advertising policies, you don't have to use them. It could be argued that choice gives Automattic an ethical get-out clause: if you don't want advertising, go ahead and host your blog elsewhere or pay a subscription fee. When we ran a customer survey a few weeks ago, a fair proportion wanted us to run ads on the platform. So far, we have chosen not to do this.
Free software is a social movement, which is sometimes seen as being in line with anti-capitalist movements. If you have chosen to run a startup, you are probably a capitalist: you've chosen the route of revenue growth and creating business value. I believe that this is compatible with having strong social values (which I believe I do), but many people disagree. Ultimately, as a founder, you have to accept that you won't be able please everybody, and you have to be able to pay the people who work for you. Luckily, with open source software, everyone who runs the platform has a choice about who to run it with.
There is power in a movement
I do think that making your software open source gives your users more control and power, while allowing you to build a high value, scaleable business. It also more easily allows you to create an ecosystem around your software, allowing other people and companies to make money out of it too (potentially leading to even stronger growth). The trick is being aware of what open source entails, and what the implications are for your business, but you can absolutely build a high-growth, ethical business. We're on our way.