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.

Precisely!

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.)

MySQL, Eucalyptus and JasperSoft all started as pure open source projects and were then steered into adding closed source pieces by a management team.

I don't buy it. Let's dig up some history.
When was it that MySQL started as a pure open source company? When it was free for Unix and commercial for Windows?
http://web.archive.org/web/19990129064709/www.mysql.com/Manual_chapter/…

This was not the greedy management steered by VCs. This was David and Monty's leadership. However, I don't see anything wrong with it. They had to make a living. But in many aspects, MySQL was less open source 1999 pre-VCs than it is today, owned by Oracle.

Giuseppe

Hi!

You are absolutely right that in the beginning MySQL was not open source. The 3.20 trunk was a mix of public domain, GPL, and "other" licensed code. There was a period right after Monty/David took money that MySQL was open source completely, but that went away with the introduction of the monitoring tools.

Saying though that this was under Monty and David's leadership is pretty bogus though. Neither of them had much say at this point. The VC's? I don't think they actually cared, what they wanted was to flip the company.

Oracle being more open? I haven't seen any movement one way or the other (perhaps with Innodb's embedded engine, but I suspect that is just more of an alignment with the bigger goals of the organization).

We haven't seen what Oracle will do, that story has not played itself out just yet.

Cheers,
-Brian

Hi Giuseppe

I disagree with you, but you do raise an interesting point.

Until 1995 MySQL was fully proprietary and sold only to a small amount of customers in Scandinavia. So in a way it was wrong for me to say that it was *originally* open source.

Between 1995 and 2001 the license you link to was used. Before criticizing it, it is worth pointing out that the term "open source" was invented and the Open Source Definition was written in 1998. So discussing whether MySQL in 1995 was open source is kind of like discussing whether Jesus was a Protestant :-) But, yes, in hindsight we can conclude that the 1995 MySQL license does not qualify as an open source license, however I do see an intent that they wanted to be open source (but didn't qualify on the first attempt).

From 2001 onwards MySQL was released as GPL. I don't have historical documentation, but as far as I know Progress (Nusphere) may have somehow been involved, but in any case not any VC. It was also just before Mårten joined (don't remember the exact months now). In the years 2001-2005+ MySQL was therefore fully open source (GPL and partly LGPL).

MySQL Enterprise (née MySQL Network) was launched in 2005. (Seems late but this I remember I heard from Mårten himself: http://avoinelama.fi/palaute.php) I don't know when the closed source software was actually introduced, but it was in any case at some point after the February 2005 launch.

So in summary, despite MySQL's actual history being much longer than the GPL version, it is still true that MySQL was a fully open source product and since 2005 has been steered into an increasingly closed source direction (held back only by community outrage at times).

Disclaimer: I didn't double check all of the years, so may have made a mistake.

Anonymous friend (not verified)

Wed, 2010-06-23 16:56

I am less interested whether open core is evil - but whether it is legally acceptable with the GPL.. Has that been decided?

The 'open core' debate has been going on for years and show no sign of stopping any time soon.

Companies with an open-core model are not 'trying to sell closed source software'. They are trying to build a sustainable business. Doing so requires a balance of increasing adoption vs making sales. Unless you create viable, useful open source software you will not gain adoption. Marten is correct, selling the enterprise edition does enable (and motivate) the company to create more open source software.

The software that an open-core company puts into open source, is truly open source. It complies with every element of the OSI definition and license terms.

For many start-ups the choice is open-core or fully-proprietary - a pure open source (services only) model is not viable in many domains. People who object to open-core don't realize, if they 'won' and open-core went away as a business model, it would increase the amount of proprietary software in the future. Open-core companies are trying to disrupt established market segments with entrenched enterprise vendors who have expensive products. In the process of doing this these companies create useful open source software that is used all over the world by all kinds of organizations. Somehow this is not good enough, and these companies are attacked as the 'enemy' of free software - they are actually the enemy of your enemy, and should be treated as allies.

Lastly, very few people who complain about the open-core model have actually tried building a business using any of these models. I suggest you go and try it for yourself.

James Dixon, CTO, Pentaho.

Hi!

Open Core is a pretty poor term. Richard Hipp has a compression module for SQLite, does that make SQLite closed source?

No.

SQLite is not crippled, the interfaces are open and if you wanted to spend the time you could write your own compression component.

I believe that many of the objections around "open core" are around the white washing that happens when people try to cover over the components which are not available under an open source license or they in some way handicap the program in a manner that leaves it broken for common usage.

For the "open core" companies to be treated like allies, I believe they will need to become much more transparent in their actions and intent.

My experience tells me that "company to create more open source software" never pans out. What happens is that you make a little bit of revenue this way, and then suddenly everyone wants to try to monetize everything. Greed often wins out to the detriment of the product.

Cheers,
-Brian

BTW I have some more thoughts here on the subject.

Hi James and thanks for commenting.

Your comments adapt themselves to traditional email-like reply:

Companies with an open-core model are not 'trying to sell closed source software'. They are trying to build a sustainable business.

Well, I argue they are trying to build a sustainable business by selling closed source software.

Like I said, it is not illegal to produce and sell closed source software. I just want to call out which is which.

Doing so requires a balance of increasing adoption vs making sales. Unless you create viable, useful open source software you will not gain adoption. Marten is correct, selling the enterprise edition does enable (and motivate) the company to create more open source software.

This is also kind of true. Because users and developers like open source, the best way to get adoption and popularity is to do open source yourself.

And the world is not black and white, this isn't inherently bad. For instance, MySQL on average was good for open source.

Again, the point is just that open core is not an open source business model, it is a closed source business model - the business is in the proprietary software.

To further explore the fine line of semantics here, I think Matthew Aslett is correct in talking about "open source strategy". There you can fit in "open core" and Microsoft's "open edge" as open source strategies. (As in: "Our open source strategy is to utilize open source as much as legally possible, but our own software will remain proprietary".)

The software that an open-core company puts into open source, is truly open source. It complies with every element of the OSI definition and license terms.

This is true, of course.

For many start-ups the choice is open-core or fully-proprietary - a pure open source (services only) model is not viable in many domains.

But those two (or three) are not the only options. My whole point with the above blog post is that resorting to an open core model is just a form of laziness and lack of imagination.

People who object to open-core don't realize, if they 'won' and open-core went away as a business model, it would increase the amount of proprietary software in the future.

I don't believe this.

Users are adopting open source. VC's want to invest in open source. What I want to do is to educate people so that this momentum in favor of open source is not directed back at producing closed source.

In the extreme case, say that MySQL, Pentaho and others would get less investments without open core. It still doesn't mean that the same money would be invested in closed source companies instead. Closed source is going away and investors I know are less and less interested in it (but I admit the ones I know are not a representative sample).

Open-core companies are trying to disrupt established market segments with entrenched enterprise vendors who have expensive products. In the process of doing this these companies create useful open source software that is used all over the world by all kinds of organizations. Somehow this is not good enough, and these companies are attacked as the 'enemy' of free software - they are actually the enemy of your enemy, and should be treated as allies.

I second Brian's comment here.

Like I wrote above, I think it is great that IBM and Oracle contribute a lot to open source projects like Apache, as a by product of minimizing their own software development costs of the proprietary products. Similarly, it is great if an open core company produces useful open source software as part of their business model.

Even so, this does not qualify you as an open source company, if your business model is to sell closed source software.

Lastly, very few people who complain about the open-core model have actually tried building a business using any of these models. I suggest you go and try it for yourself.

Thank you, we are doing that.

Chris Hartnell (not verified)

Fri, 2010-06-25 15:16

Don't projects like Ubuntu One and Landscape mean that Canonical more easily fits into the definition of an open core company rather than an open source one?

Hi Chris

The short answer is: no they don't.

The reason is as I try to articulate in the blog post. Open source is a very well defined concept. For both Red Hat and Ubuntu, 100% of the software they distribute to customers is open source.[fn]Ok, so there are a few exceptions: Red Hat Network Satellite was originally not open source but is now, and Ubuntu's Landscape I think still isn't. Unlike Red Hat, Ubuntu also distributes a few closed source Linux drivers, but this is different as that is not software produced by Canonical, they only include that 3rd party software out of necessity.[/fn] In other words, having some web service available exclusively for your customers is generally not considered closed source or open source, since the software is not distributed to anyone.

On the other hand, since the underlying goal for using open source is user freedom and avoiding lock in's, it actually is a valid question, whether the trend towards more web service (or SaaS service) type of proprietary services is a bad thing. So even if until now such services have not been seen contradictory to the open source definition, if user freedom is at risk, maybe in the future we will have to revise our standards. There are already licenses like the AGPL that one could use to require source code availability also for web services.

In any case, "open core" is specifically used for the case when you distribute closed source software with the product that goes to your customers. We should use another term for services like Ubuntu One and Red Hat Network. (I don't think 451 group's Matthew Asslett has settled on a term for that yet.)

About the bookAbout this siteAcademicAccordAmazonAppleBeginnersBooksBuildBotBusiness modelsbzrCassandraCloudcloud computingclsCommunitycommunityleadershipsummitConsistencycoodiaryCopyrightCreative CommonscssDatabasesdataminingDatastaxDevOpsDistributed ConsensusDrizzleDrupalEconomyelectronEthicsEurovisionFacebookFrosconFunnyGaleraGISgithubGnomeGovernanceHandlerSocketHigh AvailabilityimpressionistimpressjsInkscapeInternetJavaScriptjsonKDEKubuntuLicensingLinuxMaidanMaker cultureMariaDBmarkdownMEAN stackMepSQLMicrosoftMobileMongoDBMontyProgramMusicMySQLMySQL ClusterNerdsNodeNoSQLNyrkiöodbaOpen ContentOpen SourceOpenSQLCampOracleOSConPAMPParkinsonPatentsPerconaperformancePersonalPhilosophyPHPPiratesPlanetDrupalPoliticsPostgreSQLPresalespresentationsPress releasesProgrammingRed HatReplicationSeveralninesSillySkySQLSolonStartupsSunSybaseSymbiansysbenchtalksTechnicalTechnologyThe making ofTransactionsTungstenTwitterUbuntuvolcanoWeb2.0WikipediaWork from HomexmlYouTube