Rotten to the (Open) Core?

Reposted from my personal blog

Open core, Open core,  more Open core… the debate goes on and on, with Monty the latest to weigh in.

When you get down to it this is a fight over branding – which is why the issue is so important to the OSI folks (who are all about the brand). I don’t actually care that much how SugarCRM, Jahia, Alfresco et al make the software they sell to their customers. As a customer I’m asking a whole different set of questions to “is this product open source?” I want to know how good the service and support is, how good the product is, and above all, does it solve the problem I have at a price point I’m comfortable with. The license doesn’t enter into consideration.

So if that’s the case (and I believe it is), why the fighting? Because of the Open Source brand, and all the warm-and-fuzzies that procures. “Open solutions” are the flavour of the decade, and as a small ISV building a global brand, being known as Open Source is a positive marketing attribute. The only problem is that the warm-and-fuzzies implied by Open source – freedom to change supplier or improve the software, freedom to try the software before purchasing, the existence of a diverse community of people with knowledge, skills and willingness to help a user in difficulty – don’t exist in the Open Core world. The problem is that for the most part, the Open Core which you can obtain under the OSI-approved license is not that useful.

Yesterday on Twitter, I said “Open Core is annoying because the “open core” bit is pretty much useless. It doesn’t do exactly what it says on the tin.”

Now, I wasn’t expecting that to be particularly controversial, but I got some push-back on this. Dan Fabulich replied “Ridiculous. Like the free version of MySQL is useless?” Which leads me to think of Inigo Montoya on the top of the Cliffs on MoherInsanity turning to Vizzini and saying “You keep using that word. I do not think it means what you think it means.”

With all this talk of Open Core, clearly some confusion has crept in. Perhaps it’s on my part. So allow me to elaborate what I understand by “Open Core”.

First, companies can’t be Open Core. Products are Open Core. So whereas Monty considers that from 2006 on, MySQL was not an “Open Source company”, I would contend that MySQL Server has always been, and continues to be, Free Software, and an Open Source product. That is, not Open Core.

Open Core for me means you provide a free software product, improve it, and don’t release the improvements under the free software license. In my mind, Mac OS X is not “Open Core” just because it’s based on the NetBSD kernel, it is proprietary software.

Perhaps it would be useful to give some examples of what is Open Core:

  • Jahia is Open Core – significant features and stabilisation work are present in the Enterprise Edition are not available at all in the Community Edition
  • SugarCRM is obviously Open Core. Key features related to reporting, workflow, administration and more are only present in the commercial editions
  • JasperSoft BI Suite is Open Core. Lots of useful features are only available to people buying the product.

The key here is that support contracts and extra features are only available if you also pay licensing fees. To take the oft-cited example of InnoDB hot back-up tool for MySQL, you can purchase this and use it with the GPL licensed MySQL Server – supporting my claim that MySQL is not Open Core.

This is why I say that Open Core products “don’t do exactly what it says on the tin” – the features you see advertised on the project’s website are not available to you along with software freedom.

I have talked to companies who deliberately avoid adding “spit & polish” to the community edition to encourage people to trade up for things like better documentation, attractive templates and easy installation – and don’t provide an easy way for the community edition users to share their own work. Other products have an open source engine that doesn’t do much except sit there, and all useful functionality is available as paid modules. Yes, a persistent, skilled, patient developer can take the Open Source version of the product and make it do something useful. For the most part, however, if you want to actually use the software without becoming an expert in its internals, you’ll need some of the commercial upgrades.

There is another name for this which is even more pejorative, Crippleware. Deliberately hobbled software. And that’s what I think gets people riled up – if you’re releasing something as free software, then there should at least be the pretense that you are giving the community the opportunity to fend for itself – even if that is by providing an “unofficial” git tree where the community can code up GPL features competing with your commercial offering, or a nice forum for people to share templates, themes and extensions and fend for themselves. But what gets people riled is hearing a company call themselves “an Open Source company” when most of the users of their “open source” product do not have software freedom. It’s disingenuous, and it is indeed brand dilution.

That said, let me repeat – I have no problem with companies doing this. I have no problem with them advertising their GPL-licensed stuff as Open Source. I would just like to see more of these companies providing a little bit of independence and autonomy to their user community. But then, that’s potentially not in their long-term interest – even if it is difficult to imagine a situation where the community-maintained version outstrips the “Enterprise” edition in features and stability.

5 Responses to “Rotten to the (Open) Core?”

  1. Comment from jrep:

    I don’t think everyone takes the term “open core” to necessarily imply that the commercial version has proprietary extensions. In particular, your idea that extensions lead to lock-in seems a bit at odds with your acknowledgement that the open part is a full, useful product.

    If the open stuff is insufficient, that would be another matter. Particularly vile, we’ve seen situations where the open stuff was crippled and limping, and not really useful to anyone, yet the commercial stuff had proprietary solutions, fixes, and extensions to make it really useful. That, I think, is totally “faux-pen.” Where a company harvests whatever contributions the community can manage, without giving back what they create to complete, this is “faux.” Poetically, it generally kills the community as well, so we have at least the revenge that the harvest dries up (geese and golden eggs might be the better metaphor).

  2. Comment from admin:

    Looks like I need to do a small revision… “my idea that extensions lead to lock-in” is exactly the opposite of my idea. I am arguing that standalone utilities or plug-ins which are available commercially does not constitute “Open Core”, but a substandard free project which is used just as a “teaser” for the fully-featured commercial project *is* “Open Core”. It’s “Open Source Shareware”.

    And I don’t make any value judgement on whether this is good or bad. As someone said to me: “Priority one: Ensure you’re giving value” – and I agree with that. This is not a customer value argument, it is a fight over the value of the Open Source brand (which *is* damaged when people start to associate “Open Source” with “substandard shareware”.


  3. Pingback from Neary Consulting » Open Core is a bad word:

    [...] Rotten to the (Open) Core? [...]

  4. Pingback from Moved by Freedom – Powered by Standards » Links for the end of July:

    [...] “Rotten to the Open Core”: a great post by Dave Neary setting the record straight on this insipid debate. And for what it’s worth, let’s remember Free Software means something and is not just nice and fancy brand to be used by everyone. [...]

  5. Comment from Henrik Ingo:

    Ok, reading these comments and your followup post, I think I may understand what you’re getting at.

    In your view, someone putting out open source software which is incomplete, crippled and only a demo, will make open source look bad and this is something to detest. This is of course true to some extent. But what about someone that publishes bad open source software just because he is a bad developer, without having an open core business model?

    Or to look at your argument another way, if someone publishes software you can use without paying and you find it useful, then this is nice and ok, but if someone witholds features you’d like to get for free, then that’s not nice?

    Btw, what do you think about something like Red Hat Enterprise Linux? You don’t get it for free, but it is 100% open source, no open core there.

    My point is that open core is bad because the proponents try to assert that it is okay to add in a little proprietary code and still pretend you’re open source. Which part of the software is or isn’t useful, or how independent it is architecturally, is a completely different discussion and open core is not defined like that. The harm done to open source is that people are trying to include as “open source” something which doesn’t meet the open source definition.

    And the motivation for that argument mostly lies in the belief that open source has tremendous value in itself. Even crappy software released as open source has the potential of becoming better (like Linux v0.2), and in any case you have total freedom to control your destiny with it. With proprietary software you don’t have that, and this is irrespective of how many nice and useful features a company gives you for free.

    To put it another way, there are proprietary software companies like Microsoft and Oracle and Apple that produce really nice and useful proprietary software, a lot of which you can even use for free. This can be considered nice in many ways, it is not crippleware in many cases (Internet Explorer), etc. It just isn’t open source. (And they are not claiming it to be.)

Related articles