Research Model for OSS Quality
In OSS communities, user of the software detects defects and reports them (user can be a maintainer, author or an end user). Individual projects have their own structure to remove defects. Addition of new code to remove the defect will increase the complexity of the software. The more complex the software is, the harder it will be to make additions to it in future. If the code is not well documented, maintainers will be reluctant to remove existing lines of code. Corrective maintenance will reduce the reliability and maintainability of the software. We expect a negative relationship between corrective maintenance and quality.
Adaptive maintenance can present a complex scenario in case of corporate use of OSS. If OSS is used in organizations which have existing PSS applications, adaptive maintenance will be required to accommodate interfaces to PSS. Perfective maintenance in OSS will be very similar to Adaptive maintenance; therefore we group the two together in our model. The effect of this category of maintenance will be domain dependent. If the operational environment of OSS is very dynamic then there will be a frequent need for such maintenance. If on the other hand the operational environment is stable and the users are not demanding frequent addition of new functionality, there will less need for such maintenance.
Preventative maintenance is proactive approach to maintenance. We believe that OSS projects sustain a high level of quality through significant preventative maintenance. We expect a positive effect of such maintenance on software quality.