The contribution of free software to software evolution

It is remarkable to think that even without any interest in finding suitable methods and concepts that would allow complex software systems to evolve and remain manageable, the ever growing open source movement has silently managed to establish highly successful evolution techniques over the last two decades. These concepts represent best practices that could be applied equally to a number of today's most crucial problems concerning the evolution of complex commercial software systems. The authors state and explain some of these principles from the perspective of experienced open source developers, and give the rationale as to why the highly dynamic "free software development process", as a whole, is entangled with constantly growing code bases and changing project sizes, and how it deals with these successfully.

[1]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[2]  C. Darwin On the Origin of Species by Means of Natural Selection: Or, The Preservation of Favoured Races in the Struggle for Life , 2019 .

[3]  Kouichi Kishida,et al.  Evolution patterns of open-source software systems and communities , 2002, IWPSE '02.

[4]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[5]  Giancarlo Succi,et al.  Preliminary Results from an Empirical Study on the Growth of Open Source and Commercial Software Products , 2001 .

[6]  Ray von Savoye Dejagnu-the gnu testing framework , 2002 .

[7]  Kellogg S. Booth,et al.  Coordinating open-source software development , 1999, Proceedings. IEEE 8th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE'99).

[8]  David A. Wheeler More Than a Gigabuck: Estimating GNU/Linux''s Size , 2002, WWW 2002.

[9]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[10]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[11]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[12]  P. Cederqvist,et al.  Version Management with CVS , 1993 .

[13]  Markus Pizka Design and Implementation of the GNU INSEL-Compiler gic , 1997 .

[14]  André van der Hoek Configuration Management and Open Source Projects , 2005 .

[15]  Diego Novillo Tree SSA - A New High-Level Optimization Framework for the GNU Compiler Collection , 2003 .

[16]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.