La contribución de código abierto es una de las habilidades más buscadas hoy en día en tecnología. La gente se ha dado cuenta de los beneficios de usar tecnologías de código abierto y de las recompensas de ser parte de estos proyectos.

El desarrollo de código abierto es un enfoque basado en el intercambio de código fuente y la mejora colaborativa.

Hay miles de proyectos de código abierto en Internet. Los proyectos de código abierto pueden ser aplicaciones de redes sociales, software de gestión de proyectos y documentación técnica. Entonces, ¿cómo eliges el correcto?

Qué buscar en un proyecto de código abierto

Una idea errónea sobre los proyectos de código abierto es que tienes que contribuir con el código. Si bien el código es esencial, otras áreas como la documentación, la gestión de proyectos y la defensa de la comunidad pueden incluir importantes contribuciones de código abierto.

Cualquiera que haya trabajado en proyectos de código abierto le informará sobre el poder de tales proyectos. Los beneficios incluyen innovación, mejora de las habilidades y relaciones productivas que impactan en su carrera.

instagram viewer

Considere las siguientes características para determinar si un código abierto vale la pena.

1. ¿Tiene una licencia?

Cada proyecto de código abierto tiene una licencia, normalmente una licencia permisiva o una licencia copyleft. Una licencia permisiva es común en proyectos de código abierto. No impide que nadie use, distribuya o venda una versión modificada del software.

La mayoría de los proyectos de código abierto tienen una licencia permisiva, como MIT, BSD o Apache 2.0. La licencia MIT comparte y distribuye software de forma gratuita y no tiene garantía:

Las licencias copyleft, como la Licencia pública general, la Licencia pública de Mozilla y la Licencia pública general de Affero, vienen con más restricciones.

Una licencia permisiva permite a los contribuyentes cambiar y distribuir software de código abierto. Esto significa que los desarrolladores pueden modificar el código fuente para producir software nuevo y usarlo o distribuirlo sin restricciones. La versión modificada estará bajo la misma licencia que el software original.

Sin embargo, las versiones modificadas no tendrán el mismo nombre que la versión original para facilitar la identificación entre las dos. La licencia también debe incluir a todas las personas y no discriminar a nadie.

Cualquiera que reciba el software redistribuido debe tener los mismos derechos en la licencia que los propietarios del código original.

Una licencia gratuita no restringe el software a un canal de distribución o tecnología en particular. El software y las dependencias distribuidas junto con el software de código abierto no necesariamente tienen que ser de código abierto. El código cerrado y otras tecnologías pagas usan software de código abierto sin restricciones.

2. ¿Se comparte el código fuente?

Todos los proyectos de código abierto tienen una licencia que permite compartir libremente el código fuente. Los derechos también se extienden al código compilado a partir de contribuciones. El proyecto debe poner su código fuente a disposición de todas las partes sin restricciones.

Cuando el código fuente no está disponible en plataformas públicas, debe estar disponible previa solicitud. Cualquier proyecto que no comparta su código fuente no es un proyecto de código abierto.

Pero, la licencia puede restringir la redistribución del código fuente y solo permitir la redistribución de su forma modificada. El código modificado puede tener un nombre o versión diferente para diferenciarlo del proyecto original.

3. ¿El proyecto tiene pautas para los contribuyentes?

Cada proyecto de código abierto debe tener una guía de colaboradores. Probablemente lo encontrará en la carpeta raíz del proyecto, a menudo denominada CONTRIBUTORES o CONTRIBUTORES.md. Una guía de contribuyentes contiene instrucciones simples sobre cómo contribuir al proyecto.

La guía muestra a los nuevos contribuyentes cómo bifurcar, plantear un problema y enviar sus contribuciones al repositorio ascendente. Las guías para colaboradores ayudan a mostrar a los colaboradores cómo funciona el proyecto para reducir los conflictos entre sucursales durante la fusión.

Aquí hay un ejemplo de pautas para colaboradores del proyecto de código abierto AsyncAPI en GitHub:

4. ¿Tiene una comunidad activa?

La innovación es una de las razones por las que los proyectos de código abierto se han vuelto tan populares. El código abierto reúne a comunidades talentosas y entusiastas para generar ideas que promuevan la innovación.

Una comunidad sólida garantiza una comunicación, una colaboración y un marketing claros para el producto. Las comunidades activas de código abierto producen mejores resultados y escalan las innovaciones más rápido que los proyectos individuales.

Para determinar si una comunidad está activa, mire sus canales sociales. Comience por monitorear sus actividades en las redes sociales, Discord o cuentas de Slack. Es mejor trabajar en una comunidad activa con un flujo libre de información y recursos.

Las comunidades activas en código abierto aceleran la innovación de tres maneras. Las comunidades responden a las tendencias actuales en tecnología, tienen ciclos de lanzamiento frecuentes y tienen una gran redistribución del software.

Un ejemplo de un proyecto de código abierto con una comunidad fantástica es el marco Javascript de Facebook, React.

React ha crecido a la versión 18 en nueve años, mientras que un marco similar, Vue.js, todavía está en la versión 3. Ambos marcos tienen menos de diez años. La vibrante comunidad de React eclipsa otros marcos de JavaScript populares, como Angular.

Es divertido trabajar en proyectos de código abierto con comunidades activas. Además, nunca se quedará atrás en cuanto a tendencias y actualizaciones tecnológicas. Encontrar el mejores comunidades tecnológicas de Discord es una excelente adición a su cartera de código abierto.

5. ¿Son los mantenedores activos y atentos?

En un proyecto de código abierto, los mantenedores son colaboradores con permiso para modificar los archivos en el repositorio de un proyecto. Los mantenedores están a cargo del proyecto y aseguran que las contribuciones hechas al proyecto se alineen con sus objetivos.

En un buen proyecto de código abierto, los mantenedores son los más activos. Estarán a cargo de los canales de la comunidad, dirigirán los debates y abordarán las preguntas de los colaboradores. Los mantenedores brindan actualizaciones y fomentan la colaboración en la comunidad.

Para determinar si un proyecto tiene mantenedores activos, observe sus repositorios remotos, como GitHub. Los mantenedores activos se comunican bien. Responden a las solicitudes de incorporación de cambios, configuran problemas y abordan las preguntas de los colaboradores.

Identifique a los mantenedores activos comprobando la frecuencia con la que responden a las consultas publicadas en los canales sociales. Cualquier repositorio con tres meses de brecha de comunicación no es un proyecto adecuado.

Características de un buen proyecto de código abierto

Si bien muchas otras características definen un proyecto de código abierto adecuado, las importantes son el tipo de licencia, la naturaleza de las comunidades, el código fuente y los mantenedores activos.

Los proyectos de código abierto con las características anteriores inspiran la innovación, el escalamiento y la comercialización de proyectos de clase mundial. Además, las grandes comunidades de código abierto se mantienen al día con las tendencias tecnológicas y fomentan la colaboración y la diversidad.

Lo más probable es que haya utilizado al menos un producto de software abierto en su vida. ¿Por qué no empezar por ahí? Utilice las características mencionadas en este artículo para asegurarse de obtener el mejor proyecto que complemente sus habilidades y necesidades.