Open Source: Programming as if Quality Mattered
by Eric Raymond Thursday, January 21, 1999
Eric Raymond is the creator and editor of The New Hacker's Dictionary. His e-mail address is esr@thyrsus.com.
The source release of Netscape's "Mozilla" browser at midnight on April Fool's Day 1998 brought to widespread press and public attention a face-off between two dramatically different and fundamentally opposed styles of software development. This confrontation had been building for 30 years but became inevitable after the advent of the World Wide Web and the popular Internet explosion of 1993-94 -- and it now stands to transform the entire software industry.
One of these styles is what we have now learned to call "closed source" -- the traditional factory-production model of proprietary software, in which the customer gets a sealed block of bits that cannot be examined, modified or evolved. Today's standard-bearer of this approach is Microsoft.
The other is "open source," the Internet engineering tradition in which source code is generally available for inspection, independent peer review and rapid evolution. The standard-bearer of this approach is the Linux operating system.
An engineering analogy
Software corporations
hide their codes | The now-infamous Halloween documents ratified in Microsoft's own words what has become increasingly clear in the last nine months -- that the open-source model is well on its way to obsolescing the closed-source one. But to understand why, and to think clearly about what this means for the future, we need to step back from the particularities of Microsoft and Linux and consider three general issues: reliability, total cost of ownership and strategic business risk.
Historically, the way we get high reliability of results in engineering and the sciences is by institutionalizing peer review. Physicists do not hide their experimental plans from each other; instead, they skeptically check each others' works. Engineers do not build dams or suspension bridges without having the blueprints sanity-checked first by other engineers independent of the original design group.
In the software industry, our reliability historically has been terrible. Crashes, hangs and lost data are still commonplace. And we do not, as a rule, do independent peer review.
You might think these facts are unconnected until you look at the infrastructure of the Internet. All the Internet's core software is open source -- and its reliability is extremely good. This is an even stronger demonstration because the Internet is multi-platform, heterogeneous and international, and it has remained essentially backward-compatible through 30 years and several generations of technology.
The pattern is simple and compelling. Where we have open-source software, we have peer review and high reliability. Where we do not, reliability suffers terribly.
Total cost of ownership is also drastically affected by open source. In a closed-source world, the software producer can charge for the bits and has an effective monopoly lock on service. Accordingly, major closed-source packages cost thousands of dollars up front and thousands of dollars a year in continuing service and upgrade costs.
Advantages of open source
In the open-source world, the bits are free and the provider does not have a lock on your service and upgrade business. Accordingly, both up-front and annual service/support costs are low.
The indirect effect of open source on total cost of ownership is even stronger. Cash-strapped educational institutions love inexpensive software; they love open-source software especially because it lets students examine and experiment in ways extremely valuable for learning.
Universities and technical schools are now beginning to turn out an increasing flood of Linux-aware graduates, each one far more knowledgeable about the OS than any Microsoft Certified Systems Engineers can possibly be about closed-source Windows. The potential impact of this on personnel and training costs should not be hard to imagine.
But the most important long-term effect of open source will be on strategic business risk. To see why, we need to focus again on the supplier-monopoly aspect of closed source.
Let's say you are a chief technical officer (CTO) at a Fortune 500 company and you have just spent millions of dollars on a strategic business system with software you cannot see inside and cannot modify, software that depends on a single vendor to service. Now are those systems going to change to serve your business plan or your vendor's business plan?
When being locked into an unhealthy dependency on your vendor was the only alternative anybody could see, it was hard to evaluate closed source as a risk. But open-source software puts that CTO back in control of his destiny. It creates a buyer's market for enhancements, service and support; it allows a mix of options including in-house development or contracting to any one of multiple competing service groups.
To be concrete: If your operating system is Windows, Microsoft is the only choice you have. You are locked in, trapped. If it is Linux, Red Hat has to do its service job well or watch its business go to Caldera or S.u.S.E. And if Red Hat and Caldera and S.u.S.E fail, 10,000 Internet developers will cheerfully launch new distributions using the same free, common, exhaustively debugged code base.
The future of software
We have seen that open source puts the software customer in the driver's seat, dramatically lowers total cost of ownership and is the only recipe that works for high reliability. For these good reasons, it probably will not be long before buying closed-source software for your key infrastructure is considered the height of irresponsibility.
The lure for software developers is even more direct; with open source, we finally get to do work reliable enough to take unalloyed pride in -- and our work is available for everyone to see. Historically, the open-source method was pioneered by people who loved the craft of programming -- and that craft may finally be maturing through the rigor of the open-source method.
|