Cómo contribuir a un proyecto de código abierto

Nunca ha sido fácil aprender a programar. Pero a pesar de las toneladas de formas de aprender a codificar, creemos que la mejor manera de mejorar tus habilidades es contribuyendo a proyectos de código abierto.

La comunidad de código abierto ofrece una gran oportunidad para que los aspirantes a programadores se distingan; y al contribuir a varios proyectos, los desarrolladores pueden mejorar sus habilidades y obtener inspiración y apoyo de personas con ideas afines. Pero lo más importante es que pueden demostrar que pueden construir experiencias fantásticas que la gente adora.

Anteriormente, hemos hablado de qué son los proyectos de código abierto y de por qué el código abierto es bueno para su negocio. En este artículo, explicaremos por qué deberías contribuir a dichos proyectos, cómo contribuir y qué proyectos elegir. Este artículo está orientado a los desarrolladores que están comenzando su carrera y les gustaría involucrarse con la comunidad (y tal vez convertirse en un genio de la codificación).

¿Por qué contribuir a los proyectos de código abierto?

Hay una serie de razones para contribuir al OSS (software de código abierto). Veamos qué motiva a los desarrolladores a contribuir.

En primer lugar, hay muchos entusiastas que simplemente creen que el código debe ser abierto. Son idealistas que quieren hacer del mundo un lugar mejor, y eso les impulsa a contribuir con código. El deseo de compartir puede ser un poderoso motivador.

Segundo, el OSS te da un gran comienzo. Los principiantes pueden empezar arreglando cosas menores, como un error en una biblioteca, enviando un pull request o incluso escribiendo una pieza de documentación. Sin embargo, los desarrolladores principiantes también pueden aprender a escribir el llamado «código limpio» -código legible y mantenible- mientras contribuyen a proyectos de código abierto. Cuando los desarrolladores se dan cuenta de que su código está expuesto al mundo, hace que se centren en hacer que ese código sea fácil de entender y mantener. Los programadores se ciñen a las reglas generalmente aceptadas dentro de un equipo, que incluyen normas para las sangrías, las descripciones de métodos y clases, los nombres de las variables y el cumplimiento de la regla de no repetirse. En pocas palabras, cuando se contribuye a proyectos libres se está obligado a ajustarse a las normas de un proyecto.

En tercer lugar, se tiene la oportunidad de formar parte de una comunidad activa de código abierto en la que se puede conocer a personas con ideas afines y seguidores. Además, si eres un autónomo y contribuyes activamente a los proyectos de código abierto, aumentas tus posibilidades de que los posibles empleadores se fijen en ti.

Las principales razones por las que los desarrolladores se decantan por los proyectos de código abierto son ser reconocidos, perfeccionar sus habilidades de programación y formar parte de la vibrante comunidad. Ahora veamos lo que deberías tener en cuenta antes de empezar a contribuir.

Lo que hay que tener en cuenta antes de apostar por el código abierto

De acuerdo, así que no puedes esperar a empezar tu primer proyecto de OSS. Vamos a repasar algunos consejos que podrían ayudarte a elegir en qué trabajar.

Lenguaje de programación

La tecnología más fundamental detrás de cualquier aplicación es un lenguaje de programación. Los lenguajes más populares en GitHub (una plataforma de alojamiento de código colaborativo) son JavaScript, Python, Java, Ruby y PHP. Hay multitud de proyectos que podrían adaptarse a tus habilidades y gustos.

Ya que en RubyGarage nos encanta Ruby y su ecosistema, nos gustaría compartir varias bases de código OSS en vivo para principiantes:

  • Sinatra, una librería basada en Ruby que ayuda a crear aplicaciones sin Rails;
  • Hanami, un moderno framework web construido con Ruby;
  • Chef, un framework basado en Ruby que sirve para automatizar tu trabajo con el servidor;
  • Goby, un framework que permite construir juegos de rol en texto;
  • JRuby, un segundo intérprete de Ruby de primer nivel.

Aunque sólo hemos mencionado cinco proyectos de código abierto activos que necesitan ayuda, puedes empezar tu andadura como colaborador de Ruby con ellos.

Tipo de proyecto

Después de elegir el lenguaje en el que quieres trabajar, tienes que elegir el tipo de proyecto que prefieres. Los proyectos de GitHub se clasifican en carpetas llamadas Showcases. Estos son algunos ejemplos de Showcases: «seguridad», «realidad virtual», «editores de texto» y «preprocesadores CSS». Sólo tienes que elegir un tema que te interese.

Sin embargo, te recomendamos que prestes más atención a aquellos proyectos que serían utilizados por un amplio espectro de personas para que tengas la oportunidad de probar tu código en una gran audiencia del mundo real. Por ejemplo, la vitrina «Emoji» contiene 25 repositorios que representan su popularidad. Otro consejo sobre cómo elegir un proyecto de OSS es empezar a trabajar en un software que ya utilices o que te interese utilizar. Esto te mantendrá motivado para seguir trabajando.

Volumen del proyecto

Los proyectos de software grandes como VLC Media Player o Spree -con miles de líneas de código- no son la mejor opción para un principiante. Cuando contribuyes a proyectos enormes, se espera que cumplas con los requisitos establecidos dentro de ese equipo. Y aquí va otro pequeño consejo: presta atención a las etiquetas de las incidencias. Algunos temas están etiquetados como «sólo para principiantes», «principiante», «fácil», etc. También puedes encontrar una lista en Github con colecciones de proyectos que se adaptan a los recién llegados.

Considera estos consejos cuando elijas un proyecto al que contribuir. Y recuerda siempre elegir el software que te interesa y asignar tiempo con antelación.

Cómo contribuir a proyectos de código abierto

Cuando hablamos de software libre, no podemos evitar hablar de GitHub y herramientas relacionadas. Veamos qué es GitHub y cómo te ayuda a participar en proyectos de código abierto.

Conoce GitHub

GitHub es la plataforma más popular para la colaboración en código abierto, por lo que probablemente la utilices cuando explores el mundo del OSS. En primer lugar, tienes que crear una cuenta en GitHub y leer la guía que te ayuda a empezar. En GitHub, puedes contribuir a los proyectos enviando problemas y aportando código. Enviar problemas significa mandar mensajes sobre errores en las aplicaciones y sugerir formas de solucionarlos. Contribuir con código implica enviar pull requests con tus correcciones y mejoras.

Aprende lo básico

Al trabajar con GitHub, debes saber cómo usar Git – una de las herramientas de control de versiones más populares (también conocidas como herramientas de control de revisión). Dado que los desarrolladores realizan constantemente cambios en su código, necesitan un sistema que pueda gestionar esos cambios en un repositorio central. De este modo, todos los implicados en el proceso de desarrollo pueden descargar una pieza de software determinada, realizar cambios y enviar actualizaciones.

Además de sentirse cómodo con las herramientas de control de revisiones, las habilidades esenciales incluyen poder clonar un repositorio y enviar pull requests. Las solicitudes de extracción informan a los mantenedores de código sobre los cambios realizados en el código; a continuación, pueden revisar estos cambios, iniciar un debate sobre ellos o asignarlos a un commit posterior.

Únase a la comunidad

Puede unirse fácilmente a un proyecto de código abierto suscribiéndose a la lista de correo de ese proyecto. Puedes encontrar listas de correo en los sitios web oficiales o en las páginas de GitHub. Tras ser aceptado en la lista, puedes comunicarte con los miembros del equipo y obtener apoyo si es necesario. Gracias a las vibrantes comunidades presentes en casi todos los proyectos de OSS, es probable que obtenga respuestas rápidas a sus preguntas.

Todas las habilidades son bienvenidas

¡Incluso los no programadores pueden contribuir a los proyectos de código abierto! La documentación es necesaria para todos los proyectos, y a veces está mal escrita y mantenida. Por lo tanto, puedes ayudar escribiendo, actualizando o incluso traduciendo la documentación. Además, tus conocimientos de diseño pueden ser útiles: al fin y al cabo, toda aplicación necesita una interfaz. Por último, puedes contribuir gestionando una comunidad respondiendo a las preguntas y guiando a los recién llegados.

Modo de contribuir a los proyectos de código abierto

Destaquemos las formas más comunes de contribuir a los proyectos de OSS.

Crea tu propio proyecto de código abierto

Todo proyecto debe comenzar con una necesidad identificada. Si crees que los proyectos existentes en GitHub o Bitbucket no ofrecen la funcionalidad que te gustaría construir, entonces crea tu propia solución de código abierto. Además de un borrador inicial del proyecto, debes considerar el siguiente conjunto de preguntas:

  1. ¿Qué habilidades necesitas para tu proyecto?
  2. ¿Cuánto tiempo estás dispuesto a dedicar a tu proyecto?
  3. ¿Qué problema(s) resuelve tu software?
  4. ¿Cuántos usuarios potenciales hay para su producto?

Crear alternativas de código abierto al software comercial

Los proyectos comerciales de hoy en día participan activamente en soluciones de código abierto. Muchas empresas basan sus proyectos en herramientas libres. Cuando hay una gran selección de software, no es necesario reinventar la rueda. Por eso es útil jugar con el software libre que puede sustituir a un software propietario similar, o que soluciona un problema al que se ha enfrentado recientemente.

Otra razón para sustituir las soluciones comerciales por el software de código abierto es el afán de innovación y crecimiento reales. El software comercial pretende ser innovador, pero su objetivo final es obtener beneficios. El software de código abierto reúne las mejores prácticas, una gran calidad de código y desarrolladores apasionados dispuestos a codificar sólo porque les gusta.

Contribuya a los proyectos de código abierto existentes

Puede encontrar muchos proyectos en los que es libre de participar en GitHub: una plataforma orientada a los desarrolladores con un conjunto de funcionalidades simples pero esenciales. GitHub atrae a los desarrolladores con API públicas, una interfaz de usuario elegante y frecuentemente actualizada, gists (repositorios Git) que permiten compartir trozos de código o incluso aplicaciones completas, y mucho más. Se puede contribuir al software libre de muchas maneras. Los desarrolladores pueden bifurcar proyectos, hacer cambios en el código y enviar solicitudes de extracción. Y el control de calidad siempre es apreciado. A veces los desarrolladores están demasiado ocupados o son demasiado perezosos para comprobar la calidad de su código. Así que no dudes en informar de un error o intentar arreglarlo: tu ayuda es muy apreciada.

Puedes llegar a los proyectos más calientes de GitHub siguiendo el enlace «Trending». Y para que tu búsqueda sea más relevante, utiliza la búsqueda avanzada: selecciona el idioma en el que quieres codificar y elige el criterio de «mejor coincidencia». La mejor coincidencia clasifica los proyectos según su relevancia, teniendo en cuenta el número de bifurcaciones (que representa la actividad de actualización del proyecto) y las estrellas («me gusta», en el lenguaje de Facebook). La mayoría de los proyectos tienen problemas conocidos (aunque algunos no) con etiquetas como «error», «discusión», «seguridad» o «refactorización», u otras etiquetas según el nivel de dificultad: «fácil», «medio», «difícil».»

Conclusión

Los proyectos de código abierto aportan muchos beneficios a quienes participan en ellos, y esa experiencia es estupenda para tu CV. Al unirte a una comunidad de personas con ideas afines y pulir tus habilidades, puedes dar un paso adelante como aspirante a desarrollador. Hemos enumerado las razones más comunes por las que la gente contribuye a los proyectos de OSS y hemos descrito varias formas de empezar. Si quieres leer más sobre cómo contribuir a proyectos de OSS, consulta nuestros artículos anteriores sobre cómo los proyectos de código abierto penetran en el mercado de las TI y sobre la seguridad del software libre.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.