The open source development model has become a paradigm shift from traditional in-house closed-source software development model, with many successes. Traditionally, open source projects were characterized essentially by their individual volunteer developers. Such tradition has changed significantly with the participation of many organizations in particular. However, there exists a knowledge gap concerning how open source developer communities evolve. In this paper, we present some observations on open source developer communities. In particular, we analyze git repositories of 20 well-known open source projects, with over 3 million commit activities in total. The analysis has been carried out in three respects, productivity, diversity and growth using the Spearman's rank correlation coefficient, diversity index and the Gompertz logistic curves, respectively. We find out that (a) the Spearman's rank correlation coefficient between active contributors and commit activities reveals how changes in the size of the developer community impacts the productivity of the community; (b) the diversity index of an open source developer community reveals the structure of the community; and (c) the growth of open source developer communities can be described using different phases of growth curves as in many organic matters.
@cite_3 investigated the growth and evolution of open source software, using the Linux kernel as a case study. They analyzed various releases of the Linux kernel source code between 1993 and 2001, using the gzip compressed size and lines of code to measure the growth of the Linux kernel project. They found that the Linux kernel project was growing in a linear fashion, which was surprising in that previously published research had suggested that large software systems tended to grow slower as they became larger. @cite_8 also studied the growth and evolution of both Linux kernel and *BSD kernel, as well as their sub-systems. They observed that most projects followed a linear but not smooth growth pattern, while super-linearity occurs only exceptionally.
@cite_3 @cite_8
2128780139 2122944092
Most studies of software evolution have been performed on systems developed within a single company using traditional management techniques. With the widespread availability of several large software systems that have been developed using an "open source" development approach, we now have a chance to examine these systems in detail, and see if their evolutionary narratives are significantly different from commercially developed systems. The paper summarizes our preliminary investigations into the evolution of the best known open source system: the Linux operating system kernel. Because Linux is large (over two million lines of code in the most recent version) and because its development model is not as tightly planned and managed as most industrial software processes, we had expected to find that Linux was growing more slowly as it got bigger and more complex. Instead, we have found that Linux has been growing at a super-linear rate for several years. The authors explore the evolution of the Linux kernel both at the system level and within the major subsystems, and they discuss why they think Linux continues to exhibit such strong growth. Software evolution research has recently focused on new development paradigms, studying whether laws found in more classic development environments also apply. Previous works have pointed out that at least some laws seem not to be valid for these new environments and even Lehman has labeled those (up to the moment few) cases as anomalies and has suggested that further research is needed to clarify this issue. In this line, we consider in this paper a large set of libre (free, open source) software systems featuring a large community of users and developers. In particular, we analyze a number of projects found in literature up to now, including the Linux kernel. For comparison, we include other libre software kernels from the BSD family, and for completeness we consider a wider range of libre software applications. In the case of Linux and the other operating system kernels we have studied growth patterns also at the subsystem level. We have observed in the studied sample that super-linearity occurs only exceptionally, that many of the systems follow a linear growth pattern and that smooth growth is not that common. These results differ from the ones found generally in classical software evolution studies. Other behaviors and patterns give also a hint that development in the libre software world could follow different laws than those known, at least in some cases.