I came across a post by Brian Gentile, the CEO of Jaspersoft, where he is trying to defend the “open core” business model. I tried to comment on his blog but got the following captcha, which I just couldn’t figure out (and nothing really happened when I clicked on the little handicapped icon).
Since I just finished Watchmen I’m kind of in an odd mood. I sometimes question whether my devotion to protecting the term “open source” is devolving into the moral rigidity of someone like Rorschach. In any case I will attempt to address some of the points raised by Mr. Gentile.
1. Community involvement in the core code is encouraged, while community “extensions” are not only plausible, but probable.
Of course community involvement is encouraged. I’m sure all commercial software companies would like to have a group of programmers adding features to their product for free.
I’m a little confused over “plausible, but probable”. One way I would interpret it is that it’s great of you add features to our software, and it is “probable” that we’ll accept them, unless they conflict with our commercial features.
2. Commercially-available extensions, a superset of the core and ideally with visible source code access, are provided, thus creating the value and assurance commercial customers often require to sign a commercial license.
Of course, in the open core model there must be “commercially-available extensions” in order to get companies to sign a “commercial license”. Why is this? Because the open core product has been intentionally hobbled to force companies to buy the closed software product in order to get it to do the things that customers need it to do, and thus to generate revenue for the software company.
Isn’t this the same thing as a shareware application? The “free” version does some things but it is the full featured version that most people need.
Also, I want to point out a new trick in the open core marketing book: “ideally with visible source code access.” Many open core vendors are supplying the source code to their commercial clients, but under a very restrictive license. Access to the source code is not “open source”.
3. The Community needs a healthy and growing group of Commercial customers to both legitimize the open source code base and ensure necessary financial success so the on-going advancement of the products / projects are assured.
Why? This is the other argument that open core loves to make: good software cannot be created unless someone pays for it. And, it seems in this argument, good code can not be legitimate unless someone pays for it. I think it is a large, open community that legitimizes the product, not the other way around.
The thing that pisses me off the most about this statement is that you can break down the reasoning behind it as:
You, the community, can add features to our code. We, the corporation, will then use those features to help sell our commercial software. If you work hard, we’ll be successful, and if you are lucky some “free” features will trickle back down to you.
Bah.
Mr. Gentile then goes on to state that “some have claimed the only true and legitimate open source model is to provide identical community and commercial editions of the source code.” Yup. That would be the case. The Open Source Definition has many requirements, and having separate commercial editions of the source code violates many of those. Ergo, you are not open source.
He goes on:
Minimally, this argument misses a valuable history lesson. Most major software categories where open source has positively disrupted have required successful commercial open source companies to eventually use a model similar to open core, in order to continue growing. Think JBoss, Linux (Red Hat Enterprise Linux, Novell/openSUSE), SugarCRM, Hyperic, Talend, and of course, Jaspersoft.
First off, Red Hat Enterprise Linux passes the CentOS Test, so I wouldn’t call it open core. I just went to the JBoss site and I’m having trouble finding the “commercial software extensions” that would be present in an open core product. I don’t know enough about openSUSE to comment, but I assume it is very much like RHEL and would pass the CentOS test.
So, that leaves SugarCRM, Hyperic, Talend and Jaspersoft. See, all of these open core companies want to be associated with Red Hat and JBoss since those are obvious commercial open source success stories. But those two companies are not open core – they provide a lot of value without having to resort to commercial software. While the open core model may be successful as a commercial software business model, it ain’t open source, no matter how many times they say it is. If they would just own up to the fact I could stop wasting my time, and yours, on these posts.
And what about MySQL? Why did he leave that one off? Up until the last few years MySQL was a pure open source company. Sure, they would sell commercial licenses to their software, but that software was identical to the GPL version. I have absolutely no problem with this, and I think it is a valid way to generate revenue.
But look at MySQL, JBoss and Red Hat. They are all enabling technologies, and not really applications in and of themselves. This is a lot like OpenNMS, which is designed as a platform on which to build and not a rigid shrink-wrapped application. This is where open source really shines.
He concludes:
The pure open source model will continue to democratize software development and yield some commercial success. But to truly disrupt software categories where proprietary vendors dominate (and to deliver large new leaps in customer value), the open core model currently stands alone in its opportunity to deliver community progress and commercial success.
I see little difference in the “open core” model and that of “proprietary vendors”. The code, unless forked, is still 100% controlled by one commercial entity with a business plan to make revenue on software licenses. If the business is to run well, then the needs of the community will ultimately be sacrificed to the needs of the corporation. Couldn’t a proprietary software company make the same argument? That if lots of people buy our software we’ll have money to make “large new leaps”?
If you like your users why not provide all of the features as open source? Red Hat does it, JBoss does it, OpenNMS does it. The answer will always be that their business model can’t survive unless they sell closed source software. In that aspect, I can see little difference between open core companies and Microsoft.
The key phrase that struck me here was “yield some commercial success”. Pure open source works, but just not fast enough and big enough. For whom? Why the investors in these open core companies, of course. They want commercial software-sized wins in a short amount of time, and thus they have to adopt a commercial software business model, using the term “open source” to market it.
The real weakness in the open core model is that, while it adopts a commercial software licensing model, it dilutes the intellectual property value behind it. Why should I consider acquiring an open core company when I can just take the open source pieces and add the most requested missing features for much less money?
Open core software is a fad. I have no doubt that it will make some individuals wealthy, but pure open source is catching up and will eventually disrupt both the pure proprietary and open core proprietary software business models.