The Open-Source Model versus the Proprietary-Software Industry
Proprietary software is licensed, not sold, with severe accompanying restrictions on copying or modification. This scheme was not devised by fools. It reduces piracy, rewards risk, and allows vendors to enforce compatibility. And when a proprietary vendor controls industry standards, it generates fantastic amounts of money; Microsoft alone has created about ten thousand millionaires through employee stock options. And yet there are now literally thousands of open-source development efforts like OpenOffice, Firefox, Linux, and Apache that have been downloaded tens of millions of times. Why?
Proprietary products cannot be customized by users. Product quality is uneven, in part because outsiders cannot examine source code. If a vendor controls major industry standards, as Microsoft does, it can force customers to upgrade – change to a newer version, and pay more money – almost at will. Furthermore, because lock-in to a proprietary standard is so profitable, imitation is a major threat. Software vendors therefore spend large amounts of money pursuing patents to deter clones and lawsuits by rivals.
Perhaps most importantly, proprietary vendors also treat plans, source code, and technology as secrets that must be carefully guarded. But in software development as in other activities, secrecy allows mistakes and abuses to be covered up. Bad work goes uncorrected; managers hide information to gain career advantage. To ferret out bad work, companies hire testing and quality-assurance groups that are kept separate from development groups, but this is wasteful. And if a software vendor has financial problems or an executive loses an internal political battle, a product can languish for years. If customers have problems, they tell the vendor and hope that it will listen. Sometimes it doesn”t, and that”s just too bad.
Open source inverts this model. Under the terms of the most common open-source licensing agreement, the GNU General Public License (GPL), a program”s source code must be made available whenever the program is distributed. Other programmers may do what they want with it, on one condition: any modifications they make must also be covered by the GPL – that is, their code must be made available. The GPL, in combination with the meritocratic culture of software technologists, has yielded a highly transparent, decentralized approach to software development, controlled by communities of engineers who determine the direction their efforts should take. Open-source development groups generally post all their work publicly, including specifications, source code, bug reports, bug fixes, future plans, proposals for enhancements, and their often vitriolic debates. Linux is open in this sense (and yes, Microsoft monitors it closely).
Relative to proprietary efforts, in open-source development there is little management hierarchy, strategic game-playing, patenting, and branding, and few flashy product launch events – in short, less crap. Even though the total Linux workforce is large – as many as ten thousand people – most of it is technical. Red Hat still has fewer than a thousand employees, though it is growing fast. By contrast, Microsoft has 57,000 employees. Microsoft”s legal department alone probably costs more money than the governance structure of the entire open-source movement. And there is no question that for many engineers, the comparative absence of crap is one of the major attractions of working on open-source projects – either as volunteers or as paid employees. “We have people lining up to work for us,” Red Hat”s Tiemann told me. “There are so many people interested in working on open source that we can be very selective.”