While it likely won't affect any U.S. companies, proposed legislation by the Peruvian federal government could affect the open source movement worldwide. The pending legislation mandates that Peruvian government agencies use open source software—an action that would clearly hurt Peruvian software companies, because the government is the biggest software user.
Most Peruvian software development teams don't use open source because they want to protect intellectual property rights. And while the Peruvian market itself is fairly small, other Latin American companies are watching to see how the open source mandate turns out. If Peru passes the legislation, many other countries could follow suit.
It would be a boon for open source, but the proposal does accentuate a big question that many U.S. CIOs are grappling with today—what are the most important issues regarding the use of open source software?
What is open source software?
Perhaps the best place to start is by defining open source. In its simplest form, open source means that a developer creates a piece of software and then releases it to the market for use and modification as long as the same licensing conditions extend to future modifications.
All the product’s source code must be made open to anyone who wants to see it or extend it. This is different from releasing source code to the public domain, where the developer places no conditions on the use or modification of his or her source code.
The concept behind open source software is that a community of developers works to enhance applications that they use regularly, and everyone benefits equally from enhancements.
The best-known example is Linux, which has become the most widely distributed and enhanced version of UNIX in history. Big manufacturers like IBM, HP, Dell, and even Sun (on its Cobalt server line) distribute Linux on hardware as part of product suites. They’re not violating a license because they’re not charging users for the cost of the Linux operating system. They’re charging only for the hardware and support services. There are lesser-known examples that run on Linux (MySQL and PHP, for example), but they're generally less powerful than commercial counterparts.
Consequences of standardizing
The fact that other open source systems are less capable than commercial counterparts has serious consequences for companies considering long-term use. For example, MySQL won’t allow databases as large as SQL Server or Oracle, and it doesn’t support advanced server-side programming like stored procedures and triggers. In fact, other than Linux, very few complete open source systems compare favorably to the commercial counterparts.
I suspect that most companies won't make the same all-or-nothing commitment to open source software that the Peruvian government is proposing. And even though Linux is the best public example of the open source software business model, it’s also the only open source software product that has spawned an industry significant enough to ensure its continued viability. Therefore, the most difficult open source software decision a company is likely to make is whether it should implement and support open source software systems other than Linux. Here are some things to consider when making this decision:
Total support costs
Open source generally means little or no direct support. Your organization will have to develop its own support infrastructure around the software you choose to adopt. Given that support costs are generally built in or discounted for owners of commercial software, you have to make sure that open source software support costs are less than or equal to commercial software license costs plus commercial software support costs before making a decision to implement the open source software.
Rights to modifications
Given that most open source software systems aren’t developed with specific business needs in mind, it’s likely that you’ll want to make source code modifications to the open source software to tune it for your business. You’ll need to take a hard look at the licensing provisions for the open source software you’re considering. It’s likely that you’ll be required by the license to give away any modifications you’ve made to the software. This means that if you spend thousands of dollars developing a custom version of the software for your industry, your competitor will have the right to use your modifications without having to pay for them. Then you’ll understand why most software developers don’t think open source software licensing is good for them. And you can appreciate why there aren’t that many great open source software systems available today.
Creating the value
Perhaps the most damning aspect of the open source licensing model is that the concept of open source licensing flies in the face of basic intellectual property rights. If you were required to give away the implementation of all of your intellectual property, you’d have no economic incentive to create it in the first place.
Ultimately, every economy is based on the value created by participants. An all-open source software ecosystem would result in an economy with no inherent value. Although Linux has certainly been a grand experiment, the dearth of other open source software products is a clear indication that most individuals and companies choose to license software to protect intellectual property rights and so that the value of their efforts can be monetarily realized.
As CIOs consider implementing an open source product in their environments, they need to make sure they understand the long-term implications of the decision. In most cases, tech leaders should consider the use as a starting point from which they agree to support and maintain all future revisions without help from a commercial software vendor.
If the Peruvian government adopts the open source software bill, I think they’ll find out pretty quickly that a pure open source software model simply isn’t economically viable for any large entity. There isn’t enough software available now, and there isn’t enough economic incentive to encourage people to create more.