Jodeph Feller & Brian Fitzgerald Understanding open source software development. London: Addison-Wesley, 2002. xi, 211 pp. ISBN 0-201-73496-6 £22.99
Information Research recently reviewed Eric S. Raymond's book, The cathedral and the bazaar, and Raymond writes the Foreword to this book. One of the authors, Fitzgerald, has also contributed to this journal - a paper that, incidentally, has attracted almost 2,000 'hits' since last July. There is, as a result, a certain degree of familiarity with everything about this book - both subject and authorship!
Raymond, in the Foreword, comments that this is the first attempt to pull together the various strands in the development of open source software that the pioneers of this approach have not had time, or perhaps the inclination, to put together themselves. This, indeed, appears to be the case. The authors have clear objectives: they note, in the introduction that they wished to produce a book that would be useful to both academic and professional readers:
On the academic side, we have endeavoured to provide... a thorough sythesis and analysis of the OSS research that has appeared to date... On the professional side, we wanted to disseminate the significant volume of rigorous academic reearch into OSS development practices back into the development community.
The authors define Open Source Software by reference to the Open Source Definition(OSD), produced and maintained by the Open Source Initiative. That definition has nine elements to it, which describe the conditions a software licence must satisfy, if the software is to be considered 'Open Source'. You could well be reading this review as a result of your server software being Apache, which has an OSD licence, and is the most used server software in the world, with (at November 2001) 56.5% of the market. Key among the terms of the licence are; that the vendor must maintain the integrity of the author's source code by providing 'patches' that make changes when the software is 'built' on the user's machine, rather than my modifying it before distribution; that there should be no discrimination against persons or groups of persons; and that the user should be able to modify the source code and share those modifications with the author and with others. The fact that companies like Red Hat, seller of the Linux programming language, Netscape and even IBM are happy to beome involved with OSS suggests that the process must bring benefits.
The authors describe the process that gives the benefits, noting that the process is parallel, with many developers simultaneously involved in the process, rather than a single software team in a commercial sofware company, that there is genuine peer review of suggestions and code in the process of creation, that there is increased user involvement, and that the process uses a succession of rapid releases of new versions, ensuring that users always have the latest version available quickly. The also explore also the weaknesses and problems of OSS, and en route, discuss the organizations involved in the OSS movement and how the development process in managed. They also suggest that the key issues in OSS are not technological, but sociological, in that the process explores a new way of working that may well extend into other fields of endeavour.
This book is well written, clear in its exposition, well illustrated with quotations from people in the OSS 'movement' and from other industry leaders and will serve as a useful text on this mode of software development.
The first author, Feller, maintains a Web site on open source software, which provides resources and links to supplement this text.
Professor Tom Wilson