Should you open-source your product?

Sam Minnée,
16 May 2012

Sam Minnée, Chief Executive Officer and co-founder of SilverStripe, has shaped the SilverStripe Suite and is part of its success story as an internationally respected open source CMS. Previously, Sam has posted about SilverStripe 3 beta 2.

As well as being a great way of giving back to the community, open sourcing SilverStripe CMS has worked out well for our company. Does that mean all companies should open source their products? Probably not, but based on our experience, I’m going to suggest a few reasons why you might consider it.

First, a bit of history. Originally, SilverStripe was a closed source product. SilverStripe 1 was never open sourced, and even SilverStripe 2 started life as a closed source product. However, we realised that the core of our business wasn’t selling the CMS, it was using it to build things for our clients that helped make their organisations better. In this light, it made sense to free up the CMS to be more widely used.

For our company, the move was a good one. Soon after open sourcing, we were involved with the 2007 Google Summer of Code programme, which not only gave us the help of a number of students working on the SilverStripe code, it also made more people aware of our fledgling open source project. Enough that, when people were deciding what CMS to use for the 2008 Democratic National Convention website, the name SilverStripe came up. Along with Media 50 and others, we helped build the website, and it was a success. Had we not open sourced, we would have had to spend much more on marketing to get this kind of international recognition.

Open source projects aren’t just hobbies or charity projects, they are a legitimate business strategy. Giving things away can help your business.

How does this work? One important point is that if your power-users are programmers, they’re much more likely to get involved in the ongoing development of your project. As well as getting the benefit of their contributions to code, this makes those power-users much more loyal to your project, because they really have helped create it.

Another related issue is that, for some kinds of products, people expect open source. Outside of the enterprise space, web content management systems fall into this category. Prior to open sourcing, we explored the idea of selling SilverStripe through web shops, as a reseller channel. Although the product was well received, many of these web shops found that they had smaller gigs only had the budget to support an open source project, and by the time a bigger project came along, they had already learned how to use an open source tool and went with that.

Finally, we found that gaining an international audience was much easier with an open source project. It’s not entirely clear why this is, but because you’ve given the product away for free, people are much more supportive.

So, should you open source your product? Three use questions to ask are these:

Is it designed to be tinkered with?

Remember what I said before about having programmers as power-users? A product that is designed to be tinkered with - customised, extended, or modified - is much more likely to be picked up by programmers. Web frameworks are a great example of this. So are content management systems. One of the things that SilverStripe focuses on is providing a programmer-centric toolset of existing the CMS, which means that many of our power-users are naturally going to be programmers.

Is there something related that people will pay for?

This isn’t just an article about open source projects, it’s about open source business models. If there’s not an alternative revenue stream, then you don’t have a business model. (Planning on being bought by Facebook is not a business model any more than purchasing a lottery ticket is an investment strategy.)

Fortunately, there are many options for alternative revenue streams. Customisation or implementation services are a great option if clients get the most value of the product with a bit of tinkering. SilverStripe is a good example of this, and this is our main business. You might also offer training and user support packages. Alternatively, you can offer hosting. A variation on hosting the theme is to have a Software-as-a-Service edition of your product.

Have you got products that aren’t your core business?

If there isn’t an alternative revenue stream that you can tap into, open sourcing a product can still make sense if it isn’t your core business. For example, GitHub and Facebook have both open-sourced various developer tools that are only tangentially related to their day-to-day operations. You can still get the benefits of growing developers communities around these projects, and get the goodwill that comes from giving people something that’s valuable. And, there’s not a lot to lose - if you’re not selling licenses of this code at the moment, you’re not killing a revenue stream by open sourcing.

If none of those apply to your product, perhaps your product is less suited to building an open source business around. However, open source businesses are still relatively new, and every open source business model is an experiment. So, if you have other ideas for building an open source business, don’t let me stop you!