Posted Friday, 01 January 2010
Few people understand open source. Even fewer use this knowledge to their advantage. On one hand, there are free software fundamentalists with their utopian views, and on the other hand we have closed corporates who don't possibly see how open source could work. Both miss the point. I've attempted to explain it using four questions to guide the article. Admittedly, a lot of what I've said here was explained to me by Kiran Jonnalagadda (aka jace, jackerhack).
-
Why do RedHat, IBM, and Novell contribute so much to the Linux kernel? Is it because they care about the free software philosophy and are being charitable? To quote the Linux Foundation August 2009 issue, "Over 70% of all kernel development is demonstrably done by developers who are being paid for their work" and "None of these companies are supporting Linux development as an act of charity; in each case, these companies find that improving the kernel helps them to be more competitive in their markets"
-
Why does Google pump money into a competing against Firefox with an open source alternative, Chrome? To quote an excerpt from their December 2009 blog post, "Today's open source goes far beyond the "patent pooling" of the early auto manufacturers, and has led to the development of the sophisticated software components- Linux, Apache, SSH, and others- upon which Google is built"
-
Why are several of Microsoft's products losing market share? Why does Microsoft feel threatened by Linux? To quote Ballmer, "Linux is a cancer that attaches itself in an intellectual property sense to everything it touches". Is it because the general public is convinced by the GNU philosophy to "share with thy neighbor", or is it simply because of competition?
-
And finally, a slightly off-topic question to reinforce my point. Why did Apple finally make the move to x86 even after their innumerable claims that PPC is better? Is it because PPC is inherently inferior to Intel's x86, and nothing could have been done to save it?
All this points to one thing: Open source is an infrastructure. Just like the roads in the city that automobile manufacturers are interested in, software companies want access to existing infrastructure to build their own products upon and make money, instead of having to re-invent the wheel everytime. It's a win-win situation for all companies. Paying Microsoft to get Windows to support their products can be an expensive affair. So making an operating system a commodity is in everyone's interests (well, except Microsoft's). The web browser is another example of a commodity today. Everyone's interested in a good, conformant, open platform on which to develop their web applications on.
There are commodities in other sectors too. Apple moved to x86 because it was the standard commodity to use. Too many companies pumped money into it resulting in its development, and mass manufacturing brought down costs. Apple understood this- one company pumping money into PPC cannot match the rest of the world pumping money into x86.
The day a product comes out, every other company tries to clone it and make the product a commodity. In the small time window between the product being niche and the product becoming a commodity, there is money to be made. Take Netscape's example: Once they felt the pressure of the competing web browsers, they realized that keeping their browser closed and exclusively pumping money into it was pointless. So they opened it out, and started the Mozilla project. In other words, open sourcing a piece of software typically means that that piece of software can no longer make money as a traditional product anymore. Same reason Facebook open-sourced many of its components: It has everything to gain, nothing to lose. It's already too big on the social networking front to worry about competition there.
Largely, there are two ways to make money off this infrastructure: sell the cars that use these roads most sensibly, or follow a "pure service" model. The problem with the pure service model is that only RedHat and a few other companies have been successful at it. The argument "I created it, so I can service it best" doesn't hold anymore- too many people have technical expertise in open source software. So unless your service is the cheapest and the best, it'll be killed off by other service providers.
Products don't have to start off being closed and then open up when they stop making money. Companies are also interested in starting off free software projects. Google Chrome for example. They wanted to make this web browser a commodity, a commodity created by them. They'll have a foot at the door when Chrome gains larger market share.