I am way too tired to be writing what is sure to be a controversial post, but I don’t think I can help myself. In fact, I have little self control at all and I tend towards Wilde’s comment that the best way to get rid of a temptation is to yield to it.
[Note: on re-reading this it is a little harsh, even for me, so feel free to skip this post and move on to my travelogue from Milan]
I like Matt Asay. I think he’s a really smart guy, and he’s even gotten our back in the past. But lately I have to wonder what he’s been thinking. Today, especially, he went off on what he calls “free riding” in open source.
It really pissed me off.
Let’s revisit the definition of open source, shall we? The “open source definition” has 10 items (sort of a Bill of Rights), and the first three are:
1. Free Redistribution of software
2. Source Code to the software
3. Derived Works can be made from the software
Let me be blunt: the “enterprise” versions of so-called open source products built under the hybrid model violate all three of these rights. You purchase software under a restrictive license that doesn’t include the source code and doesn’t allow you to modify it. Sure, there is some small part of the code that meets the definition, but the hybrid company exists solely to profit from the sale of software.
That’s a pretty stupid business model.
Open source implies free distribution of software, which is the antithesis to commercial software. So the only reason I can think of why a commercial software company would tie itself to the term “open source” would be for marketing reasons. They want to capitalize on the success of projects like Apache and the Linux kernel, but without making the commitment to free the software. Why does this bother me so much? Because now I have to constantly explain to people what open source really means with respect to OpenNMS and it affects my ability to truly market OpenNMS as a free and open alternative to OpenView and Tivoli.
In his post, Matt divides open source communities into three groups, those that contribute code, those that contribute cash, and “free riders”. Now, when he says cash he means “folks that pay for a license to our proprietary code”. In that sense Microsoft must have a huge open source community.
People who contribute code are pretty self-explanitory, but what about the freeloaders – I mean “free riders”? What is their usefulness?
He comes up with two reasons, which I’ll paraphrase here:
1) They give the commercial “open source” company an edge by eating away at the market share of the commercial “closed source” company.
2) They provide numbers to help create a market share around the “open source” company’s software, thus increasing their valuation to investors as this is a greater pool of people to “convert” to “cash customers”.
Is that it? Without working hard I can think of several others:
3) They find and report bugs.
4) They contribute useful documentation if the community has a decent wiki or other such system.
5) They answer questions from new users on mailing lists and forums, thus driving interest in the application.
6) They suggest new features that may make the software better at its chosen task.
7) They promote open source software within their organizations.
There is some serious monetary value to these tasks, but it seems from Matt’s post that unless is its converted into actual cash it is not worthy. It isn’t a problem in a truly open project, since it is the community that should benefit from this work, but if your business model is to sell software licenses then, yeah, I guess all of those freeloaders would get you down.
Then he goes on to say
The more free-riders, the more encouraged would-be purchasers will be to free-ride, as well. Why should you be the only sucker paying for what everyone else is using for free, and quite comfortably?
This sucks for a commercial software company, but it doesn’t bother me at all. The OpenNMS Group is a services company. We don’t sell software, so if you don’t need our services why should we charge you for them?
If you are a commercial software company with an open source component, however, this can be a big problem. In fact, if you can’t meet your software revenue targets the smart thing to do would be to withhold crucial pieces to push more people to buy your proprietary code. Can you really call this model open?
Then comes the paragraph that sent me straight to the keyboard. I’ll break it up into pieces:
Ultimately, someone must pay for software in order to have it written.
If he means cash, that’s bullshit. It is quite possible to develop great code without a cathedral of paid developers. It will take longer at first, but it can be done.
Of course, “pay” could mean donations of time and effort, which do have a monetary value, but I don’t think that was his point at all.
There are huge benefits from open sourcing one’s code, but open source is not a substitute for the hard work of development, sales, marketing, etc.
Hard work of sales and marketing? Excuse me? When has a commercial software salesman ever added benefit to an open source project. The sheer idea of a seller of free software is ludicrous. Yeah, good sales and marketing will help one sell commercial software, but it is hardly necessary for the health of a truly open source community.
So what are the “huge benefits” of open sourcing one’s code? Well, if we rule out cash and freeloaders, that only leaves contributed code. Note that these benefits are “huge” so there must be some monetary benefit from the sweat equity of these volunteers. But how are these volunteers paid back? By having their efforts commercialized. They are barred from free access to the entire code base, which is only available in exchange for cash, yet their efforts obviously save the commercial entity money since they get features for free and usually with a copyright agreement that lets them create commercial derivative works from that code.
All companies, mine included, have some idea of an “exit strategy”. In the case of these hybrid commercial software companies, the idea is to get bought. The purchase price will be determined by their software revenue, so you can bet your life that the acquiring company will do little to open up the software, and may in fact commercialize more of the code.
If you ask me the entity getting the free ride is the “commercial open source” company. Was the purpose of this post to make people feel bad for just using the code and thus drive software revenues? Software license revenues have no place in free and open source software.
Nor is [open source] a winning business model, in and of itself.
Again, wrong. My company posted a 21% net profit last year. We used that money to almost double our staff, and we plan to do it again this year, and we did it without a single software license being sold. It may not be a palatable business model for Silicon Valley, but it works fine in the rest of the world.
If you have to violate the definition of open source for your revenue, why call yourself an open source company? The emperor is naked, folks, and his little hoo-hoo-dilly is hanging out. Perhaps if enough of us laugh at him, he’ll put some clothes on and get the frack out of our damn yard.