Curso sobre software libre Organización de comunidades Jesús M. González Barahona jgb@gsyc.escet.urjc.es Móstoles, mayo de 2007 1 c 2004-2007 Jesús M. González Barahona. Algunos derechos reservados. Este artículo se distribuye bajo la licencia Reconocimiento-CompartirIgual 2.5 España de Creative Commons, disponible en http://creativecommons.org/licenses/by-sa/2.5/es/deed.es Este documento (o uno muy similar) está disponible en http://curso-sobre.berlios.de
Introducción 2 Introducción Cada proyecto tiene su propia organización, sus propias reglas A continuación, estudio de algunos proyectos especialmente interesantes Desde el punto de vista de la organización del proyecto Desde el punto de vista de las condiciones de contribución Desde el punto de vista de cómo se fomentan las contribuciones externas Fundamentalmente desde el punto de vista de la poĺıtica codificada Proyecto Apache. ASF 3 Proyecto Apache. ASF Organización general: Apache Software Foundation Fundamentalmente, paraguas legal y financiero para el proyecto Apache Establecida en 1999 (el proyecto comienza en 1995) Organizada en torno a un grupo de subproyectos Board of directors, project management committees (uno por subproyecto), officers
Proyecto Apache. Papeles 4 Proyecto Apache. Papeles Usuarios: proporciona realimentación (erratas, peticiones) Desarrolladores: contribuye código o documentación (activos en listas, contribuyen parches, critican, etc.) Committer (unos 800): desarrollador con acceso de escritura al repositorio (ha firmado el CLA, toman decisiones a corto sobre código, pero sujetas al PMC) Miembro del PMC: desarrollador or committer, elegido por el Board, decide sobre quién pasa a committer, vota en decisiones sobre su subproyecto Miembro de la ASF: nominado por otros miembros, elegido por mérito, dueños de la ASF Proyecto Apache. Board of governors 5 Proyecto Apache. Board of governors Decisiones poĺıticas económicas, legales, etc. 9 elegidos cada año entre miembros ASF Asignación de recursos a subproyectos Identifica cuáles son los subproyectos con comités propios
Proyecto Apache. Officers 6 Proyecto Apache. Officers Elegidos por el Board Uno por subproyecto (comunidad) Un chair, presidente, tesorero y secretario Son el brazo ejecutivo de la ASF Proyecto Apache. Reglas de funcionamiento 7 Proyecto Apache. Reglas de funcionamiento Cada PMC es independiente, sus propias reglas Consenso, falta de jerarquía, meritocracia Comunicación: listas de correo, sobre todo Toma de decisiones: poder de los que hacen (con matices: consenso perezoso para resolver conflictos) Filosofía compartida Incubador de nuevos proyectos Varios comités horizontales
Proyecto Apache. Project management committees (PMC) 8 Proyecto Apache. Project management committees (PMC) Al menos un oficial de la ASF y un committer El chair es el elegido por el Board El chair define procedimientos para el día a día de la gestión de la comunidad El chair decide la composición de su comité Proyecto Apache. CLA, software grants 9 Proyecto Apache. CLA, software grants Individual Contributor License Agreement: committers Corporate CLA: empesas que asignan committers al proyecto Software grant: individuos o empresas que donan software al proyecto (sólo si va a al Incubator o lo acepta un PMC)
Proyecto Apache. Referencias 10 Proyecto Apache. Referencias Organización: How the ASF works Cómo contribuir: Contributors Technical Guide Normas de codificación C: Apache Developers C Language Style Guide http://apache.org/foundation/how-it-works.html http://apache.org/dev/contributors.html http://apache.org/dev/styleguide.html Proyecto Apache: subproyecto XML 11 Proyecto Apache: subproyecto XML Organización del proyecto: Project guidelines http://xml.apache.org/guidelines.html
Proyecto Apache: subproyecto Jakarta 12 Proyecto Apache: subproyecto Jakarta Organización del proyecto: How to Get Involved y Project Guidelines http://jakarta.apache.org/site/getinvolved.html http://jakarta.apache.org/site/guidelines.html Proyecto Apache: subproyecto Web Services 13 Proyecto Apache: subproyecto Web Services Normas del proyecto: Get Involved! http://ws.apache.org/overview.html
OpenOffice.org. Gobierno 14 OpenOffice.org. Gobierno Community Council Decisiones y debates públicos (lista de correo, IRC) Aprueba las Guidelines generales del proyecto Guía estratégica, árbitro de la comunidad, relaciones del proyecto No tiene poderes sobre: propiedad intelectual, licencias, recursos de Sun Elegidos por los desarrolladores (cuotas para Sun, no-sun, otros) Engineering Steering Committee: responsabilidades técnicas OpenOffice.org. Papeles 15 OpenOffice.org. Papeles Members: cuenta en OpenOffice.org Desarrolladores: miembros promocionados (por sus contribuciones, por nominación), acceso escritura a CVS Desarrolladores de contenidos: acceso escritura a CVS para documentación Project Leads: dos por proyecto, responsabilidad sobre el proyecto, toma de decisiones sobre código, el Council puede removerlos, los eligen los desarrolladores del proyecto
OpenOffice.org. Contribuciones 16 OpenOffice.org. Contribuciones Todo el código contribuido protegido por GPL/LGPL y SISSL Documentación protegida por Public Document License Contribuciones mayores que pequeños cambios : Joint Copyright Assignment (copytright compartido entre Sun y el autor) OpenOffice.org. Referencias 17 OpenOffice.org. Referencias Normas del proyecto: Guidelines for Participating in OpenOffice.org Regulación del Community Council: Community Council Proposal Cómo contribuir: Contributing to OpenOffice.org Asignación de copyright: Joint Copyright Assignment http://www.openoffice.org/dev docs/guidelines.html http://council.openoffice.org/councilproposal.html http://www.openoffice.org/contributing.html http://www.openoffice.org/licenses/jca.pdf
Mozilla. Papeles 18 Mozilla. Papeles Comunidad: todos los que contribuyen Fundación: organización de la comunidad (nacida en 2003, financiada originalmente por AOL) Personal de la Fundación: guía del proyecto, decisiones ejecutivas, 10 personas (empleados) Drivers: project managers, en nombre de la Fundación Dueños de módulos: delegados por personal de la Fundación, deciden sobre código Super-reviewers: revisan cualquier código, hace falta su aprobación para subirlo al repositorio Mozilla. Contribuciones 19 Mozilla. Contribuciones Para tener acceso de escritura, CVS Contributor Form (licencias bajo las que se contribuye, propiedad del código) Requisitos: código propio, permiso del empleador Todo código: con una licencia aprobada por el proyecto (normalmente MPL/LGPL/GPL) Proceso de aceptación de committers (basado en conocimientos y mérito, patrocinio por otro committer)
Mozilla. Referencias 20 Mozilla. Referencias Organización del proyecto: Mozilla Roles and Responsibilities Programación: Hacking Mozilla Licencias: Mozilla.org Licensing Policy http://www.mozilla.org/about/roles.html http://www.mozilla.org/hacking/ http://www.mozilla.org/mpl/license-policy.html FreeBSD. Referencias 21 FreeBSD. Referencias Poĺıticas para desarrolladores: Policies for FreeBSD Committers http://www.freebsd.org/internal/policies.html
Otros casos 22 Otros casos Gnome Foundation KDE e.v Debian Project y Software for the Public Interest Free Software Foundation Linux http://foundation.gnome.org/ http://ev.kde.org