Emerging Free and Open Source Software Practices Sulayman K. Sowe Arstotle Unversty of Thessalonk, Greece Ioanns G. Stamelos Arstotle Unversty of Thessalonk, Greece Ioanns M. Samoladas Arstotle Unversty of Thessalonk, Greece IGI PublIShInG IGIP Hershey • New York Acquisition Editor: Kristin Klinger Senior Managing Editor: Jennifer Neidig Managing Editor: Sara Reed Assistant Managing Editor: Sharon Berger Development Editor: Kristin Roth Copy Editor: Mike Goldberg Typesetter: Diane Huskinson Cover Design: Lisa Tosheff Printed at: Yurchak Printing Inc. Published in the United States of America by IGI Publishing (an imprint of IGI Global) 701 E. Chocolate Avenue Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: [email protected] Web site: http://www.igi-pub.com and in the United Kingdom by IGI Publishing (an imprint of IGI Global) 3 Henrietta Street Covent Garden London WC2E 8LU Tel: 44 20 7240 0856 Fax: 44 20 7379 0609 Web site: http://www.eurospanonline.com Copyright © 2008 by IGI Global. All rights reserved. No part of this book may be reproduced in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. Product or company names used in this book are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Emerging free and open source software practices / Sulayman K. Sowe, Ioannis G. Stamelos and Ioannis Samo- ladas, editors. p. cm. Summary: “This book is a collection of empirical research regarding the status of F/OSS projects, presenting a framework and state-of-the-art references on F/OSS projects, reporting on case studies covering a wide range of F/OSS applications and domains. It asserts trends in the evolution of software practices and solutions to the challenges ubiquitous nature free and open source software provides”--Provided by publisher. Includes bibliographical references and index. ISBN 978-1-59904-210-7 (hardcover) -- ISBN 978-1-59904-212-1 (ebook) 1. Open source software. 2. Computer software--Development. I. Sowe, Sulayman K. II. Stamelos, Ioannis, 1959- III. Samoladas, Ioannis. QA76.76.S46E44 2007 005.3--dc22 2007007268 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the authors, but not necessarily of the publisher. Emerging Free and Open Source Software Practices Table of Contents Foreword........................................................................................................................vi Preface..........................................................................................................................viii Section.I:. Empirical.Research.into.F/OSS Chapter.I Volunteers.in.Large.Libre.Software.Projects:.A.Quantitative.Analysis. Over.Time.......................................................................................................................1 Martin Michlmayr, University of Cambridge, UK Gregorio Robles, Universidad Rey Juan Carlos, Spain Jesus M. Gonzalez-Barahona, Universidad Rey Juan Carlos, Spain Chapter.II Measuring the Efficiency of Free and Open Source Software Projects Using Data.Envelopment.Analysis........................................................................................25 Stefan Koch, Vienna University of Economics and Business Administration, Austria v Section.II:. F/OSS.Community.Structures.and.Perception Chapter.III Ecology.and.Dynamics.of.Open.Source.Communities.............................................46 Michael Weiss, Carleton University, Canada Gabriella Moroiu, Carleton University, Canada Chapter.IV Perceptions.of.F/OSS.Community:.Participants’.Views.on.Participation..............68 Andrew Schofield, University of Salford, UK Grahame S. Cooper, University of Salford, UK Section.III:. Tools.for.Qualitative.F/OSS.Development Chapter.V Software.Development.and.Coordination.Tools.in.Open.Source.Communities....96 Ruben van Wendel de Joode, Twynstra Gudde Management Consultants, The Netherlands Hans de Bruijn, Delft University of Technology, The Netherlands Michel van Eeten, Delft University of Technology, The Netherlands Chapter.VI Evidence-Based.Assurance.to.Support.Process.Quality.in.the.F/OSS. Community.................................................................................................................120 Anas Tawileh, Cardiff University, UK Omer Rana, Cardiff University, UK Wendy Ivins, Cardiff University, UK Stephen McIntosh, Cardiff University, UK Chapter.VII The.Chase.for.OSS.Quality:.The.Meaning.of.Member.Roles,.Motivations,. and.Business.Models..................................................................................................147 Benno Luthiger, ETH Zurich, Switzerland Carola Jungwirth, University of Zurich, Switzerland Section.IV:. Adoption.of.F/OSS.in.Public.and.Corporate.Environments Chapter.VIII Understanding the Development of Free E-Commerce/E-Business Software: A.Resource-Based.View.............................................................................................170 Walt Scacchi, University of California, Irvine, USA Chapter.IX The.Migration.of.Public.Administrations.Towards.Open.Source.Desktop. Software:.Recommendations.from.Research.and.Validation.through.a. Case.Study..................................................................................................................191 Kris Ven, University of Antwerp, Belgium Dieter Van Nuffel, University of Antwerp, Belgium Jan Verelst, University of Antwerp, Belgium Chapter.X Toward a GNU/Linux Distribution for Corporate Environments........................215 Francesco Di Cerbo, Free University of Bolzano-Bozen, Italy Marco Scotto, Free University of Bolzano-Bozen, Italy Alberto Sillitti, Free University of Bolzano-Bozen, Italy Giancarlo Succi, Free University of Bolzano-Bozen, Italy Tullio Vernazza, University of Genoa, Italy Section.V:. F/OSS.Case.Studies Chapter.XI Assessing.the.Health.of.an.Open.Source.Ecosystem...............................................238 Donald Wynn, Jr., University of Georgia, USA Chapter.XII The.Rise.and.Fall.of.an.Open.Source.Project:.A.Case.Study................................259 Graham Morrison, Linux Format magazine, UK About.the.Contributors.............................................................................................277 Index ...........................................................................................................................286 v Foreword The IBM 701, announced to the public in 1952, was IBM’s first commercial scientific computer. Three years later, representatives from seventeen of its installations met to see how they could coordinate their programming work. The organization they formed was named SHARE, and this book contains parts of its DNA. Not many know that a key contribution of SHARE was the distributed development of system and application programs and their dissemination in source code form. We’ve come a long way since the early days of SHARE. At that time, both IBM’s operating systems and SHARE’s patches and libraries were usually distributed in source code format. Nowadays, software distribution is bifurcated into two large branches. Software sold for profit is more often than not delivered in a closed binary format, while software available in open source format is typically distributed for free. This second branch is where we’ve seen significant growth and innovation in the last years. Auspiciously, this book examines the profound implications of the open source software development practices. In a Communications of the ACM article titled “Software is not a Product,” Phillip Armour fittingly described software as a medium for storing knowledge. Knowledge storage isn’t novel: the DNA, our brain, material artifacts, and books have served this purpose for centuries or millennia. Yet software is different, because it is the first human-created mechanism that can actively execute this stored knowledge. And open source software is different again, because it allows everybody to examine both how the knowledge is derived (the process) and how it is expressed (the product). This book’s authors deal with many interesting aspects of the open source develop- ment process and the corresponding products. On the process front they examine the software development tools and human resource management methods that allow open source products to flourish against significant odds. As the records of the de- velopment process are typically also open, other chapters use those as a study field v looking for evidence of quality, examining the dynamics of the project community, or using them as a test bed for performing process optimization experiments. Further chapters focus on the open source products. Economies of scale often force proprietary software development companies to focus on the fat head of their potential users’ power law distribution. Yet the Internet delivery and collaboration channels coupled with a development model based on volunteers allows open source products to occupy spectacular niches in the users’ distribution—the famous “long tail.” There are chapters examining life in that long tail and the ecosystem in which open source projects prosper. Finally, there are chapters navigating the turbulent waters where open source, proprietary software, and the real world meet. How can we best adopt open source software in corporate environments? How can we handle migration from propri- etary solutions? How are business models based on open source software related with the software’s quality? Answering these questions isn’t easy, but venturing on these directions is certainly fascinating. SHARE’s founders chose their organization’s name hoping they could subsequently come up with a clever set of words to match the initials. None of the suggestions put forward were good enough, and therefore, true to today’s open source spirit, they decided that individual members were free to interpret them in their own way. The 1956 SHARE Reference Manual, perhaps the first codification of open source principles and practices, notes that this action was symbolic of one of SHARE’s core values: unity in essentials and freedom in the accidentals. Diomidis Spinellis Athens University of Economics and Business Department of Management Science and Technology http://www.dmst.aueb.gr/dds Diomidis Spinellis is an associate professor at the Department of Management Science and Technology at the Athens University of Economics and Business, Greece. His research interests include software engineering tools, programming languages, and computer security. He holds an MEng in software engineering and a PhD in computer science both from Imperial College London. He has published more than 100 technical papers in the areas of software engineering, information security, and ubiquitous computing. He has also written the two “Open Source Perspective” books: Code Reading (Software Development Productivity Award 2004), and Code Quality. He is a member of the IEEE Software editorial board, authoring the regular “Tools of the Trade” column. Dr. Spinellis is a FreeBSD com- mitter and the author of a number of open source software packages, libraries, and tools. Dr. Spinellis is a member of the ACM, the IEEE, the Usenix Association, the Greek Computer Society, the Technical Chamber of Greece, and a founding member of the Greek Internet User’s Society. He is a co-recipient of the Usenix Association 1993 Lifetime Achievement Award. v Preface There is little doubt about the profound effect the Internet has on everyday life, but the symbiotic relationship between the Internet and free and open source software (F/OSS) will be the subject of interest for many years to come. The emergence of F/OSS continues to have great impact in the way we develop, support, maintain, and distribute software. F/OSS is collaboratively built software that is shared by developers and users and can be “freely” downloaded with or without the source code for use, modification, and further distribution. Prolific licensing agreements such as the General Public License (GPL) define the rights users have over the product. F/OSS participants develop software online, relying on extensive peer collaboration through the Internet, and are motivated by a combination of intrinsic and extrinsic motives. The Bazaar, as opposed to the Cathedral, model has emerged as a viable software development approach and has produced a number of success- ful applications in the areas of operating systems (Linux), Web services (Apache), database applications (MySQL, PostgreSQL), and so forth. These successes may be attributed to the idiosyncratic practices adopted by F/OSS projects, which are different from the common practices in traditional software engineering projects. This new way of developing software continues to attract the research interest of many individuals and organizations. Trends in research findings coupled with the popularity of F/OSS have highlighted a number of challenges the development model and projects face. These challenges range from issues of inactive volunteerism, quality assurance, changes in the ecol- ogy and dynamics of the communities, effective tools and practices to manage and support the software development process, the lack of explicit guidelines and specifications inherent in traditional software development, and knowledge man- agement issues, to the technicalities of how to meet the needs of a new generation of F/OSS developers, testers, and users. F/OSS projects have adopted practices to x address some of these critical issues and help them succeed. On the other hand, a large number of projects never made it beyond the first version. However, each project is distinct and each hosting platform or portal poses unique challenges projects must surmount to succeed. Beyond the academic and geek or hacker communities, F/OSS is making a tremen- dous impact in the way people work in private and public administrations and is redefining the software industry. The increased adoption of F/OSS by well-known organizations has led to more enterprise recognition and hence consideration. What is more compelling is that companies are increasingly implementing open source strategies—porting programs and applications into the Linux environment while at the same time realizing that they can charge complementary services such as post-sale services. The LAMP (Linux/Apache/MySQL/PHP or Perl) stack is one example of cost savings F/OSS offers. However, a growing number of companies take a cautionary approach towards F/OSS full adoption; the main challenges be- ing reliability, total cost of ownership, ability to integrate with existing systems, performance, and scalability. Targets.and.Overall.Objective.of.the.Book. Our understanding of some of the socio-technical, economical, and managerial issues surrounding F/OSS continues to increase but information on these issues remains sparse. This book leverages.the expertise of authors from different parts of the world and is.a compilation of software practices adopted in various F/OSS environments. Rather than being the work of one author, the book is a collection of edited chapters written by experts and practitioners in the field of software engineering, economics, sociology, mathematics, and so forth. The editors received twenty seven chapters initially, but after an extensive peer-review process, only twelve chapters were selected for inclusion in this book. The diversity in thoughts and experiences of the authors represents a joint work and cooperative action approach to F/OSS. The subject area is wide and entails many facets that the book attempts to cover: • Empirical research on emerging F/OSS practices • Discussion about the coordination and collaboration strategies used by various F/OSS communities • Presentations on the tools both software users and developers use to produce quality software • Adoption of F/OSS in public and corporate environments • Case studies of successful and failed F/OSS projects