My four posts on Open-Core Licensing:
- Open Core Licensing defined (AUGUST 29, 2008)
- New and Improved Open Core, with AGPL (FEBRUARY 2, 2009)
- Open Core: the New Standard in Commercial Models (MARCH 2, 2009)
- Variants on Open Core (March 25, 2009)
On the topic of commercial open source business models, I think MySQL chief Marten Mickos gives a great overview.
Having worked for the company with the most widely deployed (open source and otherwise) business intelligence solution the past two years, I have come to appreciate what appears to be the standardization of a certain open source business model, a specific kind of 'dual license' (#6, "Commercial Extensions" in Marten's list). I believe some dual license strategies have gotten a bad rap, perhaps because of the confusion they cause or the approaches vendors take. I propose to rename this #6 dual license strategy as "open-core licensing", to remove confusion and promote a great business model for open source communities, paying customers, and vendors alike. (and this does not prevent using other means of revenue generation including #3 and #4 on Marten's list: if you embed it in closed source, you pay a fee; services are for a fee).
Dual license means that a vendor owns the intellectual property of a product, and they therefore have the rights to license it in two ways: an open source license (nearly always GPL), and also a commercial license. The vendor may choose to have the commercial license's bits be precisely the same as the GPL product's bits, or not. The really interesting version is, as in #6, when the commercial license is a super-set of the open source product, i.e., it offers premium product features that you will not see in the GPL license. (and the commercial license extra features might even have 'viewable code' albeit not fully GPL). This is highly interesting for customers and the vendor for a variety of reasons. If you rename what it is called, you help to remove the "bait and switch" controversy by openly recognizing it as an emerging standard business model with specific attributes associated to it (ie, GPL core, with commercial extensions.)
Typically, a religious open source war breaks out on this point. Some say that this dual license strategy is OK, but as long as you follow the spirit of segmenting by user base, not features. (Fabrizio Capobianco notes that it also becomes difficult for a product manager to determine which features should be commercial and open source. A struggle happens within the vendor between the community leader and the sales manager. Perhaps a timebomb on all commercial features after a certain period of time from the commercial GA date makes those commercial features become GPL, but that may not be workable as it would make a long-term business model a lot trickier.) 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.
For the customers this dual license is great; they get to kick the tires, or even use permanently, a GPL a "core" product license, free of charge. In addition, the customers enjoy, in a way, guarantee of liberty from the vendor; if things go sideways for the vendor, there is a sort of a "guaranteed escrow" of the source code thanks to the GPL license. The other, and arguably bigger benefit, is that which comes along with the code being open source. I am not saying that most customers will want to dive into the code themselves -- far from it. Rather, the open source nature of a product promotes a lively ecosystem that pops up around it. That ecosystem might be driven by a handful of hardcore developers and/or partners, as well as the occasional "long tail" specialist contributors. None-the-less, the benefit is there. You no longer have, as in Microsoft's case, an omnipotent power holding your future ransom over its API's and source code. I think this is one of the core values and dreams of the open source movement, and I think it is safe to say that it is playing out beautifully when you look at the leading open source ecosystems out there: Linux, Apache, MySQL, Eclipse, OpenProject, Talend, Mulesource, Alfresco, Drupal, Sugar, Jaspersoft, etc. They all have absolutely thriving communities thanks at least in large part to the open source model. And everyone benefits. Of course proprietary vendors can have large and vibrant communities also; I am just saying open source is one useful vehicle to make it happen, and typically more quickly.
Customers also benefit from the vibrancy of an open source industry, backed by profitable and thriving companies. The commercial open source companies act as strategic and full-time champions to the open source movement.
Now how do the vendors benefit? Well, that's easy. They have a way to more effectively monetize the large, open source communities by charging for significant extra value that they are delivering to the customers. Of course, the community still gets the core, commodity features as GPL, so they are losing nothing while gaining a prominent, full-time champion in the vendor. If the extra features are useful additions at a reasonable price, customers will be happy to pay for the value-add. I have observed with interest how some commercial open source vendors swear that they are earning significant revenue solely from training, professional services, and technical support - and of course indemnification. And then industry pundits responds, "oh, services -- does that really scale?" And then the stammering begins. No, a services model does not scale well for a software vendor.
This all leads to confusion by customers and backpedaling by some commercial open source vendors. For customers, they are confused by "what is really open source?" Some vendors use GPL; some swear by only MPL, LGPL, Apache, etc.; and still others issue their own flavor of open source license with some "small" strings attached. And those "purist" open source vendors stoke the FUD by pointing fingers at what is and is not "true open source." It seems there is still a lot of confusion on what business model makes sense for opens source. And at the same time, some leading open source vendors who do not openly evangelize the dual license model feel stuck between their open source religion and a mission to earn a profit. They are apologizing to their communities and to the market as they nudge themselves towards the inevitable dual license model. They indeed are beginning to offer commercial add-ons while nearly apologizing and trying to defend themselves that they "really are pure open source." Don't worry, guys, there is no evil behind dual license. Quit apologizing and go for it. Everyone wins.
My feeling is that we would save a lot of confusion for communities, customers, and vendors if all recognize that a dual license ''open core" model is a sensible business model for all involved. (Except those poor vendors who do not own their intellectual property; I am sure they will be happy to tow the traditional line.) And perhaps we could clarify the point if we were to use a new term, for example, "Open-Core Licensing." (not to be confused with the very interesting Open Core project.) In this way, it is clear to customers that there is a "core" open source product that is GPL, and there is also additional high-value available as add-on features for purchase. So who is using "open-core licensing" successfully? Well, Sugar, Jaspersoft, Zimbra, and Talend to name a few of the rapidly growing list. Even MySQL may already be in that category, up for interpretation perhaps; it may depend upon whether the definition requires commercial extensions to have viewable code or not. This "OCL", I suspect, is probably to become the standard business model of commercial open source. Do you agree? If so, shouldn't we give this specific dual license model a more clear and descriptive name? If not "Open-Core Licensing," ideas welcome...
So I propose the following for the OCL business model:
- core is GPL: if you embed the GPL in closed source, you pay a fee
- technical support of GPL product may be offered for a fee (up for debate as to whether it must be offered)
- annual commercial subscription includes: indemnity, technical support, and additional features and/or platform support. (Additional commercial features having viewable or closed source, becoming GPL after timebomb period are both up for debate).
- professional services and training are for a fee
Don't worry, not all is solved in this blog post. Still plenty of room for debate. If this dual license receives wide recognition from commercial open source vendors and communities, next, we can debate as to whether the commercial license in OCL has viewable or closed code for the extra features, as well as if commercial extensions should automatically timebomb to GPL 18-24 months or so after the GA date of the commercial features. I look forward to alternative ideas and debate too.
note on Aug 31: I learned today that Barry Klawans and Paul Doscher deserve credit for being the ones that devised the OCL business model that I am describing (including viewable source for commercial extensions) when they were at Jaspersoft. They took inspiration from MySQL and Sugar, but Barry also added the "viewable code" clause for the commercial license due to feedback from the community. Some community folks noted that if the commercial extensions are closed source, it takes away some of the great benefit from going with an open source product in the first place. So Barry came up with 'viewable code' as a happy medium.
Check out my other blogs on Open-Core Licensing:
- New and Improved Open Core, with AGPL (FEB09)
- Open Core: the New Standard in Commercial Models (MAR09)
- Variants on Open Core: (APR09)