Putting it all in the trunk: incremental software development in the FreeBSD open source project

Abstract. Software development in the FreeBSD project is incremental in the sense that a stream of contributions, including bugfixes and minor and major new features, go into a single branch in the repository, the development branch (or ‘trunk’), and are required to preserve the software in a working state. This creates a succession of development releases, akin to the practice of frequent releasing argued by Eric S. Raymond in his essay ‘The Cathedral and the Bazaar’ to be the key to the success of Linux and other open source projects. The positive and negative impact of this approach is discussed based on a survey involving 72 project participants. On the positive side, the data indicate that it creates a highly motivating ‘see bug, fix bug, see bug fixed in new release’ life cycle, and helps integrate bugfixing with new development. On the negative side, the data indicates that the highly incremental model does not support the development of complex new features.

[1]  Ko Kuwabara,et al.  Linux: A Bazaar at the Edge of Chaos , 2000, First Monday.

[2]  Chris DiBona,et al.  Open Sources: Voices from the Open Source Revolution , 1999 .

[3]  Penny Grubb,et al.  Software Maintenance: Concepts and Practice , 2003 .

[4]  Audris Mockus,et al.  A case study of open source software development: the Apache server , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[5]  Brian Fitzgerald,et al.  A framework analysis of the open source software development paradigm , 2000, ICIS.

[6]  Alexander Hars,et al.  Working for free? Motivations of participating in open source projects , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[7]  Steve McConnell,et al.  Software Engineering Principles , 1999, IEEE Software.

[8]  Linus Torvalds,et al.  The Linux edge , 1999, CACM.

[9]  Penny Grubb,et al.  Software maintenance , 1996 .

[10]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[11]  Greg Wilson Soapbox - Is the Open-Source Community Setting a Bad Example? , 1999, IEEE Softw..

[12]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[13]  Keith Bostic,et al.  The design and implementa-tion of the 4.4BSD operating system , 1996 .