Title: Mi primera vez Date: 2018-06-23 Category: Tags: Slug: First-Time Lang: es El otro día recordé un momento importante de mi vida. Uno de esos comienzos que empezó a cambiar mi forma de pensar: **El día que contribuí al Software Libre por primera vez**. Mi primera contribución al software libre fue en 2014, más concretamente el 22 de Mayo de 2014. Hace sólo 4 años de aquello pero, al mismo tiempo "*¿Ya han pasado 4 años? ¡Madre mía!*". Me sigues ¿No? Pensarás que empecé a programar con 10 años o algo similar. No fue así. Aprendí a programar en la universidad y no tan bien como un informático, porque estudié ingeniería de telecomunicaciones y los ordenadores sólo son un tercio de nuestros estudios, siendo las otras dos partes electrónica y temas relacionados con las señales. No soy un joven *hacker* ni un genio. Mis padres odian los ordenadores. No tuve un ordenador en casa desde que era un bebé. Eso, simplemente, no ocurrió. Hoy os quiero contar mi historia. No porque sea tan maravillosa que os vaya a encantar. Quiero contarla porque es **muy** estándar. Quiero que veáis que vosotros también podéis contribuir al software libre. Que cualquiera puede. ¿Cómo empezó todo? Empecé mis estudios universitarios en 2009. El primer año dedicamos un cuatrimestre a aprender C y el siguiente a aprender C++. No era clases de programación al uso, sino unas clases introductorias a los lenguajes y a los ordenadores. Unos años más tarde tuvimos unas asignaturas dedicadas a las redes donde usamos Linux por primera vez. Los ordenadores tenían *Kubuntu* instalado. En aquellos tiempos, mi ordenador empezó a fallar y le instalé *Kubuntu* en arranque dual, así lo probé. Molaba. Poco después la partición de *Windows* falló del todo y estaba tan cómodo con la otra parte que simplemente la borré y usé *Kubuntu* desde entonces. Era sencillo. El segundo cuatrimestre de aquel año nos centramos más en Linux porque dimos un asignatura de redes y herramientas que lo necesitaba. Aprendimos a usar una terminal, algo de SQL y cosas de ese estilo. Herramientas simples que resultaron ser útiles en el futuro. Estaba tan sorprendido con el poder de la terminal que estudié muchísimo en mi tiempo libre y hasta conseguí una matrícula de honor en la asignatura debido al interés. Como he dicho antes, no soy un genio, sólo tenía interés. Tuvimos una asignatura sobre *Minix*, que seguía el libro *Sistemas operativos: diseño e implementación*, escrito por Andrew Tannenbaum, en el que se nos iniciaba en conocimientos sobre el sistema operativo. Eso empezó a darme interés sobre la parte ética del software libre y encendió mi interés en el tema. El año siguiente tuve dos asignaturas sobre sistemas operativos (una teórica y una práctica). El profesor era socio de *KDE España* y nos habló del software libre en clase. Estuve bastante involucrado por aquél entonces. La parte práctica de la asignatura era software de verdad, seguíamos más o menos los contenidos del libro *Advanced Linux Programming*[^1]. Eso era puro desarrollo en C y no teníamos mucho conocimiento al respecto. Sólo habíamos tocado algo de C/C++ en el primer año y algo de ensamblador en otras asignaturas. Era muy difícil, pero era muy guapo. Hicimos una pequeña shell. ¡Me encantó! Último año de carrera[^2]: Hay que hacer el proyecto final. No sabía qué hacer así que me puse en contacto con el profesor que era parte de *KDE España* y él fue mi director del proyecto. Instalé un cliente IRC y empecé a hablar con la gente de *kde-telepathy*. No estaba acostumbrado a ese tipo de desarrollo colaborativo. ¡No estaba acostumbrado a ningún tipo de desarrollo! Pero todo fue bien, gracias, sobre todo, a la gente tan maravillosa involucrada en el proyecto (David, Diane, George, Martin... *Vosotros* sois los que de verdad moláis). El proyecto era una aplicación de *KDE*, una de las grandes: *KDE-Telepathy*. Gracias a dios, mi parte del proyecto estaba bastante separada así que pude centrarme sólo en mi cachito. Eso me enseñó a trabajar en un proyecto grande y a saber centrarme en lo mío. También tuve que programar C++ como en la vida real, no como los problemas diseñados que tuve que resolver en la universidad, y también leí muchísima documentación sobre *Qt*, *KDE* y de todo lo demás. Empecé con la contribución con la que he abierto este post y seguí hasta que renové la interfaz completa. No era genial, pero el código se añadió al proyecto poco más tarde. Desde entonces podría decir que programo casi a diario y he estado estudiando muchos lenguajes de programación, pero entonces era relativamente nuevo al mundo de la programación y los ordenadores. Con todo esto, simplemente quiero decir: > Si estás interesado inténtalo. Todo va a ir bien. No necesitas ser un > genio[^3]. [Puedes ver la contribución aquí](https://git.reviewboard.kde.org/r/118256/diff/2#index_header). Un abrazo. Ekaitz [^1]: Es un libro genial, por cierto. Lo puedes encontrar [online](https://mentorembedded.github.io/advancedlinuxprogramming/). [^2]: Cuando yo estudié, justo antes del [Plan Bolognia](https://en.wikipedia.org/wiki/Bologna_Process), la universidad duraba 5 años para las licenciaturas (como la mía) y 3 para las diplomaturas. [^3]: Pero enhorabuena si lo eres, así podrás aprender más rápido y tener más alcance si es que eso te interesa.