Las contribuciones de código abierto son una excelente forma de aprender. Descubre cómo comenzar y cómo elegir el proyecto de código abierto adecuado para ti.
- ¿Cuáles son los roles habituales dentro de un proyecto de código abierto?
- ¿Quién puede contribuir a proyectos de código abierto?
- Sitios para comenzar tu camino como colaborador
- Encontrar el proyecto adecuado para contribuir, con o sin habilidades técnicas
- ¿Por qué es importante contribuir a proyectos de código abierto?
- Únete a nuestra comunidad
El término «Open Source» simplemente se refiere al software o proyectos con código fuente libremente accesible al cual cualquiera puede contribuir. La Iniciativa de Código Abierto fue fundada en 1998 para promover esta filosofía en contraste con los modelos comerciales propietarios. Desde entonces, el movimiento ha crecido enormemente, trascendiendo los límites de los entusiastas y aficionados. En la actualidad, incluso corporaciones internacionales como Google hacen un uso extensivo del código abierto. El ampliamente utilizado navegador Chrome de Google y su sistema operativo móvil Android se basan en código de código abierto. Incluso Microsoft ahora está utilizando algunas tecnologías de código abierto.
Además de los gigantes corporativos, también es fácil encontrar proyectos de software completamente gratuitos. Por ejemplo, los usuarios de escritorio se benefician de aplicaciones cotidianas como Firefox y LibreOffice. El reproductor multimedia sin fines de lucro VLC de VideoLAN es uno de los más versátiles disponibles y ha sido descargado más de 4 mil millones de veces. Mientras tanto, para los aficionados a la tecnología, los dos servidores web más populares (Apache y Nginx) y el sistema operativo en el que generalmente se ejecutan (Linux) son todos de código abierto. Y la lista de marcos de trabajo y herramientas de desarrollo de código abierto es casi interminable.
¿Cuáles son los roles habituales dentro de un proyecto de código abierto?
El software de código abierto se beneficia de un gran número de colaboradores comprometidos. Sin embargo, aunque un proyecto de comunidad acepta contribuciones de casi cualquier persona, su gestión todavía está estructurada para mantener la calidad e integridad. El alcance de las responsabilidades clave puede expandirse o contraerse dependiendo del tamaño del proyecto, pero los roles generalmente se formalizan de la siguiente manera:
Autor / Propietario
El autor y el propietario suelen ser la misma persona, aunque esto no siempre es así. El autor es el creador original del proyecto de código abierto. Tienen derechos administrativos generales sobre el proyecto y pueden asignar roles a otros miembros. Si esta gestión se delega o se transfiere a otra persona, esta última se convierte en el nuevo propietario del proyecto. Para proyectos grandes, en particular, este es un rol con una responsabilidad significativa.
Encargados
Los encargados son miembros con un compromiso duradero con el proyecto. Junto con el autor, se esfuerzan por mantener los objetivos del proyecto claros y trabajan para garantizar que se cumplan los estándares de calidad. Esto no solo implica revisiones de código, sino que también implica gestionar la documentación, mantener coherentes las estrategias de desarrollo e implementación y mantener canales de comunicación en toda la comunidad.
Contribuyentes
Los contribuyentes son el grupo más diverso de miembros del proyecto. Cualquier persona que agregue o edite el código base, o que escriba documentación o traducciones, se considera un contribuyente. Las contribuciones no necesariamente deben ser extensas o complejas. Incluso pequeñas ediciones de código o una simple corrección de errores ortográficos son útiles para el proyecto, aunque, por supuesto, los contribuyentes deben cumplir con los requisitos de estilo de código de la comunidad. Los compromisos son revisados por los mantenedores.
¿Quién puede contribuir a proyectos de código abierto?
El término «abierto» significa que cualquiera puede ayudar, independientemente de sus habilidades técnicas. Contribuir a un proyecto de software puede parecer un poco abrumador para los no iniciados, pero no solo los desarrolladores pueden colaborar. El «código fuente» en cuestión es el código utilizado para construir aplicaciones de software. Tradicionalmente, esto se compilaba en la aplicación final y era difícil de desensamblar. «Abierto» simplemente significa que cualquier desarrollador puede acceder a él y, en principio, construir la aplicación en sus propias máquinas. Dicho esto, muchos lenguajes en la actualidad, especialmente los scripts web del front-end, se interpretan en lugar de compilarse. En ambos casos, las licencias de código abierto generalmente permiten hacer un uso completo del código fuente, siempre y cuando también se mantenga la accesibilidad pública para él.
Para los no desarrolladores, esto puede parecer un territorio desconocido, pero aún hay muchos aspectos de la producción de software que no requieren programación. La documentación a menudo se pasa por alto, pero es de vital importancia para la usabilidad del software. Escribir documentación, así como traducirla a otros idiomas, ayuda a mejorar la calidad de lanzamiento del software de código abierto. Y si te interesan el marketing o la gestión de eventos, estas habilidades también pueden ser útiles para proyectos comunitarios.
Sitios para comenzar tu camino como colaborador
Si estás empezando tu camino en el código abierto, existen numerosos recursos para comprender cómo funciona un proyecto. Pero quizás la forma más sencilla de empezar sea simplemente lanzarte. «First Contributions» es un proyecto de tutoriales. Muchos proyectos de la comunidad se alojan ahora en GitHub, y este recurso te guiará a través de los conceptos básicos para usar esta plataforma de control de versiones y seguimiento de problemas para proyectos comunitarios. Pasarás por los procesos de hacer un fork de un repositorio, crear ramas (branches), realizar commits y push de cambios, y luego enviarlos para su revisión.
Si estás listo para empezar a contribuir de verdad, es útil encontrar algunos problemas simples para resolver. Los problemas pendientes a menudo se etiquetan como «Good First Issue» (Buen Primer Problema) con este propósito específico, y puedes encontrar listas agregadas en https://goodfirstissue.dev/ y https://goodfirstissues.com/. También puedes encontrar listados similares para proyectos de Mozilla en CodeTribute. Esta es una excelente manera de involucrarte y comenzar a tener un impacto real.
Para desarrolladores más experimentados que deseen sumergirse de lleno, otra opción es participar en eventos como Hackathons. Hacktoberfest, por ejemplo, es una celebración de un mes de programación que se lleva a cabo cada octubre, reuniendo a desarrolladores de todo el mundo para fomentar las contribuciones. Un sitio web dedicado te permite buscar proyectos de Hacktober adecuados utilizando tus lenguajes de programación preferidos.
Encontrar el proyecto adecuado para contribuir, con o sin habilidades técnicas
Pronto te darás cuenta de que hay una gran cantidad de proyectos de código abierto en los que puedes trabajar. Pero a medida que te familiarices con la comunidad y ganes un poco más de confianza en el proceso, querrás reducir tu enfoque. Ayuda a trabajar en proyectos cuyos objetivos compartas, donde sientas que puedes hacer una contribución importante y también donde puedas aprender. Y no te preocupes si no eres un experto en tecnología, también hay mucho trabajo en documentación y roles asociados en los que puedes participar.
Uno de los productores de software libre más conocidos es Mozilla. Son responsables del navegador Firefox, que representó casi el 8% de los navegadores web de escritorio en 2021. Firefox es un proyecto muy activo, lanzando actualizaciones importantes cada 50 días en promedio, y las contribuciones son bienvenidas en todos los niveles, tanto para desarrollo, corrección de errores, pruebas como documentación.
Wikipedia es un fenómeno en sí mismo. Esta enciclopedia de código abierto fue fundada en 2001 y se encuentra constantemente entre los 15 principales sitios web a nivel mundial. Si escribir documentación es tu actividad preferida, y especialmente si tienes conocimientos expertos para compartir, Wikipedia es un medio ideal.
Para la productividad en el escritorio, LibreOffice compite con el software de oficina propietario de gigantes tecnológicos como Apple y Microsoft. Su comunidad global de desarrolladores da la bienvenida a nuevas contribuciones y tienen programas de tutoría y orientación, así como tareas de tamaño reducido para que puedas comenzar.
Por supuesto, hay innumerables otras opciones, incluida la plataforma de discusión Discourse, Kubernetes para DevOps e ingeniería en la nube, así como algunos de los marcos de aplicaciones web más utilizados, como Django, Ruby-on-Rails y Meteor.
¿Por qué es importante contribuir a proyectos de código abierto?
Si aún te preguntas por qué deberías invertir tu tiempo libre en trabajar en proyectos públicos, considera los beneficios más amplios. Utilizar el software es una cosa, pero contribuir realmente a su desarrollo te proporciona un entendimiento mucho mejor de cómo funciona. Hay mucho que aprender al abordar requerimientos del mundo real, correcciones de errores y horarios de desarrollo. Además, puedes obtener inspiración y enseñanza de algunos de los mejores desarrolladores a nivel global.
Trabajar en proyectos comunitarios construye tu reputación y amplía tus perspectivas. Si te preocupa una carrera en el ámbito del software, encontrarás muchas oportunidades directa e indirectamente a través de tu participación activa con otros desarrolladores.
Por encima de todo, todos deseamos software bien funcionando con una buena documentación. Al participar y contribuir al código abierto, obtienes la satisfacción de saber que has hecho que el mundo digital sea un poco mejor.
Únete a nuestra comunidad
¿Te apasiona el Frontend? ¿Quieres cambiar tu trayectoria laboral? En nuestra plataforma de Talent puedes encontrar la forma de llevar tu carrera al siguiente nivel. Entra en nuestra web y encuentra tu trabajo ideal- Échale un vistazo.
Ser parte de la comunidad de Codemotion te permitirá potenciar tu experiencia y enfrentar nuevos desafíos que impulsarán tu carrera. Aprenderás nuevas habilidades técnicas y crecerás junto a otros miembros mediante el intercambio de opiniones y la creación conjunta. Tenemos dos comunidades para ti según tu experiencia:
- Si eres wanna-be-dev, junior-dev o early-mid-dev nuestra comunidad de Discord es para ti. Allí encontrarás recursos, eventos, formación, muchos compañeros de viaje y beneficios exclusivos.
Súmate aquí.
- Si eres late-mid-dev, senior-dev, Tech Lead o CTO nuestra comunidad de Telegram es para ti. Allí encontrarás el mejor networking, artículos high-tech, debates de tendencias tech y beneficios exclusivos.
Súmate aquí.
¡Nos vemos en Codemotion!