3.2 Studies of Communities Evolution in OSS Projects
3.2.1 Population Evolution
According to the famous sociologist Karl Mannheim [Man28], individuals experienc- ing the same historical and cultural problems form a generation. A generation, in this context, consists of different generational units: “groups within the same actual
generation which work up the material of their common experiences in different specific ways”. An example of this concept may be a so-called war generation,
the binding of all those who shared a certain war experience during their lifetime. Obviously, the war influences differently the lives of children, adults and old men and women, organizing them in different generational units. This population termi- nology can be adapted to OSS communities to study their evolution. Considering the metrics and the laws of software evolution captured in [LRW+97], software release presents a historical event which forms a generation. Project participants active during one release learn as a group existing requirements for the next release, experience its realization and stand by the result. Depending on the number of releases project participants have already witnessed, they belong to the different generation units. Many OSS studies refer to population terminology in different contexts.
In [YNY+04], Ye et al. present a conceptional framework of the OSS evolution. The OSS community is defined here as an example of a CoP with the LPP (Section 2.2). According to the LPP concept, through continuous learning, the newcomers become experienced OSS community members. Ye et al. assume that the OSS participants constantly move from the periphery to the community center. The researchers call this process “role-transformation” which extends the static hierarchical model of OSS communities by time dimension. Role-transformation in OSS projects leads to evolution of their social structure and composition. This, in turn, results in the evolution of developer skills and organizational principles. The authors also describe the term “second generation“ as something which is achieved when an OSS community core evolves from a single project leader to a group of core members. The evolution of OSS projects is considered to be determined by: the existence of motivated members and social mechanisms within community which encourage and support the role transition.
establishment in the Freenet project (year 2000). The researchers investigate which behavioral patterns such as level of activity and specialization increase an individual’s chances of being granted developer privileges in OSS communities, i.e. role-transformation. In order to study joining behavior, telephone interviews are combined with the analysis of developer mailing lists, CVS, and other source information such as FAQ. The researchers define a concept of “joining script” which is based on a certain level of activity and specialization. Acting according to the joining script increases chances of a project participant being granted developer status. The researchers also define the term “contribution barrier” as the increasing of a barrier to integrate newcomers into the OSS project as the software system becomes more complex. Thus, in the case of a successfully developing projects, we expect continuous a growth of contribution barrier. The terms “joining script” and “contribution barrier” relate directly to the population growth of OSS communities. Unfortunately, the study was restricted to one OSS project in its early stage. Moreover, only developers were taken into consideration. At the same time, developers agree that the involvement of newcomers is an issue of concern.
In contrast to [KSL03], Jensen et al. [JKK11] study joining behavior across four different OSS projects. Additionally, the projects were analyzed not at their early stages, but rather when they had already been widely acknowledged and supported by a bigger community. Newcomers’ attachment is studied in relation to their gender, nationality, mailing list type and flame measures. The authors evaluated the “survival rate” of newcomers in the mailing lists as follows: 9.4% of those, who entered the project in three month period (643), were still participating in the mailing lists after the ensuing six months. Receiving a reply in the projects’ mailing lists to the initial post within 48 hours correlates with the probability that the newcomer will remain active in the mailing list on long-term basis. However, only 9 month of the projects’ history were taken into consideration. Neither evolution of the social structure nor the environmental stress factors were monitored.
Robles et al. [RGB06] use the term “generation” to describe projects in which the core developers change over time. In contrast, projects with a highly stable core are assigned to the opposite group called “code gods”. The results show that the core remains stable in very rare cases (3 of 21 projects). This supports the expected strong evolution of the leading group and an ongoing need to fill the emerging gaps within the community. However, the study was restricted to the core group of developers (the most active 20% of project committers).
Robles et al. [RGBM05] investigate the meaning of “evolution” within the Debian project. One finding of the study indicates that if a package leader leaves a project, the package is quite likely to be abandoned in the future and thereby shows the importance of understanding and even predicting community restructuring.
To summarize, the above described studies consider OSS communities as a population: concepts like “generation”, “survival rate”, “migration”, etc. are ap- plied. Demographic methods and models present one possible basis for quantitative analysis of OSS community evolution.