The Open Source world is once again arguing with itself about what Open Source means and which companies can claim to be Open Source. EnterpriseDB is currently in the hot seat. The problem is that there are many definitions of Open Source and many Open Source style licenses like GPL, Creative Commons, BSD style, Apache style, MySQL style, and Sun's CDDL.
Is this a distinction without a difference? Do customers really care about the details of all these licenses? It should be noted that Microsoft, Oracle, IBM, HP, and every other software company have unique licenses as well. In my experience, customers care about a reliable solution to their problem, that works well with what they already have, with professional technical support, at a reasonable price.
Is it all about the source code? To me anyway, Open Source means you get access to the source code. The particular license determines what rights you have to the source code and what you can do with it. For most customers any of the licenses will allow them to do whatever they need to do for internal use. The reality is that only a tiny percentage, 8% or so, actually touch the source code, and still fewer contribute any changes back to the "community".
Is it all about the community? The GPL demands that any enhancements or changes to the source code be offered back, free of charge or encumbrance, to the community. The myth is that Open Source code is developed by thousands of members of "the community". The reality is that in most cases probably 50% of the code is developed by not more than 20 people. The BSD style license allows anyone to make enhancements or extensions to the source code, and to resell the software to customers for any price they see fit. And, no requirement to contribute those changes back to the community.
Is Sun's Solaris or Java truly Open Source? Was it developed by the community? To use Bill Clinton's words "It depends on what the definition of "is" is". Is MySQL considered Open Source? Go check out the MySQL web site. There are 4 different licenses for the same MySQL code...it all depends on how you want to use it. Hey, I have no problem with this. I think all software developers have the right to decide how their software will be used and distributed.
Customers don't care if the software was developed by one individual, a community, open sourced, out-sourced, or any other way. Customers care about solving a problem, having the software work well with what they already have, and having access to good support and documentation, all at a reasonable price.
This explains why the same customer will choose Windows for one application and Linux for another. They will choose SQL Server for one database problem and MySQL for another. It is not a religious issue for customers. It is a practical decision. I am reminded of a brilliantly simple statement by Microsoft's Jeff Raikes "Stay focused on the customer, not the competitor". At Microsoft we try hard to stay focused on the customer needs. Everything else is a minor detail...like those distinctions without a difference.
"Is it all about the source code?"
Depends on who you ask.
For the developers and many of the software vendors / service providers it is of course about the code. Not just being able to tinker with the code, but also to inspect the code, and reuse OSS components.
For endusers, its is less about code, but more about price, product and much less restrictive enduser licenses.
"Is it all about the community?"
It is not surprising, that a few prominent members contribute a large part of the source code, and that many of these people, are employees at software companies.
But firstly, your statistics form the Linux Kernel project may not be representative for the OSS community as a whole.
Secondly, it is also important to note, that the commuity does not consists of developers only.
So no - its not just about community, but it is ALSO about community. And these days I really don´t meet many people that claim that OSS is ONLY about community.
"Customers don't care if the software was developed by one individual, a community, open sourced, out-sourced, or any other way."
I don´t agree. I think that buyers should look for suppliers that will stay in business and will keep on supporting and updating the software, according to the buyers requirements for the software lifecycle.
I am not saying that they should buy either proprietary or OSS software. I am just saying that they should keep this in mind.
And I agree, that buyers do not (and should not), buy software out of 'religious' reasons.
As for open standards its an entirely different matter....
"Stay focused on the customer, not the competitor"
Hmm.... I think that most of your blog posts are about competitors ;-)
Posted by: Larz | March 02, 2007 at 01:03 AM
Larz, great comments! I agree with just about everything. I agree that Open Source appeals to developers for different reasons than it appeals to customers.
I am just surprised at the vitriolic arguments within the open source community about what it is and isn't, and who can claim to be a member of the club. For them it does appear to be a religious issue. For customers it clearly is not. And that was really my point. Stay focused on the customer...don't worry about what your open source competitors are doing.
And yes, you are right, I do write a lot about competitors, although I think of it as just writing about interesting things that are happening in the software world.
Thanks for your comments.
Posted by: DonDodge | March 02, 2007 at 08:37 AM
I think when one product is better open or closed the choice for the customer is easy, they want thier problem solved the best way. The intresting thing is when open and closed products are equaly good. In that case you have to ask yourself why would anyone chose the closed version.
Posted by: Fredrik | March 02, 2007 at 10:00 AM
The main thing to point out here is that "open source" is a term that refers first and foremost to software (and specifically its licensing).
Not companies.
It's also kind of bizarre to say that "the Open Source world is arguing with itself". You're implying that some kind of basically unified organization is having internal squabbles (which has a negative spin).
But there's no "open source" organization that these people all belong to. Open source is a breed of software license. Anyone can write a new license along the same lines, or use an existing license like the GPL for their software, or use OSS for personal or business tasks.
If these people argue... well, that's pretty normal, since they're all involved in different ways for different reasons.
So -- an "open source business"? Well, it's a mushy term coined by the businesses themselves for commercial reasons. A business can be involved with OSS in a million different ways, so a sharp definition is probably not going to be forthcoming.
But this separate issue doesn't affect the generally clear distinction between closed and open-source software.
"Is this a distinction without a difference?"
No, because the license does make a difference for practical reasons. Some clients will want the *possibility* of changing the source in the future -- even if that's rarely needed (the value here is based on how reliant a company is on a particular product). A proprietary software developer going under, being bought out, or simply sunsetting support for a product can cause disasters that could have been avoided with OSS and/or open formats. On the other side of the coin, OSS projects without firm funded involvement and strong development practices can have their own problems... it's important for companies to know the situation.
It also matters partly because when customers understand the philosophy behind open source licensing, they can sometimes choose open source software even if the short-term *business* case leans towards the closed-source product. The *idea* of OSS can sway decisions -- generally not for a non-technical CEOs, but definitely for the techies they rely on for advice.
The open source philosophy is about avoiding wasted development. If a software niche has only proprietary developers, every feature is developed in secret, redundantly and separately, and file formats are often intentionally incompatible to force customer lock-in. To enter the market, a new developer must start from scratch (and so probably won't try, which stifles competition).
In the ideal OSS-ruled niche, there's a code base that (often by license) is shared with other developers. New features are coded once -- or attempted concurrently, and the lesser implementation goes away when the other is adopted. Business models are more complicated, and companies developing full-on OSS must sometimes be more service and customization-oriented. Formats are open by default and shared by default, because of the shared codebase.
Obviously, if the same amount of development hours are applied as in the proprietary-only situation, the resulting product is far better and the customer wins with both a lower price and better quality.
To what extent this actually works is a different question, but the idea of supporting something "for the greater good" is not empty.
Posted by: Rob Whelan | March 04, 2007 at 05:04 AM
i would say Jeff is right on. So my advice: dont publicly bash IBM on standards issues. noone really cares that big blue is trying to make life harder for you - customers expect it. what matters is what you're going to do about it, for the customer. On open source its good to have the debate about what next...
Posted by: James Governor | March 13, 2007 at 07:49 AM