A few months back, I spoke at the London Chapter of the Mensa Society. Afterwards, they asked me to encapsulate my presentation into an article they could publish in Mensa Magazine. I did so, and it was published earlier this year. (For those looking for it, it's the one with the "Mensa babe" on the cover - "Beauty and Brains," I think it was headlined. I was tucked away after the pin-up. :-)
A basic article, but it lays out (briefly) my thoughts on how open source replicates the scientific method (Popper's, not Baconian induction).
A New Choice in Information Technology:
The Rise of Threatened Fall of Open Source Software
Introduction
Something is happening to your local software vendor. Something big. Something that threatens to topple Microsoft from its hitherto unquestioned reign of monopolistic dominance.
Something called Linux. Something called open source.
Open source is not a thing. It is not something you buy at PC World or Dixons. Nor is it something that your company’s system administrators install on your computer. It’s not an American thing, or a British thing, or, really, an “anyone thing.” Rather, open source is a globally recognized and practiced software development methodology, and one that has Microsoft scared out of its US$56 billion bank balance.
Why? Why should an alternative development methodology, one that closely follows scientific methodology, frighten Mighty Bill Gates?
Because open source shifts control toward buyer, away from the exclusive control of the vendor. Open source brings choice and accountability to an industry that has long promoted expensive “solutions” to business problems, solutions that have proliferated more problems than they have solved. Open source’s most important contribution to information technology (IT), then, is the very thing that makes it most unpalatable to the world’s largest software vendor:
Open source creates choice.
How Open Source Works
Traditionally, software has been created by software and hardware companies to fill customer needs. For example, Novell determines that a market exists for collaboration software (email, calendaring, etc.) Novell hires engineers, engineering project managers, marketing directors, etc. to scope out what the product should look like (functionality), architect it, and then build, market, and sell it.
Open source functions in much the same manner, except that there are no marketing and sales people, and the engineers who collaborate to create the software are employed by disparate corporations, or are self-employed. There is no CEO determining arbitrary project roadmaps; rather, the open source project leader works with that project’s community of developers to determine features, roadmap, and everything else that will go into creating the final product.
Because the developers are geographically dispersed, they communicate through email, instant messaging, and other Internet tools. Few ever physically meet each other. As such, they must write modular code that can be “snapped together” like Lego blocks to create a final product.
In the open source world, no one gets paid for her work (unless her ‘day job’ employer chooses to allow them to write free software), so motivations for contribution vary widely. Importantly, then, such developers tend to only write code that which interests them. This is both good and bad. It is good insofar as this self-selection yields better code, as engineers choose to develop software that interests them and that they have aptitude for, rather than what her corporation tells them they must. It is bad inasmuch as the process of developers writing for other developers leaves out a lot of great software that needs to be written. Hence, much of the software created through the open source methodology tends to be ‘geeky,” highly complex programming like that involved in creating an operating system, database, or other infrastructure software. The biggest exception to this is OpenOffice, a competitor to Microsoft Office, but OpenOffice developers are overwhelmingly employed by Novell and Sun Microsystems, and get paid to contribute.
Normally, a decentralized approach to software development would likely fail, but open source works because of the licensing regime fueling it. Open source licenses, with the GNU General Public License (the license that governs Linux) prominent among them, generally require:
• The right to access and modify a given piece of software’s source code, or the human-readable language that tells a computer what to do;
• The right to distribute this modified source code (“derivatives”); and
• A requirement that distributed, derivative works be licensed under the same license under which they were received.
In this way, open source licensing promotes enforced sharing. You can only receive if you agree to give.
Science and Open Source
Open source works because it functions much like science. Contrarily, software written in the traditional model proves flawed and buggy precisely because it fails to conform to accepted scientific measures. By science I do not refer to Sir Francis Bacon’s inductive Scientific Method. In this model, observation gives way to a hypothesis as to why something happens; that hypothesis is tested until it yields a theory; this theory is then elevated to a law (“Truth” with a capital “T”) when it shows itself adequately resilient over time. This is not, to my mind, how science actually operates. In fact, science is not so much concerned with proving things true. Rather, its real aim is to prove things false, as Karl Popper taught. Scientists develop “conjectures” about how the world works, and then enter into a process of “refutations” by which they attempt to find holes in their analyses.
Just as science proceeds through a series of “conjectures and refutations” – i.e., as scientists try to test their observations into oblivion, and provisionally accept certain observations/theories as not-yet false – so, too, does open source work. Open source is not concerned with creating Perfect Software through a brilliant design. Rather, open source aims to discover robust software through a robust peer review process.
This differs dramatically from traditional, corporate software development. Unlike a corporation, which may prefer to upgrade software and fix bugs in its products when convenient or profitable for them, the open source community is only concerned with making software better. This means fixing bugs upon discovery. This is why open source is so critical to good information technology (IT): just as Popper analogized from science to society, arguing that society required open, “falsificationist” debate in order to flourish beyond dangerous dogma, so, too, does good software require that it be written outside the auspices of any one company’s exclusive control. Good code, like good government, depends on the ability to perceive and correct inefficiencies and imperfections in the fabric of that code (or society), which ability is lessened by centralized control.
The Closing of Open Source?
Given open source’s rise to prominence, it is not surprising that corporations increasingly seek to influence and control it, and hence taint open source’s chief benefit (its openness). But we should resist this impulse. At this still-nascent stage of open source’s development, it is critical that open source be nurtured and protected.
Corporations have tried various means of controlling open source, but none so extensively as what I call the “Infiltration Model.” Because open source functions through a community development model, the more members of that community that a corporation “owns” (i.e., employs), the greater that corporation’s influence in where a given open source project will go. IBM, Red Hat, Novell (which recently acquired Ximian and SuSE, two prominent open source companies), and Hewlett-Packard employ a huge majority of developers of the Linux kernel, which offers them a way to guide Linux’s development in a way favorable to them.
True enough, all people and corporations have the ability to compete in exercising influence in open source communities, arguably canceling each other’s influence out in this free market exchange. Even if this is true, we should not be so naïve as to believe this will not have an effect on Linux. At the foundational layers of the software stack, the wider the community involved in developing them, the better. The more such development is centralized in one or a few companies, we begin to reassemble the Microsoft world. The platform should be open. Higher up the software stack, at the application layer, let companies compete on offering true innovation. There, “propertized” innovation is necessary and proper. But not at the foundation. The foundation should be free.
Intellectual property, then, long the stick by which corporations have fended off competitors and justified high prices to customers, is giving way to a new form of property ushered in by open source. This new “property” is reputation. Reputation capital in the open source community will come to mean as much or more than control of intellectual property, which is why corporations are flocking to build or buy reputation in open source communities, hoping to exert control over their product roadmaps and the customers who buy into them. We should resist.
Conclusion
Innovation flourishes best where it is controlled least. The Internet is an obvious example of this, as is open source software. Open source has created the software that powers most emails that we send (Sendmail), most websites that we visit (Apache), and an increasing number of the servers that power our corporations (Linux). Whether it will continue to do so largely depends on whether corporations can resist the temptation to exercise undue influence in open source communities. Let us hope that they will. Even better, if we have the ability, let us involve ourselves in open source development, providing a check on corporate control and an assurance that open source will remain open.