
Coordinating Open-Source Software Development Submission for 7th Workshop on Coordinating Distributed Software Projects Davor CubraniÏ c Department of Computer Science University of British Columbia [email protected] 1 Introduction Not surprisingly, this openess and ¯uidity also put unique demads on the development process. To cope with those is- In the recent years a form of software development that sues, open-source software projects evolved their own meth- was previously dismissed as too ad-hoc and chaotic for seri- ods and organization. This methodology has the potential to ous projects has suddenly taken the front stage. With prod- alter the whole approach to making software Ð resulting, its ucts such as Apache, Linux, Perl, and others, open-source proponents would say, in more reliable products and faster software has emerged as a viable alternative to traditional and leaner development. However, it also faces some signif- approaches to software development. With its globally dis- icant obstacles if it is to continue successfully growing. In tributed developer force and extremely rapid code evolu- my opinion, these obstacles cannot be surmounted by simply tion, open source is arguably the extreme in ªvirtual soft- attempting to transplant ideas from the more traditional de- ware projectsº [1], and exempli®es many of the advantages velopment models, even those that are also Internet-based. and challenges of distributed software development. What is needed instead is research that will examine open- According to its (trademarked) de®nition, open-source source software and development process, in light of their software (OSS) is software for which the source code is dis- current accomplishments and respecting their speci®cities, tributed or accessible via the Internet without charge or limi- and ®nd what works, what doesn't, and how it can be fur- tations on modi®cations and future distribution by third par- ther improved. ties [10]. While much of the early ARPANet and Unix soft- In this position paper, I will look at the ways some of ware was distributed in this manner, during the 1980's more the major and most successfull open-source projects deal ambitious open-source projects such as Free Software Foun- with the issue of coordination among their many contribu- dation's GNU were started and gained support of developers tors. Although each of the projects examined here devel- across the Internet. However, it wasn't until the 1990's that oped some unique practices, there are also signi®cant com- open-source software development truly gained momentum monalities. I will then indicate some of the problems caused and become synonymous with highly distributed develop- by the existing practices, and put forward some possible ap- ment characterized by frequent iterations, thanks to the wide proaches to OSS coordination that could make open-source availability of the source code and openess to contributions software development more ef®cient. from the community. Today, open-source software dominates the Internet in- 2 Current Practices frastructure Ð for example, in February 1999, over 54% of Web servers ran Apache server software [17], while it is es- timated that Sendmail now handles about 80% of Internet There are hundreds, if not thousands, of open-source e-mail [4] Ð and established computer companies such as projects that are currently under development. The ones I IBM and Apple are starting to include OSS into their prod- include in this section are just some that are notable for their ucts [9, 2]. in¯uence, size, and success, and which are consequently The main reason for this success is the growth of the In- representative of many open-source development practices. ternet, which made collaboration between programmers fea- ¢¡¤£ ¥§¦©¨¢ ¦ ¦©¦¨¦© ¢ ! ¦#"$ %¦ ! & sible on a scale much larger than was possible before. With the global computer network in place, a huge pool of po- tential developers and testers willing to put their time into Linux is arguably the most well-know open-source projects they found interesting or useful became available. project today. It is a Unix-type operating system kernel 1 which aims for a complete implementation of the POSIX and its employees have contributed some of the major sub- speci®cation, with System V and BSD extensions. What systems. Also, code written by Netscape (and all its sub- started off in 1991 as a hobby project of Linus Torvalds, sequent modi®cations) is covered by a slightly different li- then a student at University of Helsinki, has evolved into a cense that gives Netscape additional rights, for example to full-featured modern OS (consisting of more than 1.5 mil- reuse it in non-open-source projects like its Web servers. lion lines of code) that accounted for 17.2% of server oper- Undoubtedly, the success of this project would prompt other ating systems in 1998, an increase of 212% over the previous commercial developers to follow in Netscape's footsteps; its year [23], and has a user community that numbered over 7 failure, on the other hand, could seriously undermine open- million in early 1998 [25, 16]. Today, Torvalds continues to source's credibility in the software industry. lead the project, which has become the open-source's poster Perl is a general-purpose programming language, in- child. vented in 1987 by Larry Wall as a quick hack to simplify The Apache Web server originated in the early 1995 as a generating reports from systems logs [24]. It has since be- set of patches to the then-popular HTTP server from NCSA come the language of choice for small-to-medium projects, (hence the name, ªA PAtCHy serverº). These patches were especially in the areas of World Wide Web development, collected by a group of volunteers from contributions from system administration, text processing, etc. Today, the in- Webmasters frustrated by NCSA's lack of further develop- frastructure for communication and coordination in support ment and then released back to the Web community. The of the Perl community is provided by the Perl Institute, a patches were a big success, and soon the group moved on non-pro®t organization ªdedicated to keeping Perl available, to a complete overhaul and redesign of the server: Apache usable, and free for allº [11]. 1.0 was released to the general public on 1 December 1995 (§)*)+ ¢!©,+-.+(§ /.¢¤¢, and went on its march to the Web server market domina- ¢¡' tion Ð according to Netcraft's February 1999 survey, 54% of Web servers run Apache [17]. The initial volunteers have One of the most important characteristics of distributed then formed the Apache Group, which continues the devel- software development is that developers cannot any more opment of the project. rely on face-to-face meetings, but have to make use of tech- InterNetNews (INN) is a complete Usenet news system, nology to allow them to communicate over distance. Re- providing a set of servers for both news relaying and serving searchers suggest that for effective distributed collaboration, client newsreaders. It was written by Rich Salz [21] in the developers of such projects need a rich array of tools offer- early 1990s, but as other obligations drew his attention away ing both synchronous (collaborative editors, chat, and on- from further development, users took it upon themselves to line meetings) and asynchronous capabilities [14]. How- share patches and generate unof®cial releases. Eventually, ever, open-source projects still, and almost without excep- Salz turned INN over to the Internet Software Consortium, tion, primarily rely on mailing lists, sometimes gatewayed to a nonpro®t corporation dedicated to production-quality ref- newsgroups, for almost all communication activities. Fur- erence implementations of the key Internet standards, which thermore, coordination among the participating developers merged in the various unof®cial releases and, prompted by in the form of discussions about the direction of the project, the user community, placed the development under an open- code review Ð for many projects even bug reporting and source model. code contributions Ð is all conducted through such lists. Mozilla Web browser is probably one of the most inter- There are several reasons for choosing such a relatively esting experiments in open-source software development, low-tech approach. Firstly, email is essentially the lowest and could potentially determine the future attitude of com- common denominator for Internet communication, which mercial developers toward the open-source model. When signi®cantly lowers the bar for would-be contributors to in March 1998, Netscape released the source code for the start participating, or even just listening, in a project's de- next version of its Communicator Web browser under an velopment discussions. Secondly, the extremely distributed open-source style license [18], it formed ªthe Mozilla Or- nature of even a core group of developers of OSS projects ganizationº to coordinate the developers' effort and act as Ð for example, Apache's 20 core developers are located a central point of contact for those interested in participat- in ®ve different countries across three continents Ð pretty ing in the project. The Mozilla Organization (also known as much precludes the usage of synchronous communication. mozilla.org) provides support for the developers (such as a Thirdly, open-source development is extremely ¯uid, where Web site and mailing lists) and publishes Mozilla browser as structure is minimal and developers' contributionsvary with its integrated version of the project's effort, although there is time depending on their interest and other commitments. In nothing to prevent others from creating and distributing their such circumstances, it would be very dif®cult to impose a own versions. Netscape remains actively involved in the prescriptive coordination technology, such as for example project: it provides funding and personnel for mozilla.org, work¯ow systems.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages5 Page
-
File Size-