3 elementos clave que definen un proyecto de código abierto
El código abierto ha recorrido un largo camino en los últimos 30 años y cada vez más es parte de la conciencia de la mayoría de las sociedades. Al pensar en proyectos de código abierto, las personas los clasifican de varias maneras: la estructura del equipo, el tipo de plataforma, el lenguaje de programación, los servicios, etc.
Pero realmente qué define a cualquier proyecto como código abierto, qué lo hace una entidad única y diferente del resto. Shane Curcuru propone tres elementos clave para definir y diferenciar un proyecto de todos los demás: el código, la comunidad y la marca.
El código
El código es el rey. El código es lo que hace que un producto haga algo, y por eso existen proyectos de código abierto en primer lugar: para construir algo usable. Los tecnólogos se emocionan con lo que hace el código, y cómo hace lo que hace. Los vendedores se emocionan acerca de cómo el producto va a resolver los problemas de sus clientes. El código es lo que la mayoría de las personas buscan en un proyecto de código abierto.
Suena bastante simple, así que ¿por qué no definimos un proyecto de código abierto puramente basado en su código? Cualquiera que haya trabajado en el desarrollo de software sabe que el código es cambiante y efímero. En la frontera de código abierto, a veces el código puede ser muy difícil de seguir: el código fuente abierto es infinitamente forkable o bifurcado. Una vez que cumple con los principios y licencias de la Open Source Initiative (OSI) y pasa a un repositorio público, es totalmente accesible, cualquier puede usarlo y modificarlo para sus propios fines. Una vez que otro usuario hace un fork del código de su proyecto o hace una pequeña modificación, ya no es oficialmente parte del proyecto original.
La comunidad
Si el código es el "qué" de un proyecto, entonces la comunidad es el "quién". Las personas son las que hacen posible todo esto. Las normas, la personalidad y la ética de una comunidad, distinguen a un proyecto de otro. La comunidad principal de un proyecto incluye a cualquier persona involucrada activamente, como los ingenieros que escriben el código y los usuarios finales que proporcionan información o solicitar modificaciones específicas. La comunidad en general también incluye a personas que no comprueban código, pero proporcionan apoyo como la supervisión del proceso, marketing o apoyo financiero.
Si bien la participación en un proyecto de código abierto puede ser parte de un trabajo remunerado (por ejemplo, un ingeniero de software privativo que ha sido asignado para trabajar en un proyecto de código abierto por un determinado porcentaje de él), los miembros de la comunidad de código abierto suelen ser personas que participan voluntariamente sin conexión directa con un cheque como pago. Así que los miembros tienden a ir y venir según sus intereses o compromisos. Al igual que el código, la comunidad está en constante cambio.
A diferencia de un proyecto de desarrollo de software privativo, en el que asignan a cada empleado con ciertas habilidades a realizar un trabajo específico, la participación en una comunidad de código abierto es impredecible y, a menudo está fuera del control del proyecto. Los conflictos de pueden surgir y hacer que algunos colaboradores altamente cualificados dejen la comunidad. Sin embargo, los beneficios de una comunidad abierta se pueden ver en el entusiasmo y el empuje de muchos miembros, en la longevidad de los proyectos exitosos, en su sincronicidad y el gran trabajo que hay detrás del código.
La marca
Cuando los individuos o las empresas están decidiendo qué proyecto utilizar o invertir, la marca ayuda a diferenciar a los unos de los otros aunque ofrezcan una funcionalidad similar. Por supuesto que se consideran otros detalles, pero es mucho más fácil pensar: "¿Quiero apoyar Hadoop, el del elefante amarillo?" en lugar de "¿Quiero apoyar la Plataforma de Datos Hortonworks, o el ODP recién anunciado?"
La marca incluye muchas cosas: el nombre oficial, el logotipo, e incluso la apariencia de la página web del proyecto y la interfaz de usuario del producto. A diferencia del código y de la comunidad, la marca no es siempre cambiante o efímera. Una marca no puede ser bifurcada sin permiso legal, y puede permanecer constante incluso cuando los miembros de la comunidad fluctúa.
En muchos sentidos, la marca es el elemento de un proyecto que puede ser controlado y mantenido más fácilmente. Sin embargo, el uso de la marca adecuada puede ser pasado por alto o es subestimada por por la mayoría, cuando en realidad es una herramienta importante para definir su carácter único. Teniendo en cuenta que cualquiera puede bifurcar el código, y que los miembros de la comunidad pueden ir y venir, la marca es un elemento crucial para el mantenimiento de su longevidad e independencia, además permite atraer nuevos colaboradores al proyecto.
Fuente: opensource.com