OpenSource Maturity Model
The Open Source Maturity Model is a methodology for assessing Free/Libre Open Source Software and more specifically the FLOSS development process. This methodology is released under the Creative Commons license.
OMM may help in building trust in the development process of companies using or producing FLOSS. The aim of the methodology is to enable any enterprise or organization to use FLOSS software in production and, in particular, in their mainstream products and not only in prototypes.
OMM objectives are to provide FLOSS communities a basis for developing products efficiently and making their products trustworthy for the potential customers, and also for integrating companies and to provide FLOSS integrators a basis for evaluating the processes used by the FLOSS communities.
OMM is interchangeably referred to as model and methodology. It is first a model that contains all elements that have to be assessed, but it is also a set of rules and guidelines describing how to conduct the assessment process.
General structure
[Image:OMMStructure.png|right|300px|OMM general structure]OMM is organized in levels, each level is building on and including the trustworthy elements at the lower level. The trustworthy elements included in OMM were collected or inspired by two sources:
- FLOSS-TWEs gathered from an extensive survey conducted on FLOSS developers, FLOSS users, and FLOSS integrators
- CMMI Process Areas
Basic level
The basic level that can be easily reached by adopting a few necessary practices in the FLOSS development process: PDOC - Product Documentation STD - Use of Established and Widespread Standards QTP - Quality of Test Plan LCS - Licenses ENV - Technical Environment DFCT - Number of Commits and Bug Reports MST - Maintainability and Stability CM - Configuration Management PP1 - Project Planning Part 1 REQM - Requirements Management RDMP1 - Availability and Use of a roadmapIntermediate level
The intermediate level is the second level in OMM and can be achieved by fulfilling all trustworthy elements from the basic level and required trustworthy elements from the intermediate level. RDMP2 - Availability and Use of a roadmapSTK - Relationship between StakeholdersPP2 - Project Planning Part 2PMC - Project Monitoring and ControlTST1 - Test Part 1DSN1 - Design Part 1PPQA - Process and Product Quality AssuranceAdvanced level
The advanced level is the highest level that FLOSS projects can achieve by fulfilling all trustworthy elements from basic and intermediate levels and required trustworthy elements from the advanced level.PI - Product IntegrationRSKM - Risk ManagementTST2 - Test Part 2DSN2 - Design 2RASM - Results of third party assessmentREP - ReputationCONT - Contribution to FLOSS Product from SW CompaniesDevelopment and Use
While attempting to develop such a model, a few basic facts had been considered:- OMM is a process model for development by developers and integration of FLOSS products by integrators.
- OMM is intended for use by individuals and development teams that may be spread across locations worldwide, hence the emphasis on simplicity and ease of use. Being simple but organized as an evolutionary model, OMM can be useful for companies as well. This approach helped to keep the model lean but still practical.