A paradigm is a mental model of something a helpful way of grasping its essentials. Although the term new paradigm is much overused, the open source approach to software development definitely merits this description old mental models simply do not apply to this emerging industry.
In the preface to his 2005 OReilly book Producing Open Source Software, Karl Fogel says, ...I have slowly come to the conclusion that [open source] software is sui generis. Sui generis is a Latin term which is usually translated as of its own kind or unique, but I would suggest that in a class by itself is appropriate here.
If ones familiar mental models simply dont apply to open source software, whats a good way to start to grasp its nature? One approach is to employ a metaphor that, if it does not fully capture the essentials of open source software, at least illuminates some important aspects of it.
The Oceania metaphor I develop here (in a narrative prose style that no doubt will remind some readers of the original Adventure text-based computer game) is composed of a series of images chosen with some care. In his 1993 book The Heart Aroused, poet and business consultant David Whyte discusses the role of images and myths in everyday life, including peoples professional activities. Images in particular are important because they invoke the imagination.
Larger and more powerful than images are myths. If theres a myth thats appropriate to this particular new paradigm, some of the more ardent proponents of open source software might seek one along the lines of the plot of the sixth Star Trek movie, The Undiscovered Country, in which powerful opposing forces unite in an attempt to preserve the status quo in the face of a threatening change in the fundamental nature of their universe. A relevant historical account with mythic undertones might be that of Captain James Cooks voyages of discovery to chart the regions of the Pacific that we today call Oceania.
Some Brief Background on Open Source Software Open source software has three basic attributes: it permits unrestricted use (or at least unrestricted non-commercial use), it provides access to the underlying source code, and it allows freedom to modify the source code and to redistribute the modifications. Its typically made available with a public license stating this explicitly. The term open source software was first proposed in 1998 as a more pragmatic and less emotionally-charged alternative to the much older term free software. Its scope is more restricted, and not all open source software qualifies as free software. Recognizing that open source software is not synonymous with free software, the acronym FLOSS, for Free/Libre Open Source Software, has subsequently been coined to encompass both categories. A central tenet of open source software philosophy is use what you have, especially in terms of computer hardware. For conventional software development it would often be taken as a given that latest and fastest hardware is an essential investment to gain a competitive edge in terms of programmer productivity. Open source software, in contrast, holds out the possibility of a continuing return on prior investment in hardware that would otherwise be dismissed as obsolete. A key tenet in developing open source software is to use open source tools and, frequently, platform-independent programming languages as well. Since open source software projects build on and integrate other open source technologies and standards, they will typically incorporate Internet and Web protocols and technologies like http (HyperText Transfer Protocol) and HTML (HyperText Markup Language) when network communication is involved, making them interoperable with other open source applications. |