June 04, 2024

Open Core is one of the very common ways to build a business around Open Source Software. It goes like this – you have an Open Source version of the software, often called “Community Edition” and there is also an extended version of the software, often called “Enterprise Edition” which is Proprietary software. These days we often see a “Cloud Edition” instead or together with “Enterprise Edition” which as the name says is only delivered as a SaaS product. 

The thing I find different about the Open Core model is how different it can be – you may choose to have an Open Source version that meets the needs of the vast majority of your community or you may have it being little more than a demo version, which is not particularly useful,   let’s name it “Crippled Core”.

An example of good Open Core software in is WordPress where the Open Source version is good enough for the majority of its users, moreover, multiple solutions exist for hosted WordPress, beyond Automatic owned WordPress.com. The opposite example would be Redis Inc., which, before they completely changed the license for Redis (software), essentially made it Open-Core by relicensing Redis Modules, such as RedisJSON.

Being a big fan of Open Source Software, I believe over the long term it is best to choose and invest in fully Open Source Software, yet this will significantly limit of choices.   Besides that, it is reasonable to choose Open Core Software, yet I would avoid Crippled Core software. 

The reason to do that is not simply based on the available functionality – even Crippled Core Software functionality might be good enough for your needs right now, but software creator’s approach to business. If you focus on essentially advertising very limited version as “Open Source” and force most users to become paying customers… such an approach is very little different from Proprietary software with a free demo, and you also should not be surprised if the vendor embarks on more heavy-handed monetization. 

It is great if a company has a policy about what goes in their free version and what does not, which helps users better understand what to expect. One approach that I think has been particularly reasonable is keeping developer-focused features Open, so you can maximize the speed of adoption of software and minimize friction, and when have features related to Security, Compliance, and otherwise “Enterprise Complexity” to Proprietary version – things as fine-grained account security, flexible authentication options, advanced encryption, SSO, auditing, etc. Exotic needs, such as special certifications, support for exotic platforms, and long-term support for old versions is another one. 

There are a few things I would watch in particular while looking at how Good Open Core software is.

  • Is the “Community” vs “Enterprise” policy clearly articulated? 
  • How many production software users are paying customers? I would expect no more than 10% of the production users to be paying customers if the Community version is actually useful.
  • Are there external contributors? How many? A broad contributor base ensures Fork can happen if the vendor becomes unreasonable.
  • Are contributions being refused because they compete with the Enterprise Version? Basically is the vendor just has more resources to spend on the Proprietary version (quite expected) or has been intentionally cripping the Open Source edition?

I hope asking those questions can help you to understand your risk and make good choices, even if you’re choosing Open Core Software.

 Subscribe via RSS

Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x