Part of the process of this investigation, for me, is one of self education. While I have been involved at all levels of software development in closed/proprietary source environments, I have only casual, anecdotal exposure to the dynamics and specific processes of open source development. Consequently, I’ve been spending some time doing research to familiarize myself with open source history and the evolution of its methodologies.
When I first heard of open source software, it seemed the goal was to make software free. While the idea of free software appealed to me as a user, I derived my living from creating software that was sold for a profit, so I had mixed emotions. I liked the idea of community and collaboration that open source suggested, but wondered how a contributor could buy a cheeseburger when his collaborative stomach started growling. I assumed that contributors on open source projects were plying their trade for profit, and applying their skill to open source projects as their time allowed.
What I’m finding in my research is that the “freeness” isn’t really what defines open source software. The collaborative paper “Free Software / Open Source: Information Society Opportunities for Europe?” points out that there are other, non open source software systems that are available free. One prominent example is Microsoft Internet Explorer. Something else I’m running into is that open source software itself isn’t always entirely free. Companies are finding ways to make a profit on open source software by selling support, packaging, and system integration services, to name a few strategies. The web site www.opensource.org offers a definition of open source that consists of multiple points. It reads, however, more like a software license than a definition of a term.
What I’m discovering seems to be shaping up to this: Open source is still evolving. There are things that must be true (and will remain true) for a project to be open source. These include the right to free redistribution (without additional license requirements), availability of source code, and the right to modify and distribute derived works. Much of what I had assumed to be true about open source software either never was true, or is in a state of flux. Proprietary companies are in the process of bringing open source delivery models under the corporate umbrella, and figuring out ways to make a profit from open software. Doctor Dirk Riehle, in his article “The Economic Motivation of Open Source Software: Stakeholder Perspectives,” states that there are two types of open source software, Community open source, and Commercial open source.
One surmises that if commercial open source can marry the advantages of open source and closed source development together, we’ll all benefit. A good “for instance” is testing and documentation. Doing program testing and writing program documentation are not glamorous tasks. There tends to be low “organic” motivation to get involved with those roles. Because contributions are voluntary in “pure” open source development, it has always been a challenge to get necessary levels of testing and documentation. Red Hat and OpenOffice are two examples of companies with open source products who hire people to do these less glamorous tasks. These products then bring the commercial advantage of stringent testing and documentation to the table with an open source product.
Whatever else I learn in the next few weeks, I have already learned that this is a rich subject, and a fascinating one. I’m really looking forward to digging through it. I’m beginning to line up interviews with Microsoft folks, and should be able to begin those interviews next week. In the meantime, if you are involved in an open source project and can hook me up with interviews on that side of the equation, please drop me an email at firstname.lastname@example.org. Thanks!