1. Gobernanza del proyecto
iFay adopta un modelo de gobernanza por niveles para garantizar la toma de decisiones transparente y la participación de la comunidad. Como un ecosistema de estándares abiertos que abarca múltiples subproyectos independientes (FayID, Ego, diversos protocolos, FayGer, iFACTS, etc.), una estructura de gobernanza clara es esencial para coordinar las contribuciones y mantener la consistencia de la especificación.
Jerarquía de gobernanza
Colaboradores (Contributors)
Cualquier persona que contribuya al ecosistema iFay es un colaborador. Las contribuciones incluyen, entre otras:
- Enviar Issues para reportar problemas o hacer sugerencias
- Enviar Pull Requests para contribuir con código o documentación
- Participar en GitHub Discussions y discusiones de SEP
- Asistir con la traducción de documentos
- Ayudar a otros miembros de la comunidad
Mantenedores (Maintainers)
Los mantenedores son responsables de la gestión diaria y las decisiones técnicas de subproyectos o grupos de trabajo específicos. Los mantenedores de iFay están organizados por dominio, por ejemplo:
- Mantenedores de FayID: responsables del sistema de identidad
- Mantenedores de Ego: responsables del modelo de personalización
- Mantenedores de protocolos: responsables de Faying, Telepathy, ICP, CAP, DTP, SSP y otros protocolos
- Mantenedores de FayGer: responsables del entorno de ejecución
- Mantenedores de iFACTS: responsables del conjunto de pruebas de conformidad
- Mantenedores de documentación: responsables de la documentación y la traducción multilingüe
Los mantenedores pueden tomar decisiones técnicas de forma independiente dentro de sus respectivos dominios, pero deben escalar las decisiones al nivel de Core Maintainer cuando impliquen un impacto entre dominios o cambios significativos.
Core Maintainers
Los Core Maintainers son responsables de la dirección general y la evolución de la especificación iFay. Sus responsabilidades incluyen:
- Aprobar SEPs (Specification Enhancement Proposals)
- Coordinar la consistencia entre subproyectos
- Desarrollar y ajustar la hoja de ruta del proyecto
- Aprobar la incorporación de nuevos mantenedores
Los Core Maintainers pueden anular la decisión de un mantenedor mediante votación por mayoría para garantizar la consistencia y calidad general de la especificación.
Lead Maintainer (BDFL)
El Lead Maintainer es el responsable de la toma de decisiones final del proyecto, cargo que actualmente ocupa el fundador del proyecto. Cuando los Core Maintainers no pueden alcanzar un consenso, el Lead Maintainer tiene la última palabra.
Principios fundamentales
- La membresía pertenece a las personas, no a las empresas. Los mantenedores priorizan los intereses del protocolo y la comunidad sobre los intereses comerciales de sus empleadores. Esto garantiza la neutralidad de iFay como estándar abierto.
- Todas las decisiones se registran de forma transparente. El proceso de discusión y los resultados de las decisiones importantes se registran públicamente en GitHub, accesibles para cualquier miembro de la comunidad.
- Los mantenedores pueden decidir de forma independiente, pero pueden escalar. Los mantenedores tienen autonomía dentro de sus respectivos dominios, pero cuando las decisiones implican un impacto entre dominios o son controvertidas, pueden escalarse al nivel de Core Maintainer para su discusión.
- Los Core Maintainers pueden anular las decisiones de los mantenedores. Los Core Maintainers pueden anular la decisión de un mantenedor mediante votación por mayoría — este es un mecanismo de protección para garantizar la consistencia general de la especificación.
Responsabilidades de los mantenedores
Cada mantenedor debe cumplir con las siguientes responsabilidades:
- Interactuar activamente con los colaboradores de la comunidad, respondiendo con prontitud a Issues y PRs
- Mantener y mejorar el código y las especificaciones en sus respectivas áreas
- Apoyar la redacción de documentación y la planificación de la hoja de ruta
- Comunicar las ideas y comentarios de la comunidad a los Core Maintainers
- Participar en la discusión y revisión de los SEPs relevantes
Cómo convertirse en mantenedor
El proceso para convertirse en mantenedor:
- Realizar contribuciones sostenidas y de alta calidad a un subproyecto o dominio
- Ser nominado por un mantenedor existente
- Los Core Maintainers revisan y aprueban la nominación
Animamos a todos los colaboradores a participar activamente y demostrar su capacidad técnica y espíritu de colaboración. El estatus de mantenedor es un reconocimiento a la contribución sostenida, no un privilegio.
