In the beginning, open source software looked like a saintly gift to the commonweal. Programmers would work hard, then give away the fruits of their labor to anyone who wanted it. Everyone would benefit from this act of pure charity.
Over time, however, companies realized they could make money and give away the software at the same time. They could do well by doing good. This wasn't a shock to some of the original open source advocates -- it was how some intended it to be. Richard Stallman, for one, always said that "free speech" was more important to him than "free beer." He embraced the idea that companies could charge anything they like -- as long as the user could fiddle with the code and distribute the result.
[ InfoWorld presents the Bossies 2013, the best open source software for clouds, mobile, developers, and more. | Track trends in open source with InfoWorld's Open Sources blog and Technology: Open Source newsletter. ]
Many companies took this as a blessing to make money and serve their destiny. The smartest figured out how to use open source to strengthen their business, spread their brand, and bolster their power. Open source was not so much a charity as a different kind of marketing, a way to squeeze into the marketplace.
The savviest open source devotees embrace this self-interest. Everyone along the chain, they note, must be motivated to contribute for a reason. The genius of open source, they explain, is that it helps coordinate our selfishness and turn it into something that benefits everyone. The contributors become equals, and there's little squabbling about rights to blocks of code. The sharing lets everyone concentrate on the quality of the software, not on licensing issues.
Here are nine ways companies use open source to profitable ends. While these approaches may offend the naive, most fall under the heading "Before you do good you must do well." A project backed by a flourishing business is much better than a pile of code that may or may not be fixed in the future. Freedom without stability isn't worth very much.
Open source profiteering strategy No. 1: Open source as low-cost marketingAdvertising costs money. Trade shows are expensive. Marketing budgets are never adequate. Many companies see open source as a cheaper alternative. Releasing all or part of the product as an open source package can attract users who will use the product and discover what it does. The product speaks for itself and brings in the users, then the sales force steps in when it's time to upsell.
Some open source companies such as MySQL have said it's a mistake to focus too much on how many are getting the product for free. It's not usual for companies to cite figures where 90% or more are not paying. They usually don't cost the company very much because the open source packages cost little to distribute.
The trick is to make sure that the moneymaking features are compelling enough to support the rest of the product. They should be a small part of the product but crucial for the folks who will pay. Sometimes the extra may be a feature that increases stability for enterprise clients that want their software to run smoothly 24/7. Others offer privacy and force users of the open source version to broadcast their work to the world. These small features are supporting hundreds if not thousands of companies today.
Open source profiteering strategy No. 2: Open-sourcing code to reduce support costsHave a problem? Here's a stack of code. Figure it out for yourself.
While it sounds callous, many open source companies rely on pointers to the source code when dishing out support. The proprietary companies need to write a complex description of what the API does, but the open source companies just point to the API gateway that does the decoding. Anyone can read the source -- and many do. It's now common for companies to run a support forum next to the code with open debate about the software. It's just faster.
Good, well-documented open source software can be a gift for everyone involved. The able customers can answer their own questions without waiting for a support technician to dig up the code. The support team can save themselves the hassle of trying to translate the code into English. Done well with a vibrant community, everyone can benefit with access to the open source.
Open source profiteering strategy No. 3: Open-source to reduce development costsYour company needs a tool or library or component. Developing it in-house would cost big bucks. Now imagine there's an open source version that does half of what you need already. Paying for someone to add the necessary features may look foolish or generous or both because the open source license will mean all the additions must be shared with everyone. But it will also cut the development bill in half. If the software isn't a critical part of the business, this can be a smart way to slice development costs while appearing to be magnanimous and devoted to the community.
Some companies solve these problems by paying the developers they know and trust. Others advertise for people who are already contributing to the project. A number of crowdfunding sites like BountySource let users pool their money to sponsor programmers to deliver the code. They come and go, but the idea lives on.
In some situations, a group of companies can rally around an open source code base, with each contributing a fraction of the development costs. They all save money while building a crucial tool they use together. The savings can be significant. Even if there's only one other partner, the costs might be cut in half. If there are 10, the costs could be cut by 90%.
Open source profiteering strategy No. 4: Open-sourcing code to push back against a rivalWhen Google launched its Android OS, Apple's iPhone controlled an overwhelming amount of the smartphone market. Giving Android away as an open source platform made it easier for Google to work together with the other phone manufacturers to create a flourishing platform that could support apps that everyone could use. The open source license made each company an equal partner in the project by giving them access to the source code and control. They could feel secure in choosing it because they knew that Google couldn't revoke access.
This shared process is growing more common. OpenStack, a project sponsored by Rackspace, lets smaller cloud companies band together and offer a common platform that will be more attractive than the dominant cloud from Amazon. Not only can the customers choose between multiple companies, they can also install the cloud tools in their own data center. The same basic structure is found in all of the clouds, and the scripts work the same everywhere.
Open source profiteering strategy No. 5: Tapping open source to launch a competitorThe open source license makes one thing simple: Starting up a rival. All it takes to create a new company from scratch is access to the source code repository. After you download it, you can hang your shingle and start competing from the first day -- heck, the first few minutes.
Starting up a competitor, though, is far different from sustaining the effort. Downloading the code is easy, but gaining even the basic competence takes months. Becoming a true expert can take years. Really competing means building a team that can offer real expertise.
This is why competition only appears in rapidly burgeoning areas where demand far exceeds supply. When interest in Hadoop exploded several years ago, new startups appeared quickly. All began with the same Hadoop core, but they quickly began to specialize by offering their own special add-ons.
Open source profiteering strategy No. 6: Open-source to keep competition in checkCompetition in the world of open source is a two-way street. While anyone can come along and snarf source code in seconds, they are often bound by a license that forces them to contribute all of their innovations back. If the new competitor does anything clever, all of the old teams also gain access to everything. Some of the most popular licenses like the GPL guarantee that everyone must share alike.
This share-and-share-alike rule makes it hard for any upstart to challenge an effective leader. Any neat innovations that come from the upstart can be absorbed by the leader, making it hard for the upstart to gain any real traction. The rule that makes it easy to start up a competitor also makes it impossible for the competition to flourish.
Michael Tiemann, one of the founders of the early open source powerhouse Cygnus, once said presciently, "Fortunately, the open source model comes to the rescue again. Unless and until a competitor can match the 100-plus engineers we have on staff today, most of whom are primary authors or maintainers of the software we support, they cannot displace us from our position as the 'true GNU' source. The best they can hope to do is add incremental features that their customers might pay them to add. But because the software is open source, whatever value they add comes back to Cygnus."
While this can sound like an evil monopolist speaking, the idea has limits. If the leader does a bad job, invests in silly enhancements, or squanders its revenue on worthless add-ons, a new fork can steal the momentum. It's not impossible.
This rule limiting the power of forks doesn't hold if there are two legitimate reasons for the separate code bases to exist. If there are two distinct uses for the software, two different groups can easily specialize in both. The competition can survive if it serves a different and distinct market.
Open source profiteering strategy No. 7: Open-source to drive a hard bargainWhile many open source licenses are flexible, some are increasingly Draconian. One of the newest, the Affero GPL, insists that the code must be shared if the code is merely running on a public server. The license emerged after some in the open source community noticed that some developers were benefiting from open source software but avoiding the requirement to share their own contributions. They weren't "distributing" the software, just running it, and the GPL only forced sharing when you "distributed" the software.
Some developers find this requirement easy to follow. They may be just experimenting or merely offering a free service. Sharing their own improvements doesn't put them at a competitive disadvantage. But many in business find the rule more trouble than the cost of buying a commercial license. The strength of the license helps nudge them to support the product.
The AGPL is a popular choice for many of the newer projects like the various NoSQL data stores. MongoDB, for instance, adopted the license for its core tool: the database. The company chose to protect the drivers, though, with the more lenient Apache license to encourage people to link to its core offering.
Open source profiteering strategy No. 8: Open-source to develop shared standardsEvery business and marketplace needs a set of standards so that customers know what to expect and businesses know what to build. Open source can often help create these standards of interoperability.
Take HTML, the language we use for marking up documents on the Web -- but also a crucial standard that allows Web browsers to compete. Once the industry coalesced around the HTML standard, browser makers were able to innovate and compete on features instead of content. Content creators, on the other hand, were assured that the Web pages they produced would generally work on all available browsers.
Open source tools often lie at the center of this evolving standard. The mobile browser marketplace, for instance, was largely defined by the WebKit rendering engine originally created by Apple but adopted by Google and others. Apple could have kept this technology proprietary, but that would have meant less interoperability between the iPhone and other smartphones, translating into fewer websites with content tailored to and rendered readable on smartphones in general. That would have slowed the marketplace. Releasing it as an open source toolkit nurtured a shared standard.
Open source profiteering strategy No. 9: Open-source to control the futureA number of businesses, big and small, pay their employees to work on open source projects. Some even donate large blocks of code that they spent plenty of money to create. They want to make sure they influence the way the code base is developing, and the easiest way to do this is to contribute lines of code.
This influence is constant. Many of the most important contributors to all the major projects like Linux also work for companies that want to stay current. The goal, of course, is to make sure the open source code remains useful for their purposes. If the library or tool is growing, the new features may not be compatible with the company's proprietary tools. But if the company writes a big chunk of the new features, they'll be able to ensure it fits their needs. As Alan Kay, the inventor of the Alto, once said, "The best way to predict the future is to invent it."