The quality of open source software and its relation to the maintenance process - Kozlov, Denis (2011)
Software quality is persistently one of the most important issues in software engineering. There exist numerous proposed metrics suites and measurement models to support the aspirations towards higher quality. Closed source software systems (CSS) and open source software (OSS) have some important differences. Since OSS has long been a less widely applied general approach than CSS, the methods and techniques developed to support OSS quality are generally less mature than those which have been developed for CSS. Numerous scholars have paid attention to the problems which relate to OSS but the software engineering processes for OSS remain less organized and the body of knowledge less consistent than in the case of CSS. Due to the reasons presented above, there clearly is a need to understand OSS systems, their peculiarities and their evolution better from the quality perspective. The main objective of this Ph.D. thesis is to answer to that call to some extent. The thesis first provides an extensive literature review of earlier studies related to the OSS quality and its characteristics. Elaboration of new frameworks for OSS quality measurements follows based on the identified characteristical features of the OSS systems. Those frameworks are applied in six case studies to 28 non-trivial OSS systems having in total 770⁺ releases. Dozens of quality metrics have been calculated for the studied systems. Maintenance processes with varying levels of organization were also studied. The results of the case studies comprised the main contribution of the thesis. The results include revealing a large amount of relations between the measured attributes depicting OSS maintenance and quality. The identified relations support many of the results obtained earlier by other researchers. Those relations can be considered as a base for managing OSS quality from the viewpoint of the maintenance process. The results are expected to have relevance and implications especially to OSS developers, OSS maintainers, OSS repository maintainers and researchers in the areas of software quality, open source software and software maintenance.