Open core is not open source
Julie Bort of Networkworld.com has an interview with Mårten Mickos of Eucalyptus, formerly of MySQL. In MySQL times it seemed (to me at least) that most users never realized Mårten and his management team were taking MySQL increasingly into a closed source direction. (Maybe I'm just stupid myself, but at least personally I had not noticed this until after I started working for the company.) In this interview Mårten at least comes squarely out of the closet and is defending the model.
Julie makes a good journalistic effort of reporting on the topic from a neutral point of view. Alas, sometimes that approach just makes things fuzzier. So let me try to make one thing clear: Open core may be a good business model, but open core is not open source!
What is open core?
For definitions of open source business models (which this isn't, but whatever...), I nowadays usually refer to the 451 group's Matthew Aslett, but for a complete historical picture I should note (as Matthew does) that open core licensing was first articulated by Andrew Lampitt (a JasperSoft employee). Perhaps fittingly, Andrew got his inspiration from Mårten's categorizations of open source business models. (Check it out, especially the InterBase categorization is hilarious :-) Indeed, MySQL was one of the first to practice this model.
In short, open core is a model where a company produces a product that is mostly available as open source, but then there are some closed source components around the open source "core". The point of the model is that it is supposedly easier to sell closed source than open source. Most open core companies (including MySQL, Eucalyptus and JasperSoft) started by being fully open source, but then start adding closed source components as a way to boost sales.
The closed version is often called "Enterprise" version, this terminology was first used by Red Hat (which is not open core) and is the same as used by closed source software companies. (For instance Oracle Enterprise is the costly version of the Oracle database.)
So why is open core not an open source business model?
For instance Julie's Networkworld.com article goes into a discussion on whether open core is good or bad. Usually as part of the discussion you start name calling the opponents as "purists", "free software zealots" or others. I think Mårten used to question me why you have to be "holier than the pope".
I think it is worth repeating again and again that open source is a very well defined concept. You can read the Open Source Definition at opensource.org. This is a definition that was agreed in the last century. It is not being discussed anymore.
And open core does not qualify as open source, as per the definition. It is closed source. It is the opposite of open source.
So is it evil? What are you complaining about?
Actually, when articulating the concept of open core, Andrew Lampitt identifies the problem and possibly even wanted to help solve the problem:
It seems that this model did not work for some vendors in the past due to 'angering the community.' I suspect the tension arises from how commercial open source companies are sometimes perceived as hi-jacking the term "open source" for marketing commercial gain. In my view, the business model could probably be better received by the community if it were named more specifically, such as "open core" that has a specific definiton attached to it.
As Julie says in her article, we in the open source community fully recognize that a developer has the right to publish his software under any license he chooses, including closed source licenses. Closed source is not illegal. (Although, many will argue it is unethical.)
However, what is not acceptable is that you market yourself as an open source product when in fact your business model is to sell closed source. This is confusing, I'd say it is border line lying. Well, marketing often is lying, but in the open source community we call out such lies, however subtle.
While Andrew's intention with introducing the open core terminology may have been precisely to distinguish the practice from pure open source models, unfortunately the term is not used like that as far as I can tell. Most open core vendors still market themselves as open source leaders, then come to you to sell closed source software. (They deserve to be critizised if you ask me.)
So is it evil?
It is a reality that we live in a world where open source and closed source software gets mixed. This is not categorically a bad thing.
For instance with MySQL we had a great 3rd party storage engine called Infobright, that could be used for terabyte sized data warehouses. By using compression and smart algorithms, you could swap your (usually Oracle based) data warehouse to one based on Infobright, and save about 90% in HW costs, disk storage costs and license costs each.
Yet, originally Infobright, while based on MySQL, was fully closed source. It was a great product and I was happy to sell this MySQL based solution to customers, but... it was closed source. However, as they became more popular, today they have moved to a model somewhat like open core, so they are now a lot of open source and still some closed source.
Many closed source application servers like Websphere and Weblogic used to be fully closed source, but today include many modules from the Apache Foundation. This is a step in the right direction, they are now more open source than they used to be. More importantly, they typically become contributors to the Apache software they rely on, so as a result, they help produce great open source software.
Hey, but that's what Mårten said too?
Well, not quite, if you ask me. Let me finish:
The problem with these open core companies is that they are usually a step in the wrong direction.
MySQL, Eucalyptus and JasperSoft all started as pure open source projects and were then steered into adding closed source pieces by a management team wanting to take the product more proprietary. For instance in MySQL's case this strategy was rather invasive, the plans extended much further into the server itself than just a monitoring tool.
Mårten's argument indeed is that with the revenues derived from selling this closed source software, we can then develop more open source software.
In my opinion, this is a dishonest argument. Also Bill Gates donates a lot of his money to charity, and this is really nice of him, but I still wouldn't recommend any of Microsoft's closed source software because of that.
If your business is to sell closed source software, then your incentives will be not to produce open source software, but to produce as much closed source software as you can get away with. In MySQL's case they eventually had to backtrack on the plans of closed source backup, because they didn't get away with it. The public pressure became a burden for Sun and MySQL management had to give up those plans. (Btw, I'm informed that Oracle will have no such regrets and has revitalized the plans for closed source backup tools.)
So if you ask me, we in the open source community should make it as difficult as possible for these companies to "get away with" their plans to take our software and make it closed source. We should openly criticize anyone who markets himself as open source but really just sells closed source software.
As much as I like the fact that venture capital is flowing into open source companies, if all they want to do is take our software and make it closed source, then thanks, but no thanks. Free Software was not created to benefit venture capitalists, it was created to benefit and protect the freedoms of the users and developers of the software. We welcome them into our community if they want to join, but they are our guests. We should not let them get away with a plan based on taking a nice open source project and making it increasingly closed source.
The other alternative
The final thing that I really don't like about the proliferation of open core is that mostly it is just lack of imagination and effort. It's like someone was put as a manager of an open source company, and after a while realizes selling is tough since most users choose not to pay. After some brainstorming you end up with "so let's just go back to selling closed source software". It just feels so lame, somehow, to me.
If you really wanted to stay open source (as defined by the definition), then you could think of ways to create a profitable business without having to produce closed source software. After all, Red Hat and Canonical are probably our two most successful open source companies today, and they seem to do this just fine. If anything, committing to being fully open source has been beneficial to them, not the other way round.
But now I've already written enough for one post, so I'll just link to Stephen O'Grady for some ideas on how you could do better open source businesses than selling closed source software.
(Update: Added the "feels so lame" comment on Wed, June 23.)