Open Source

Contribuir al Open Source

Como desarrollador web, durante el trabajo diario utilizo multitud de herramientas, librerías, plugins, editores y recursos que son Open Source: software creado por miembros de la comunidad mundial de desarrolladores y distribuido libremente, cuyo código fuente es abierto, y generalmente de coste cero.

(Antes de continuar creo importante señalar que Open Source no es lo mismo que Software libre, el cual pone más énfasis los aspectos morales y éticos del software así como en la libertad de uso y distribución. No dedicaré más espacio a este tema porque ya hay una gran cantidad de artículos dedicados al mismo.)

Normalmente el software de código abierto viene con ninguna o pocas garantías, definidas en su licencia de uso (en la licencia MIT puede leerse lo siguiente: The software is provided «as is», without warranty of any kind, express or implied), y en ocasiones puede contener alguna que otra trampa como es el caso de la licencia de React (con su controvertido párrafo Your license to use React.js can be revoked if you compete with Facebook). Pero es innegable la contribución que los proyectos open source han hecho en el crecimiento y consolidación de Internet, en las nuevas tecnologías y en muchos aspectos de la vida cotidiana (¿a alguien le suena Internet of Things?).

Regresando a mi área de profesión, el desarrollo web, el software open source es uno de los pilares en los que se sustentan los programadores y en general la industria de Internet. Aquí encontramos sistemas operativos (Linux, FreeBSD, OpenSolaris) en los que se ejecutan servidores web (Apache, NGINX, Node.js), que sirven sitios web construidos con tecnologías de servidor (PHP, Python, Ruby) que a su vez se comunican con bases de datos (MySQL, MongoDB, MariaDB) para mostrar su contenido al usuario, accesible utilizando un navegador web (Firefox, Chromium, Konqueror) y embellecido con librerías (jQuery, Underscore.js, Three.js) y frameworks (Angular, Ember, Vue) JavaScript y con algún que otro framework CSS (Twitter Bootstrap, Kube, Bulma). Y el código de programación desarrollado seguramente con un editor de texto también de código abierto (Atom, Visual Studio Code), ídem para las imágenes (GIMP, Inkscape) o los archivos de audio (Audacity, Ardour).

Todo este software open source (y muchos, muchísimos más que no he nombrado), todos se pueden descargar y utilizar de manera gratuita. Programas realizados por un grupo de personas cuyo único afán es compartir el mismo y que pueda ser mejorado por la comunidad. Y que en mi caso (y en el de otros muchos programadores) me ayudan enormemente a ejercer mi profesión.

Y es por este último motivo por lo que creo firmemente en la importancia de la colaboración y en devolver a la comunidad lo que ésta libremente me ha dado, para hacerla aún más grandiosa. Ya sea revisando código de otros, mejorando librerías que estés utilizando (añadiendo nuevas funcionalidades o corrigiendo errores), desarrollando plugins para otros sistemas o frameworks, publicando utilidades que has programado, mejorando documentación, traduciendo documentos, testeando programas, respondiendo a preguntas en Stack Overflow… Como desarrollador me siento obligado a hacer este tipo de aportaciones, en señal de agradecimiento a toda esa gente que crea software para que otros lo disfruten; y con la esperanza de que también a alguien le resulten útiles esos pequeñísimos bits que devuelvo a Internet.

I will give back to the Community.
I will contribute workarounds, fixes, and document issues that may help others. I will file bugs at the source with the web browser’s bug tracker.

Front End Engineer’s Manifesto
http://f2em.com/#give-back

R

Si eres programador y quieres contribuir en la comunidad open source, o incluso si no lo eres, puedes empezar por estas guías que te ayudarán a encontrar el área dónde realizar tus aportaciones:

GitHub es la plataforma de desarrollo colaborativo de software más grande del planeta, y un buen punto de entrada dónde crear tu proyecto de programación o contribuir en otros ya existentes. Como en mi caso (puedes consultar aquí mi repositorio), es la plataforma escogida por muchos para publicar y mantener sus pet projects.

Publicado por

Raúl Parralejo

Raúl Parralejo

Frontend developer, especializado en el desarrollo de aplicaciones web y juegos para móvil y escritorio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *