One of the best ways to see the success of the open-source philosophy is to pick up a cellphone. If you happen to grab an Android phone -- the most popular in the smartphone class -- you'll have a device running a package built by Google and sitting on top of Linux. Almost all of the source code in the stack is released under a generous open-source license.
If you grab an iPhone, you can marvel at the beautiful shell that Apple has wrapped around the core operating system descended from the BSD releases of Unix oh so many years ago. Even the Nokia phones are running some code that was open source for a brief instant as Nokia created the Symbian Foundation and then absorbed it.
[ Also on InfoWorld: The greatest open-source software of all time | Top 10 Open Source Hall of Famers | Follow the latest in open-source developments and thinking with InfoWorld's Technology: Open Source newsletter. ]
The smartphones are the platform of the future, and open-source advocates are proud of the fact that many of the smartphones at the top of the pyramid are built around source code that is protected by open-source licenses. Aside from RIM BlackBerries and Microsoft's phones, open source code is everywhere.
The success of open source is so huge that Linus Torvalds has stopped kidding about it. "I don't say world domination anymore," Torvalds remarked at LinuxCon Japan this year. "It was funny 15 years ago because it was so obviously a joke. For the last 10 years it's not been so much a joke anymore, so it's no longer funny, so I stopped saying it."
Torvalds was speaking about Linux in particular, but open source is just as dominant in general. Web repositories like Sourceforge and GitHub are overflowing with source code ready for anyone to download, revise, and extend. The TiVo and other appliances with open source foundations dominate the living room, while practically every new website is built around a large collection of open-source packages, not to mention all of the tools for the desktop and the data center. Torvalds is right to avoid appearing too arrogant.
For a healthy sampling of open-source success, just follow the links below to profiles of InfoWorld's 2011 Bossie Award winners:
Bossie Awards 2011: The best open-source applications
Bossie Awards 2011: The best open-source desktop and mobile software
Bossie Awards 2011: The best open-source application development software
Bossie Awards 2011: The best open-source data center and cloud software
"We don't pick on Microsoft anymore," said Jim Zemlin, executive director of the Linux Foundation. "It's like kicking a puppy."
Instead, the Linux Foundation, an umbrella organization charged with promoting and nurturing the code, staged a big party for the 20th birthday of Linux. The operating system is so ubiquitous now that it's hard to remember many of the challenges faced by developers long ago.
"There ain't a component out there that doesn't have Linux," Zemlin continued. "In embedded, it's No. 1 market share. In mobile devices, it's No. 1. In server side, it's No. 1. It's really the desktop where Linux hasn't made inroads."
It's easy to find hundreds of other positive signs of open source domination. If the mere existence of a tar file filled with code from the nether regions of a beeping device that's buried deep inside someone's pocket is all you need to feel warm and fuzzy about "open source," you might conclude that open-source development is the most dominant form in the increasingly dominant platform of the future.
"Asking a developer to not use open-source software is like asking a handyman to forge his own tools, nails, and rediscover how to generate electricity at every job site," said Chris DiBona, the open-source programs manager at Google. "Open source is everywhere, and it is never going to go away."
Open source, closed platforms
Ah, but anyone who digs a bit deeper will find it's not so simple. Although the "open source" label is more and more ubiquitous, society is still a long way from Richard Stallman's vision of a world where anyone could reprogram anything at any time. Patents, copyrights and corporate intrigue are bigger issues than ever for the community, and more and more people are finding that the words "open source" are no guarantee of the freedom to tinker and improve. Some cynics even suggest that the bright, open future is receding as Linux and other open source tools grow more dominant.
To make matters worse, there's a continual challenge to pay the bills. Success with tip jars and subscriptions is rare, and arm twisting is more common. Cynics even suggest that Google's decision to purchase Motorola is proof that even Google's powerful ad sales engine could not support giving away all of that Android code for free.
Consider the iPhone. It may be built around a BSD core, but Apple has deftly created its own impenetrable layer of security enforced with an iron will. Nothing runs on a stock iPhone without the express, digitally signed permission of the mothership. Some people defy these rules by jailbreaking the iPhone operating system, but they risk turning their device into a useless brick. Every new release of the operating system requires the jailbreakers to rediscover their way through the armor.
It doesn't matter how open the core of iOS happens to be. It doesn't matter how hard the BSD developers worked to release their code to the world under a very generous license. The platform built on top of it is the most locked-down that ever existed.
This practice of running barbed wire around the commons to create a private grazing land is not the sole province of Apple, either. Google's Android platform seems dramatically more open because Google routinely releases big tarballs filled with almost all of the code. The Android Market is much more flexible than Apple's App Store, and it encourages competition.
But let's say you want to do something with this source code other than start up the pokiest simulators known to man, the Android simulators for your PC. The smartphone may reject your recompiled code, no matter how much it cuts power consumption or makes life better. There are plenty of stories about programmers who thought they knew what "open source" meant but discovered that the phone manufacturers have different ideas.
As Jeff Bates, a former editor at Slashdot, put it, "They're phone companies. They're not in it for the love of the sport."
Then there's the issue of timing. Google is trying to extract leverage by keeping the code in a secret lair, at least when it's new. Do you want the source to Android 3.0? Sorry. That version is just for special partners who are cutting special deals with Google. But don't worry. Someday your grandkids will be able to compile that code because Google will release it eventually.
Paying the developers
These kinds of power games are becoming increasingly common in the open-source world. There are a number of wonderful projects filled with great code written by a company that also sells a commercial version of the software. In order to keep the company in business, the so-called community version offers just enough of a taste to get you interested. Anyone with real needs will have to buy the commercial edition. The game is to come up with some secret sauce that will be seductive enough to get people to pay up.
This can be glaringly obvious. The menus at RedHat.com are filled with options such as Buy Online and Renew Subscriptions, but I couldn't find a way to download the source in a few minutes of poking around the entrance page. I'm sure it's there, but the website is designed to make money, not to make it easy for people to grab the source.
RedHat.com is hardly alone. SugarCRM, for instance, brags about being open source and it makes it easy to download a copy of the "community edition" before trying to sell you on all of the advantages to a "free trial" of the pro software. It's not really fair to single out these companies by name because many open-source companies are looking for any leverage to keep enough revenue flowing so the bills will be paid.
Defenders say that this tension between freedom and forced payment is only natural and doesn't hurt the main goal. The source is still available. You can modify it just as you like even if it requires paying the commercial license fees. Richard Stallman has long said that software must be "free as in speech, not free as in beer."
The open-source world still hasn't found a good way to resolve the tension. In the past, some hoped that the hard-core developers would be able to support themselves by selling "support," but this tactic seems to be on the wane and value-added options such as hosting and custom development have become more common.
The old proprietary companies are noticing that hand-holding and packaging can be more important to customers than access to the source. Oracle, for instance, offers fully functioning demo versions because it knows that most developers aren't interested in actually reading the code. The programmers just want to see if the database actually does what they need. If the code goes into production, Oracle is there with a license.
Paying the suits
Issues like this are dividing the open-source community into two camps. The vast bulk of the projects are relatively small community products run by developers for developers. The libraries and tools are used by people who can read the source code, so they value openness. The licenses make each and every member a full partner in the creation from the beginning, and this encourages the contributions that inspire metaphors like "melting pot" and "stone soup." Everyone playing at this level seems to be getting what they expect from the licenses.
But things are changing at the highest levels because vast fortunes are now being built upon the code created by these contributions and the status of the code depends heavily on the licenses. MySQL, for instance, was worth $1 billion because the company owned the copyright to the entire body of code and could use this leverage to extract fees from commercial entities that relied upon it.
Many eyes continue to stay focused on Oracle as the company makes decisions about how it will continue to digest MySQL and the other open-source projects that came with Sun. There are few indications that much has changed dramatically. The MySQL code is still largely produced in-house, and Oracle still offers commercial licenses. The Oracle logo is visible on the front page of the MySQL website, but it's buried at the bottom. Oracle seems happy to move slowly.
Another area of much concern is how Oracle will treat Java. While many pushed Sun to be quite open with the source code, the company retained just enough legal power to exert control. Now Oracle is using some of those strings to sue Google for its use of Java in Android, insisting that the phones are infringing on some patents. Some are suggesting that Google may settle and agree to pay a fixed amount per handset for a license.
Oracle is not alone. Microsoft has approached mobile phone manufacturers with its own patents, and some calculations suggest that Microsoft may make vastly more money from the sales of Android phones than the sales of Windows Phone 7 licenses.
"There is little relief in sight," said Google's Chris DiBona about patents in general. "It is my thinking that the consumer is already spending in the aggregate billions more for software, hardware, and services than they'd need to if we didn't have software patents dragging down the industry."
DiBona did not comment about the Android suit itself, limiting himself to general discussions about how patents affect all users.
"The current effort is to use the power of money and the contempt for sharing to earn unjust economic rents by charging users for our innovations on the basis of widespread abuse of patent law," said Eben Moglen, a law professor at Columbia University who directs the Software Freedom Law Center.
While Moglen points out that many open source projects may have a good defense against patents because the source code is published, he notes that it is often time-consuming and expensive to fight the legal battles.
"In general, we're going to be captive bystanders to the war," said Moglen. "This is going to go on for years. It's going to spread rather than die out. In the United States, it's the equivalent to a domestic trade war. It's going to replace billions of dollars in innovation with hundreds of millions of dollars of litigation."
Indeed, many have noticed that Google's use of a permissive open-source license with Android has been a double-edged sword. While the generous terms no doubt made it possible to lure top manufacturers to the platform, it placed Google in a position where it gave but rarely received. Will the money that Google makes selling ads on the searches done with Android phones pay for all of the development? Perhaps that may come to be true, but there's little to control the handset manufacturers in the Apache license -- the license for the majority of the Android code. The hardware guys can swap out their own search engine with their own ads, then text "kthxbai" to Google.
Rethinking open-source licenses
Battles like this should worry project managers if they hope ever to build something as big and world-changing as MySQL or OpenOffice.org. Suddenly all of that legal red tape becomes more and more important -- perhaps even more so than crafting superior code.