Comunidad Open Source - Matthew Mascord el 4 de enero de 2008
Resumen:
Comunidad es vital para un proyecto de código abierto. Una
comunidad activa y de apoyo es el corazón del proyecto, en el artículo se
analiza lo que hace que una comunidad de código abierto para ser exitoso.
Proyectos de software de código abierto empiezan ya sea
porque alguien quiere algo construido o para satisfacer las futuras necesidades
de los demás .
La comunidad son grupos de personas que comparten intereses
comunes. Cualquier tipo de comunidad puede tener miembros que deciden asumir un
papel más activo a través, por ejemplo, informar de errores , lo que ayuda a
otros usuarios , escribiendo documentación o evangelizadora. En las comunidades
de código abierto , los miembros activos tienden a ser recompensado al ser concedido
el acceso adicional y control sobre el proyecto .
Para código privado, hay un límite claro en los tipos de
contribuciones de recompensa, como que el código no está abierto a la
inspección, no hay manera de que los usuarios pasen en realidad por delante y
solucionen problemas o desarrollen nuevas características. Por el contrario ,
existe la posibilidad de las comunidades de código abierto para un flujo de
información ( código y documentación) de cualquier miembro de la comunidad,
aunque en forma moderada . También existe la posibilidad de que un gran número
de 'ojos' que se busca en ella, aprovechando el capital intelectual de toda la
comunidad. En un proyecto de código cerrado , el número máximo de personas que
buscan en cualquier problema dado siempre está limitada por el número total de
los desarrolladores que trabajan .
Las rutas habituales
para las comunidades Open Source
En sus comienzos , las comunidades de código abierto puede
ser extremadamente pequeña, tal vez con uno o dos desarrolladores y casi
cualquier usuario, pasa por largo tiempo, llamado " período de
incubación" durante el cual el equipo inicial trabaja duro para conseguir
algo que funciona fuera de la tierra. El lanzamiento temprano puede atraer
invaluable retroalimentación temprana y fomentar la confianza en el proyecto.
Eliminación de las
trampas
Es la responsabilidad de los líderes de la comunidad para
asegurar condiciones siguen siendo adecuado para el pleno potencial de código
abierto para hacerse realidad.
En sus primeras etapas, la preocupación más importante de
los proyectos es probable que se trata de la carga de soporte inevitable. Si el
éxito se ha de lograr , en última instancia, el líder tiene que encontrar
personas para llevar a cabo este trabajo . El empleo de las personas es una
opción; otro está animando a los usuarios a ayudar el uno al otro , escribiendo
documentación y corrigiendo errores.
Tomar una copia de la base de código y continuar
desarrollando bajo un propio gobierno . Este proceso se conoce como
bifurcación, donde parte de su comunidad un conjunto específico de necesidades
que no se siente puede ser equilibrada con las necesidades de la comunidad en
general . Para evitar cualquier tipo de bifurcación los líderes del proyecto
deben trabajar para asegurar que todos los contribuyentes sientan emancipado el
proceso de toma de decisiones, incluso cuando las decisiones no van a su
manera.
Cuando es un Fork
(bifurcación)?
Con el auge de los sistemas de control de versiones distribuido
, y en particular a través de los sitios de alojamiento como GitHub , el
término bifurcación ha adquirido un nuevo significado , donde un desarrollador
individual tiene su propia copia de una base de código publicado , haciendo
cambios para satisfacer sus necesidades , ya menudo la presentación de los
cambios de nuevo en el código original (combinación ) .
Letting Go
Con el fin de ser considerados saludables, comunidades de
código abierto deben tener la capacidad de sobrevivir de interés original de su
fundador en ellos si dependen en gran medida de un dictador, que arriesgarse a
fragmentar y cayendo a pedazos cuando sus líderes se mueven o se jubilan .
En la mayoría de las comunidades , incluso aquellos
gobernados por dictaduras , las personas que no sean el fundador será cada vez
más responsables de la toma de decisiones clave. El resultado natural de esto
es un paso hacia la democracia basada en el consenso. La mayor parte de las
propuestas de tiempo se deciden sobre la base de "consenso perezoso ',
donde ' el silencio da consentimiento. Para hacer frente a las propuestas que
no alcancen el consenso mayoría de las comunidades Institue alguna forma de
voto .
Se necesita es algo escrito, un "modelo de
gobierno" , para capturar esta comprensión compartida en una forma
documental concisa . La formalización de los acuerdos ayuda a asegurar que la
comunidad tiene una vida, que puede sobrevivir y florecer durante el tiempo que
existe una auténtica necesidad sostenida de los resultados del proyecto .
Conclusión
La construcción de una comunidad en torno a una pieza de
software de código abierto puede ser un trabajo lento , duro y el éxito depende
de muchas cosas.Desarrollo de las comunidades no se produce automáticamente y
tiene que ser manejado con cuidado. Todas las comunidades comienzan con los
usuarios , atraídos por el embalaje y la marca del software , o recomendaciones
boca-a - boca. Una vez que llegan , sin embargo, el desafío entonces está a la
altura de estas expectativas . Una comunidad de desarrolladores próspera puede
satisfacer y superar las expectativas , pero sólo si su líder puede mantener
juntos y asegurar que los participantes no se vaya por su cuenta . En el largo
plazo , las comunidades necesitan tener mecanismos de desarrollo abiertas en el
lugar para asegurarse de que cuando los contribuyentes clave, incluyendo los
fundadores , pasar, sus roles son adoptados por otros.