Sun and Open Source - Development, not Deployment
In his recent posting on java.net Alan Williamson asks how open source software can ever be profitable. I believe his thinking confuses two different issues - how software is developed and how it is deployed. In some contexts they are the same thing, but in a growing number they are completely different. In the difference lays the answer.
I believe the best way to understand open source is as a methodology. It's essentially been in Sun's genes for 20 years, and Sun has repeatedly tried to fuse open community development and the creation of broad commercial markets in project after project. Today Sun sees open source as the best way to build great software in co-operation with the rest of the massively-connected community, given the commercial freedom to do so. We employ engineers to work on open source projects. We support the open source community; we deliver value to customers; we protect, facilitate and enfranchise both.
Open source is a software development methodology - that's why you need the source! The openness facilitates a developer community. It's not primarily intended as part of the deployment vehicle for end users, and that's where the risk lies. The developer-friendly features make it all seem so tempting for deployers - control over the software, free code and no lock-in - but those things were put there for the developers, not the deployers. Obviously an open development community needs the source code to be under an open-access license and on a web site - otherwise how could it function?
When deployers decide to use the benefits that facilitate the developers as the vehicle for deployment, they will inevitably 'pay the price' somehow. They could pay by putting people into the open source community to act on their behalf, collecting the code and deploying it on their systems. Alternatively they could get community members procure, perhaps customise the code and then deploy the results. But an expert is always required. Sun's answer, the one most companies want to hear, is "we join the community so you don't have to" - and in the process we indemnify you, we get your bugs fixed and we hold your hand.
For Sun, open source software development often makes perfect sense as part of our business plan. Our story is not "we want to bring it down", it's "we are a member-practitioner, and here's how we do it". Sun works in the Open Source community, and then adds value with packaging, documentation, support, long term insurance that the project will continue, indemnification and more, so that the Sun customer can feel secure in adopting an Open Source technology, and feel that they are justifiably receiving a value for paying money to Sun. Doing these things to enable deployment doesn't impact the 'freedom' of the development community - it just that the freedom that enables development isn't applicable to most people deploying.
Sun invests more in open source than pretty much any other company, has more reliance on open source in its products, and uses that experience to deliver the value customers want. I might summarise this by saying "Sun is the industry's biggest open source company" and "we joined the community so our customers don't have to" and currently most importantly "we're taking the risks so our customers are indemnified".
So how does open source make money, Alan? Well, simply by letting businesses make great products that people want. Development and deployment aren't (always) the same thing.
[Also posted on Webmink : the Blog]