When guests cook their own food: understanding open source

December 1st, 2009 by Yali

jamie oliver eating

Open source is not a business model

Inspired by the ongoing battle between the European Union and Oracle over the future of MySQL, yesterday’s New York Times notes that “open source as a model for business is elusive”.  Sadly (and uncharacteristically), the New York Times is wrong.  Open source is not a model for business at all.

To start with what open source is: it is an approach to development that prioritises development speed and flexibility over intellectual property rights.  By giving developers around the world the ability to contribute and extend open source products, open source projects can cater to many more users and scenarios than might be possible.

Part of what makes a project open source involves giving the product away for free:  this encourages developers to take and extend products, safe in the knowledge that they do so legally.  That doesn’t make open source a business model, although it means that being open source has implications for your business model.

If you have to give the software away for free, then how do you make money from it? This is a question that many open source projects have not managed to answer satisfactorily.  The classic answer has generally been around providing value-added services, but sadly, service businesses don’t scale as well as typical (closed source) software businesses.  As a result, some of the most successful open source projects have found alternative revenue streams altogether:  Mozilla’s Firefox has benefited from funding by Google (by driving search engine revenue using the box in the top right half of the browser).  OpenX generates revenue by offering the publishers who use its free ad servers value added services such as a real-time ad exchange.

A more interesting question than whether or not open source is a viable business model is where does open source work best?

Open source-code is rarely the most interesting thing about an open source project

The most successful  open source projects are the ones that attract the largest, most talented developer communities to work on them.  And the projects that tend to attract the most developers are those that develop things that  developers want to use.

WordPress is a great example:  not only do many bloggers have some development skills which they can lend to the project, but equally the WordPress team have worked hard to build a product that can be easily extended by people with very limited development expertise. Firefox is another superb example – a huge number of developers have contributed plugins to make their lives (and the lives of other, non-technical users) easier.

In cases like WordPress and Firefox plugins, developers get to build tools for themselves and others.  All good application development should involve plenty of user feedback / product design iteration.  When the developer can use a tool, and then extend it herself, that feedback loop becomes quick to close, and iteration comes easily.  At that point, open source product development has a real advantage over its closed source cousin.

Where open source tends not work so well is when it is built for users other than developers.  Probably the best example is GIMP – an open source graphics package, popular with web developers, but barely touched by the graphic designer community, who prefer more user friendly applications like Photoshop.  It is not that people who are good at development are necessarily poor at UI (although they often are). It is that a developer on the GIMP would have to guess how a designer might like to use it – and that is if they even cared what designers wanted. Either way, that iterative feedback – product design loop becomes much more difficult to close.

So what now for open source?

Open source is here to stay.  That’s not because open source is a viable business model, but because making a product open source is a useful tool to drive adoption and application development, especially for companies that don’t have to rely on sales of that product for revenue.  (Google’s Android and Wave are two salient examples.)

Open source has also made a significant difference to the technology eco-system.  Companies with little or no open source DNA have seen the way that open source enables fast development and richer products, and they have emulated this with their own – proprietary – platforms. A great early example of this was how Salesforce.com opened up their proprietary hosted CRM solution to third-party developers. Now everybody from  Facebook and Apple to Google are following suit. We will be writing another post on how platforms have superceded the open source “business model” (although of course not open source itself) soon.

And if you’re running an open source project yourself? If your project is attracting useful contributors and fulfilling a user need that you either have yourself or you genuinely care about, then you have nothing to worry about. If on the other hand you are focused on a non-technical userbase and you have to pay developers to work your project, we would suggest you take another look at things. Are you really running an open source project – or is it a commercial software business that just happens to have a pricepoint of free and freely viewable source code? Whatever the answer, if you have a significant gap between your development costs and your service-based revenues, then you better keep being nice to your corporate sponsor or VC…

Leave a Reply