Open Core: The worst of both worlds by Sander Marechal
A lot has been written recently about so called “Open Core” software ever since Andrew Lampitt coined the term back in August of 2008. Many analysts have been critical about it, such as Richard Hillesley from The H Open in his recent article “Open core, closed heart?”. Many are also very positive about it such as Matt Aslett from The 451 Group. However, I think that most them are missing the elephant in the room: Open core is not sustainable in the long term because it represents the worst of both worlds. Open core tries to find a middle ground between proprietary software and free software, but it reaps the benefits of neither and inherits the problems of both.
Let me show you by example. SugarCRM is one of the more popular open core software products available. The company offers the Community Edition for free under a GPLv3 license but also offers a Professional and Enterprise edition under a proprietary license. SugarCRM has been around since 2004 but it is already showing many signs of not being sustainable.
Proprietary versus Free Software
Proprietary and Free Software are developed and commercialised in totally different ways, each with distinct advantages and disadvantages. Feel free to skip this part of you are thoroughly familiar with it.
In the proprietary world you develop your software in-house and sell licenses and support contracts to your customers. You bear 100% of the development cost yourself but usually the license sales alone generate much more revenue than the service contracts. The real trick is getting people to buy or update. Usually that means adding features to the product so it becomes more attractive. This way new customers will choose your product over the competition and your existing customers will part with their cash for new licenses to get the updated version. This also means that proprietary software has feature creep. Over time, more and more features get added to the product to stay ahead of the other proprietary vendors. This happens at the cost of quality. Developer resources are limited and with the pressure to add features, bugs go unfixed and corners are cut.
Over in Free Software land it is very different. The source code and the entire development process are completely open and aside from the in-house developers there is a community of external developers working on the product. This is why much free software is of such high quality. There are plenty of resources to fix bugs and to get it right. But making money from it is much harder. It’s mainly about support contracts which generates less revenue than closed source license sales. Also, customers don’t need so much support thanks to the high quality of the software itself. There is also the risk that someone can fork the project. This is great for the software itself but not so great if you are a business that is trying to keep its customers.
The “middle road”
Let’s see how his works for open core and specifically SugarCRM. If you go to their website you can download the latest SugarCRM Community Edition for free under a GPLv3 license. You can also see that it lacks many features that the Professional and Enterprise version do have, such as team management, advanced reporting and an Oracle back-end. What you will not see however is a source code repository or developers mailinglist or forum. SugarCRM is developed completely in-house with no community involvement. They have a patch submission form but when that went down it took weeks before SugarCRM noticed it. That not only tells you how much SugarCRM cares about patches but also how many people use that form to submit a patch.