# Modelo de madurez de código abierto

El Modelo de Madurez de Código Abierto (OMM, del inglés OpenSource Maturity Model) es una metodología para evaluar el Software Libre de Código Abierto (FLOSS) y más específicamente el proceso de desarrollo de FLOSS. Esta metodología se publica bajo la licencia Creative Commons.
OMM puede ayudar a generar confianza en el proceso de desarrollo de las empresas que utilizan o producen FLOSS. El objetivo de la metodología es permitir que cualquier empresa u organización utilice software FLOSS en producción y, en particular, en sus productos principales y no solo en prototipos.
Además de los anteriores, otros objetivos del modelo son:
* Proporcionar a las comunidades FLOSS una base para desarrollar productos de manera eficiente y hacer que sus productos sean confiables para los clientes potenciales, y también para las empresas integradoras.
* Proporcionar a los integradores FLOSS una base para evaluar los procesos utilizados por las comunidades FLOSS.
El Modelo de Madurez de Código Abierto es indistintamente referido a modelo y metodología. En primer lugar, es un modelo que contiene todos los elementos que deben ser evaluados, pero también es un conjunto de reglas y directrices que describen cómo llevar a cabo el proceso de valoración.

## Estructura general

El Modelo de Madurez de Código Abierto está organizado en niveles, cada nivel incluye y está basado en los elementos confiables (TWE) en el nivel inferior. Los elementos confiables incluidos en OMM fueron recopilados o inspirados por dos fuentes:
* FLOSS-TWEs recopilados a partir de una amplia encuesta realizada a desarrolladores de FLOSS, usuarios de FLOSS e integradores de FLOSS.
* Áreas de proceso CMMI.
Los tres niveles de madurez disponibles en OMM son:
* Nivel básico que se puede alcanzar fácilmente adoptando algunas prácticas necesarias en el proceso de desarrollo de FLOSS.
* El nivel intermedio es el segundo nivel en OMM y se puede lograr cumpliendo con todos los elementos confiables desde el nivel básico y los elementos confiables requeridos desde el nivel intermedio.
* El nivel avanzado es el nivel más alto que los proyectos FLOSS pueden alcanzar al cumplir con todos los elementos confiables desde los niveles básico e intermedio y los elementos confiables requeridos desde el nivel avanzado.
Lista de elementos confiables que constituyen los tres niveles de madurez de OMM:
Nivel básico:
    PDOC: Documentación del producto
    STD: Uso de estándares establecidos y extendidos
    QTP: Plan de calidad de prueba
    LCS: Licencias
    ENV: Entorno técnico
    DFCT: Número de confirmaciones e Informes de errores
    MST: Mantenibilidad y estabilidad
    CM: Administración de la configuración
    PP1: Parte de Planificación del proyectos, parte 1
    REQM: Administración de requisitos
    RDMP1: Disponibilidad y uso de una hoja de ruta (producto)
Nivel intermedio:
    RDMP2: Disponibilidad y uso de una hoja de ruta (producto)
    STK: Relación entre las partes interesadas
    PP2: Planificación de proyectos, parte 2
    PMC: Seguimiento y control de proyectos
    TST1: Parte de prueba 1
    DSN1: Parte de diseño 1
    PPQA: Aseguramiento de la calidad de procesos y productos
Nivel avanzado :
    PI: Integración de productos
    RSKM: Gestión de riesgos
    TST2: Parte de prueba 2
    DSN2: Diseño 2
    RASM: Resultados de la evaluación de terceros
    REP: Reputación
    CONT: Contribución al producto FLOSS de empresas de software
Al intentar desarrollar tal modelo, se han considerado algunos hechos básicos:
* OMM es un modelo de proceso para desarrollo por parte de desarrolladores e integración de productos FLOSS por integradores.
* OMM está diseñado para que lo utilicen personas y equipos de desarrollo que pueden estar distribuidos en ubicaciones en todo el mundo, de ahí el énfasis en la simplicidad y facilidad de uso. Al ser simple pero organizado como un modelo evolutivo, OMM también puede ser útil para las empresas. Este enfoque ayudó a mantener el modelo esbelto pero aún práctico.
El modelo OMM ahora se prueba y valida en proyectos FLOSS reales que son liderados por comunidades FLOSS o por empresas de desarrollo de software.