miércoles, 31 de diciembre de 2014

El software libre y yo: dos caras de la misma moneda

El presente artículo es el original que, posteriormente, se tradujo y se adaptó en lo que sería Migasfree developer journeys from graduation to open source career, un encargo de Jean Wike para la publicación online opensource.com. Tan solo he actualizado algún enlace que había quedado desfasado.


Desde que era bastante joven, siempre me ha atraído la programación. Y la mejor forma de aprender algo es estudiar cómo lo hacen otros, para luego aplicarlo a lo que uno hace.

En un principio, cuando lo único que interesa es aprender, el tema de las licencias queda bastante alejado de lo que uno quiere saber. En mi pequeño ecosistema de estudiante (en el que todavía no existía Internet), era práctica común compartir el código fuente de los programas que se hacían. Era lo normal, porque entendíamos que así podíamos aprender unos de otros. Pero había algunas personas recelosas (no muchas), que no seguían esas reglas tácitas. Nunca logré comprender porqué si ellas sí se aprovechaban de conocimientos e ideas de otros, no colaboraban con los demás enseñando sus propios programas.

Después, cuando uno se va haciendo más mayor y empieza a descubrir el mundo empresarial, comienza a comprender el intrincado sistema de leyes de patentes, propiedad intelectual y demás trabas que unos a otros se van poniendo en el complicado mundo de los negocios. Muchas veces he pensado que sin tantos obstáculos (todos ellos artificiales a la naturaleza humana), el avance de la tecnología (entre otros muchos campos) podría haber sido mucho más rápido y ético en los resultados obtenidos. Pero la afirmación de que la información es poder, sigue pesando mucho más que los beneficios a largo plazo para todos.

Por suerte, también descubrí que aquellas ideas que había tenido años atrás, eran compartidas por muchas otras personas. Gracias a ellos, hoy puedo estar aquí y escribir sobre mis experiencias. Soy quien soy por la suma de pequeñas partes y hay muchas más que han sido legadas por otros, que mías originales. Y es así para todos, porque así es como hemos ido evolucionando como especie.

Cuando iba a terminar mi carrera universitaria, tenía que realizar un proyecto completo de software para finalizar mis estudios. Me pareció algo completamente natural que dicho proyecto fuera software libre, pero no me imaginé que fuera el primer proyecto de estas características en mi pequeña universidad, ya que no se acomodaba a las normas que se estipulaban en los documentos que tenía que generar. Fue triste descubrir que no se fomentaran proyectos e ideas sobre software libre en mi círculo universitario. Espero que con los años, haya cambiado esta situación.

Afortunadamente, las trabas burocráticas que encontré para realizar mi proyecto, desaparecieron en el terreno técnico. Decidí enfocar la idea de la aplicación a la web, pero no tenía todavía formación adquirida en este área. Gracias al software libre, rápidamente pude aprender de otro proyecto, llamado OpenBiblio, para hacer el mío: OpenClinic. Al principio, como se puede apreciar ya del nombre, eran programas con el código muy parecido, aunque sus ámbitos de aplicación eran muy diferentes. Pero conforme pasó el tiempo y puede aprender conceptos de otros proyectos, empezaron a ser más notables las diferencias en la codificación. Sin embargo el valor que tuvo para mí haber aprendido conceptos sobre la programación en web de este proyecto, sigue siendo incalculable. Desde luego, no lo hubiera hecho en tan poco tiempo como lo hice.

Otro de los proyectos que me sirvieron para publicar OpenClinic, fue Gallery. De él adapté la forma en que manejaban las traducciones para cargar el idioma adecuado en la aplicación. Colaboré como traductor de la aplicación al español (en la versión 1) durante unos meses y esa experiencia me sirvió para aprender cómo funcionaba un proyecto basado en comunidad.

Una vez acabada mi etapa estudiantil, tocaba empezar la etapa laboral. La comencé haciendo prácticas en un par de empresas que basaban su negocio en hacer software privativo. Y las herramientas que se usaban para crearlo eran también privativas. Hace 10 años, esta era la situación habitual de las empresas de software de mi ciudad. No existían otras opciones. No se habían probado otras opciones...

Sin embargo, en la tercera empresa donde comencé a realizar prácticas laborales, había algo diferente. Parte del modelo de negocio seguía estando basado en software privativo, pero muchas de las herramientas que podía usar para mi trabajo, eran software libre (PHP, Python, CVS, Bugzilla, Wordpress, Mediawiki, Firefox, ...). Ni que decir tiene que para mí era un entorno mucho más atractivo que los anteriores, y estuve allí, ya como empleado, durante los siguientes 5 años. Esta situación es algo cada vez más normal en las empresas (y más ahora, en estos tiempos de crisis): utilizan herramientas libres para sus labores aunque el resultado no sea software libre.

Tras esos años como programador web, cambié de aires y de tareas. Pasé a trabajar en la administración pública de mi ciudad en un proyecto de implantación de software libre en los equipos de trabajo de los empleados municipales. Parte de mi actividad consiste en adaptar Linux a las características de los empleados de la organización. A esta distribución derivada la llamamos AZLinux.

Pero este nuevo trabajo, me ha permitido ir un paso más allá en mi relación con el software libre, ya que he podido colaborar en varios eventos de promoción (Gnome 3.0 Marketing Hackfest, Libre Software World Conference 2011, OpenDNIe Hackfest, Software & Barra Libre) y me he vuelto a embarcar en otro proyecto de software: migasfree. Esta aplicación cliente/servidor nace para cubrir una necesidad en nuestro trabajo diario de administración de los equipos con Linux, pero estamos adaptándola para que también se pueda usar en otros entornos.

Otro aspecto, todavía más importante, es la calidad de las personas que he ido conociendo en este mundillo. La lista sería muy larga, por lo que sólo nombraré a una pequeña, pero selecta parte:

Resumiendo, el software libre me ha ido definiendo como persona tanto en el aspecto profesional como en el personal, y se ha convertido en el mejor de los currículum vítae posibles. Si publicas tu trabajo, cualquiera puede fijarse en él y puede convertirse en tu mejor tarjeta de presentación. En los últimos años, dos grandes empresas (una de ámbito nacional y otra internacional), han contactado conmigo gracias al hecho de tener liberados proyectos de software libre en Internet. Desde luego, esto nunca hubiera sido posible si me hubiera dedicado a realizar sólo software privativo.

Pero lo mejor del software libre y de todo lo que le rodea, no es todo lo que he aprendido, sino todo lo que me queda por aprender.