Original article: How to Contribute to Open-Source Projects – A Beginner's Guide

Si has estado considerando contribuir a un proyecto de código abierto, es posible que estés sopesando los pros y los contras de hacerlo.

Es posible que escuches cosas como que los proyectos de código abierto no te ayudarán a crecer. O que no pueden cambiar tu trayectoria profesional. Y que sus contribuciones definitivamente no se sumarán a su portafolio.

Si alguna vez has escuchado algo como esto, es posible que estas personas no sepan mucho sobre los beneficios de contribuir a proyectos de código abierto. Y esos beneficios son muchos.

En este artículo, compartiré oportunidades de contribución y cómo comenzar a contribuir.

Mucha gente asume que los desarrolladores siempre están trabajando solos sin ninguna conexión externa.

Pero eso no es necesariamente cierto para los desarrolladores en estos días. Muchos de ellos:

  1. Crean proyectos para el público en general
  2. Son activos en las redes sociales.
  3. Se conectan activamente con personas de todo el mundo.    

De hecho, los proyectos de código abierto unen a los desarrolladores en un entorno más colaborativo que casi cualquier otra cosa.

¿Qué es código abierto?

Es posible que a menudo escuches sobre proyectos de código abierto y construcción en público. Pero, ¿qué significan estos términos?

Simplemente, significa que lo que creas es gratuito y está abierto para que cualquiera lo use. También significa que con la colaboración, tus proyectos siguen mejorando.

Plataformas abiertas de Blogging

Con los proyectos de código abierto; otras personas están adquiriendo la libertad de estudiar o desarrollar su propio proyecto existente.

Existen muchas plataformas que brindan a los desarrolladores la oportunidad de escribir en público. Está Hashnode, Dev.to, la biblioteca de desarrollo de Google y muchos más. Incluso podemos llamar a estos desarrolladores "Developer-as-a-blogger" (DaaB) por sus contribuciones de blogs. :)

He estado trabajando con la biblioteca de desarrollo durante más de un año. He visto casi más de 2000 presentaciones de más de 80 países ahora. ¡Bastante bien!

Cómo empezar a escribir tutoriales de tecnología

Pero, ¿Cómo sabes por dónde puedes empezar con tu viaje de blogueo como desarrollador?

Centrémonos en los siguientes consejos:

  • No dejes que el síndrome del impostor gane: no importa dónde te encuentres en tu carrera tecnológica, el síndrome del impostor probablemente asomará su fea cabeza de vez en cuando. Incluso con 7 u 8 años de experiencia, a veces sudo pensando si soy lo suficientemente bueno.

No te preocupes: La mejor manera de comenzar a escribir es intentar escribir mientras crea un proyecto. Explícatelo a ti mismo como si estuvieras hablando con un amigo, ayudándole a entenderlo. De esta manera, cualquier persona que lea su tutorial sabrá cómo construir el proyecto.

  • Existen muchos artículos sobre el mismo tema: este suele ser el caso. De los 7 mil millones de personas en el mundo, es muy probable que alguien más esté escribiendo sobre temas en los que has trabajado.

Pero la forma en que describes, defines y muestra las funciones será diferente. Concéntrate en eso.

  • ¿Cómo empiezo?: La ansiedad de la página en blanco existe. Para superar esto, comienza a crear secciones con los temas de alto nivel. Un esquema, por así decirlo. Luego comienza a agregarle contenido. Asegúrate de agregar más pasos, viñetas y elementos visuales.

Para estructurar y editar mejor tu contenido, puedes consultar los cursos de redacción técnica y las guías de estilo de Google, como las de freeCodeCamp y MailChimp.

  • Cómo hacer tus primeras contribuciones: Las primeras contribuciones son especiales pero abrumadoras. Para identificar el repositorio de GitHub adecuado, busque proyectos de código abierto en su área de especialización. Conéctese con las personas que han hecho contribuciones en su pila de tecnología. Entiende el proceso y comienza a contribuir.

Ahora que hemos repasado estos consejos, estás listo para iniciar su viaje de código abierto.

Mi viaje a código abierto

Para ayudarte a comenzar a contribuir a proyectos en tus áreas de especialización, compartiré algunos consejos y pautas en un minuto. Pero primero, un poco más sobre mí.

Hasta 2019, desconocía el término código abierto. Sí. No estaba activo en las redes sociales, excepto en LinkedIn, donde nadie hablaba de código abierto.

En pocas palabras, mis horizontes eran bastante estrechos.

Pero como era una escritora de tecnología, era miembro activo de una comunidad global de escritores de tecnología llamada Write the Docs. Estaba navegando por su canal de Slack cuando descubrí Google Season of Docs.

Revisé la lista de organizaciones participantes y encontré una interesante. Luego, me comuniqué con ellos a través de su canal de Slack y me ofrecí a actuar como voluntario.

Un año de voluntariado con 'The Good Docs Project' me abrió un montón de oportunidades. Creamos plantillas de código abierto para varios casos de uso como:

  • Una plantilla de glosario para organizaciones de espacio abierto a nivel mundial,
  • Una plantilla de incorporación,
  • Una plantilla de API,
  • Una plantilla de documentación.

Un año más tarde, después de establecer contactos y adquirir experiencia, me postulé como participante. La organización Metanorma vio mi experiencia de voluntariado y me seleccionó para GSoD'21. Y es de esa manera que me convertí en parte de la comunidad de código abierto en constante crecimiento.

Cómo empezar a contribuir al Open Source

Cuando comiences a contribuir, no te concentres solo en los resultados: concéntrate en el proceso.

Aquí hay algunos consejos para ayudarte a comenzar a contribuir:

Aprende Git y GitHub

Antes de encontrar repositorios en los que contribuir, adquiere conocimientos prácticos sobre los comandos de Git y la plataforma GitHub. Obten una comprensión básica de:

  • Cómo bifurcar (fork) el repositorio
  • Como hacer commits
  • Cómo fusionar commits
  • Cómo generar una solicitud de extracción (pull request)

Entre muchos otros conceptos de Git/GitHub, estos son algunos de los más importantes.

Si deseas obtener más información, aquí hay algunos recursos útiles:

Ahora que estás familiarizado con las herramientas y el software, ¿cómo decides con qué proyecto comenzar?

Bueno, antes que nada, comienza con los temas que le interesan. Navega por github.com/topics/[tema de tu interés] para buscar algo en lo que le gustaría trabajar. Por ejemplo, si desea buscar proyectos relacionados con Python, puede usar esto: https://github.com/topics/python.

A menos que sea algo muy específico, deberías encontrar toneladas de proyectos relacionados con el tema elegido para comenzar con tus contribuciones.

Una vez que hayas encontrado un proyecto, ve a las ediciones para principiantes de ese repositorio. Para ello, escriba github.com/[propietario]/[repositorio]/contribute. Selecciona un problema para comenzar a contribuir.

Si has estado activo en GitHub, tu página de exploración te mostrará algunas recomendaciones seleccionadas basadas en sus contribuciones, estrellas o bifurcaciones anteriores.

Participa en programas open-source

Participa en los programas de código abierto que organizan las principales organizaciones. Si no como colaborador, entonces como voluntario para aprender, idear, contribuir y luego participar.

Por ejemplo:

Explora abundantemente

El mayor punto ciego de las contribuciones de código abierto es no mirar más allá o no explorar.

Los proyectos de código abierto no se limitan a las contribuciones de código. Las otras formas de contribuir son:

Actualiza la documentación

Para cualquier proyecto, es importante tener un README extenso. Entonces, sumérgete en mejorar el LÉAME de tu proyecto favorito para que sea más fácil para otros.

Entonces, ¿cómo haces para hacer eso?

Bueno, para el proyecto Metanorma:

  • Realicé las acciones mencionadas en la documentación después de descargar la versión local. Esto me ayudó a descubrir los pasos faltantes, los errores o cualquier fluctuación.
  • A continuación, realicé un análisis cualitativo y cuantitativo de la documentación existente. Esto me ayudó a descubrir las URL que faltaban y las secciones difíciles de entender.
  • Después de encontrar estas partes, construí una arquitectura de información adecuada. La arquitectura de la información de la documentación te ayudará a concentrarte en el contenido.

Ayuda con el diseño

Las organizaciones necesitan diseñadores para sus proyectos. Entonces, si eres diseñador, crea carteles, imágenes o carruseles para la organización de código abierto.

Sé un creador de la comunidad

El software de código abierto tiene que ver con la comunidad. Personas que se unen, codifican juntas, contribuyen juntas y mejoran el proyecto juntas.

Conviértete en la persona de la comunidad para esos proyectos de código abierto. Reune a los contribuyentes. Realizar diversas funciones con ellos:

  • Asignar tareas
  • Solucionar problemas
  • Organizar reuniones
  • Crear programas de embajadores
  • Realizar talleres
  • Crear boletines

Ayuda con la localización

Ayuda a construir los proyectos en idiomas con los que estes familiarizado. Supongamos que eres hispanohablante. Busca algunos proyectos en tus comunidades. Traduce los proyectos principales del inglés al español a fin de que el proyecto esté disponible para más personas en todo el mundo. Como es el caso de freeCodeCamp.

Proyectos de código abieto a los cuales contribuir

Esta es una lista de varios proyectos de código abierto que tienen una comunidad activa de personas que esperan contribuciones. Tienen problemas que van desde el nivel de principiante hasta el de experto.

  • Supertokens: Supertokens es una alternativa auth0 de código abierto que te permite configurar la autenticación en menos de 30 minutos. El proyecto proporciona una implementación local que le otorga todos los derechos sobre la base de datos de sus usuarios. Para contribuir, siga su repositorio de GitHub, busca los problemas existentes, revisa su documentación y comience a contribuir.
  • Nimble Edge: Nimble edge es una plataforma descentralizada que está llevando al mundo de la computación en la nube tradicional a la computación perimetral. El cambio de la computación en la nube a la computación perimetral permitirá que los dispositivos se comuniquen entre sí de manera inteligente, compartan cargas de trabajo y utilicen la nube en consecuencia. Para contribuir, sigue su repositorio de GitHub, esté atento a los problemas y comienza a contribuir.
  • Dev library: Dev Library es la nueva plataforma de código abierto de Google que muestra contenido creado por desarrolladores externos utilizando cualquiera de las tecnologías de Google (Android, Angular, Flutter, Firebase, Google Cloud, Machine Learning). La plataforma está segmentada en áreas de productos que muestran proyectos de calidad a los que contribuir. Para contribuir, sigue cualquier proyecto de código abierto y profundiza con las contribuciones.
  • Codetriage: Comienza a contribuir encontrando cualquier repositorio de código abierto de esta mina de oro.
  • El proyecto Good Docs: The Good Docs es una comunidad de código abierto que crea plantillas para combatir la ansiedad de las páginas en blanco. La comunidad quiere crear plantillas para cualquier cosa y todo. Si crees que también tienes una idea de plantilla, únete a su canal de holgura. Para contribuir, sigue su repositorio de GitHub, únete a su canal de holgura y comienza contribuir.

También hemos visto un trabajo increíble de desarrolladores que utilizan las tecnologías de Google en Dev Library. Algunos crearon una aplicación clonada de Spotify usando Angular, otros crearon un proyecto para detectar melanoma (un tipo de cáncer de piel) usando imágenes de lesiones cutáneas, mientras que alguien creó una réplica del selector de imágenes de WhatsApp.

Y, por supuesto, freeCodeCamp en sí mismo es un proyecto de código abierto. freeCodeCamp puede ser tu plataforma de acceso para aprender y contribuir al código abierto.

Para terminar

Entonces, ¿qué piensas? ¿Es hora de comenzar a contribuir con el código abierto?

Mira lo que comparte Santosh Yadav, experto en código abierto en Angular y estrella de GitHub:

“Contribuir a Open Source me ayudó de maneras que nunca hubiera imaginado. Lo comencé como una forma de retribuir a la comunidad y obtuve el reconocimiento de la comunidad. Luego me convertí en Angular GDE y también en la primera estrella de GitHub de la India.

OSS me ayudó a aprender la tecnología en profundidad y me ayudó a conseguir un buen trabajo. Incluso trabajé como consultor durante un año y medio, y mi trabajo de código abierto me ayudó a conseguir clientes con facilidad.

Puede darte una buena vida a mi familia. Estuve viviendo de cheque en cheque durante 10 años antes de comenzar Open Source, y cambió mi vida”.

Estas historias nos cuentan cómo las contribuciones de código abierto pueden cambiar nuestra trayectoria profesional. No importa cuál sea tu perfil de trabajo, cs buena idea comenzar a contribuir a proyectos de código abierto.