Modelos de gobernanza de código abierto

Son varios los modelos de gobernanza utilizados por los proyectos de software de código abierto (OSS). Su diferencia radica en su grado de centralización, la influencia o no de entidades organizativas y el mayor o menor uso de mecanismos de decisión y selección de liderazgo de inspiración democrática.

La elección del modelo y el grado de compromiso con dicho modelo, así como la rapidez con que se adopta y evoluciona, tiene una profunda influencia en la calidad del resultado final de un proyecto. No existe un modelo único para todos y cada uno tiene sus defensores y detractores. Además, los diferentes proyectos tienen diferentes necesidades inherentes, y pueden satisfacerse mejor con un modelo en particular.

Analicemos ahora los paradigmas más comunes.

Modelo Empresarial: proceso mayoritariamente cerrado

o El desarrollo está fuertemente liderado por un interés corporativo u organizacional

o Una entidad controla el diseño y las versiones del software

o Puede o no solicitar contribuciones, parches, sugerencias, etc.

o Es posible que las discusiones internas y las controversias no se hagan públicas normalmente.

o No se conoce definitivamente qué contendrá la próxima versión del software.

o Tras su lanzamiento, todo el software está completamente disponible

o Ejemplos: Google Android, Red Hat Enterprise Linux.

Dictadura benevolente

o Un individuo tiene una influencia primordial en cada decisión

o La calidad del proyecto depende de las capacidades del dictador

o Puede evitar discusiones interminables y conducir a un ritmo más rápido

o A medida que el proyecto crece, el éxito depende fundamentalmente de la capacidad del dictador para:

– Manejar muchos contribuyentes

– Utilizar un sistema de control de versiones saneado y escalable

– Nombrar y trabajar con mantenedores de subsistemas

o El papel del dictador puede ser social y político, no estructural (las bifurcaciones pueden ocurrir en cualquier momento)

o Los mantenedores escriben cada vez menos código a medida que los proyectos maduran

o Ejemplo: kernel de Linux.

Junta de Gobierno

o Un organismo (grupo) lleva a cabo debates basados en listas de correo abiertas

o Las decisiones sobre el diseño y las fechas de lanzamiento se toman colectivamente

o Las decisiones sobre quién puede contribuir y cómo se aceptan los parches y el nuevo software las toma el órgano de gobierno

o Mucha variación en las estructuras de gobierno, reglas de organización, grado de consenso requerido, etc.

o Tiende a lanzar versiones menos frecuentes, pero generalmente bien depuradas

o Ejemplos: FreeBSD, Debian.