Entrevistamos a Antonio Larrosa, matemático, histórico kdesarrollador malagueño y presidente de la asociación KDE España que nos hablará de lo que nadie te contó sobre zypper y openSUSE Build Service.
¿Podrías presentarte brevemente? ¿A qué te dedicas y cuáles son tus aficiones?
Mi nombre es Antonio Larrosa y soy matemático. He dado clases de diseño de sistemas operativos en la Universidad de Málaga como profesor asociado durante 5 años. Actualmente trabajo en SUSE, en el departamento de SUSE Linux Enterprise, en el equipo de Escritorio donde además colaboro en el desarrollo de openSUSE.
Llevo desarrollando software libre desde 1995 y formando parte del proyecto KDE desde 1997. Desde el año pasado también soy el presidente de la asociación KDE España. En cuanto a aficiones, me gusta programar también en mis ratos libres, tocar el piano y ver series/películas (a veces mientras programo, lo que mejora sustancialmente muchas películas 🙂 ).
¿Qué tal es trabajar en SUSE?
Trabajar en SUSE es genial. Tengo mucha libertad para elegir en qué trabajar y todos los compañeros son muy buenos profesionales. Además, hay compañeros expertos en todas las áreas de Linux, con lo que se aprende mucho hablando con cualquiera de ellos.
SUSE es una empresa que tiene muy integrada la filosofía del software libre en toda la organización, con lo que promueve muy activamente el que todos los trabajadores colaboren en el desarrollo de openSUSE y que todos los problemas que se arreglen en cualquier proyecto se envíen siempre a los desarrolladores originales para que toda la comunidad se beneficie.
Otra cosa muy buena es que tenemos una semana al año (algunos años incluso dos) en los que SUSE celebra una «Hackweek«, basicamente, una semana que podemos dedicar a hacer lo que queramos: desarrollar algún proyecto personal, aprender un nuevo framework/librería/lenguaje de programación, etc.
¿Qué puedes contarnos de tu experiencia como mentor en el Google Summer of Code?
Pues es algo muy interesante. He participado 3 veces como mentor del GSoC, dos veces desde KDE y una desde openSUSE. Creo que ayudar a estudiantes a integrarse en un proyecto de software libre es muy útil tanto para el estudiante (que aprende a programar mejor, a usar una librería/framework/entorno y a trabajar en equipo en un proyecto como KDE u openSUSE con miles de personas usando herramientas y flujos de trabajo de software libre) sino también para el proyecto (que consigue un colaborador más y nuevo código hecho a medida). Además, el estudiante recibe una cantidad de dinero de Google que suele ser bastante sustancial.
¿De qué hablarás exactamente en tu charla? ¿Por qué ese tema?
Hablaré sobre cómo se usa el gestor de paquetes de SUSE y openSUSE. zypper es un gestor de paquetes tremendamente potente y rápido que me parece que no es tan conocido como debiera serlo. Muchos usuarios usan zypper para instalar/desinstalar paquetes y quizás para actualizar el sistema, pero zypper permite hacer muchas cosas más que explicaré en la charla.
Además, explicaré cómo usar el openSUSE Build Service (OBS) junto con zypper y exprimir toda la potencia de OBS para nuestro beneficio. Eso sí, espero que quien asista salga de la charla teniendo presente que un gran poder conlleva una gran responsabilidad :).
Por cierto, llevaré DVDs de openSUSE y pegatinas para quien quiera instalar la última versión de openSUSE Leap y probar en casa todo lo que cuente.
¿Qué quieres conseguir al dar esta charla? ¿Qué esperas?
Espero que los asistentes conozcan mejor openSUSE y vean que hay alternativas a apt-get.
¿Cuál es (brevemente) la historia de zypper?
El desarrollo de zypper (y la librería libzypp que implementa la «inteligencia» de zypper y puede ser usada en otras aplicaciones) empezó en 2006 con un énfasis en la importancia del solucionador de dependencias y su velocidad. De hecho, es en los algoritmos que usa para resolver las dependencias entre paquetes en lo que más se diferencia de otros gestores como apt-get, ya que zypper utiliza un algoritmo basado en la teoría de la complejidad computacional para resolver un problema de satisfacibilidad booleana. Pero tranquilo, que no voy a hablar de matemáticas en la charla :). Sólo diré que gracias a que está bien diseñado permite hacer cosas muy interesantes cuya utilidad sí enseñaré.
¿Cuál es tu editor o entorno de programación favorito?
Según para qué. Me gusta mucho kdevelop para proyectos completos y es el que siempre he recomendado a quien empieza a programar o a mis estudiantes en la universidad cuando daba clases, pero el 99% de las veces uso vim con una multitud de plugins para editar ficheros individuales o parches.
¿Y tu lenguaje de programación favorito?
También depende de para qué. Me gustan mucho C++14 y Python. Fíjate que digo C++14 y no C++ porque el lenguaje ha cambiado mucho y la última versión tiene muchas mejoras importantes (y ya puestos, comentar que gcc 7, que ya se está probando en openSUSE Tumbleweed, ya soporta todas las novedades del próximo estándar C++17).
¿Qué proyecto de software libre que no sea muy conocido y consideres especialmente útil recomendarías?
Pues últimamente he colaborado con algunos proyectos interesantes para organizar música que creo que no son muy conocidos: Picard y Beets (cuyo lema es «the media library management system for obsessive-compulsive music geeks» 🙂 ). Son proyectos que se pueden usar tanto independientemente (o uno u otro) pero también conjuntamente. Ambos proyectos usan MusicBrainz, otro proyecto muy importante que se puede considerar la wikipedia de la música y en el que animo a todos a colaborar para introducir información de la música.
¿Cuál es tu proyecto de software libre favorito?
Fácil, KDE, aunque quizás eso sea hacer trampa porque es mucho más que un proyecto de software libre. KDE es una comunidad de personas que queremos hacer el mejor escritorio libre para todos.
¿Desde cuando conoces el software libre y cuál fue tu primera experiencia con él?
Pues empecé a usar Linux sobre 1994 o 1995. El escritorio estaba todavía en pañales (se podría decir que estaba en pañales y esos pañales estaban en versión alpha). Vi que se podían hacer cosas que en windows 3.1 no podían hacer (como reservar más memoria de la que tenía el sistema físicamente o usar punteros para acceder a arrays de más de 64 KB sin tener que preocuparme de cálculos de segmento y offsets) y me gustó mucho, pero lo que me convenció finalmente fue el tener el código de todas las aplicaciones y poder modificar un reproductor de música midi que se llamaba playmidi para que funcionara correctamente con mi teclado midi. Desde entonces (principios de 1995) uso Linux exclusivamente.
¿Recuerdas como conociste KDE?
Sí, un amigo de mi hermano le dejó varios disquetes de 3.5″ donde había descargado «un escritorio que tenía muy buena pinta» y hacía muy fácil de usar Linux. KDE andaba entonces por la versión 0.11 o 0.12 .
¿Cómo fueron tus primeros años, como llegaste a ser desarrollador del proyecto?
Pues en aquella época playmidi era el único reproductor midi que existía en Linux y era una aplicación de línea de comandos. Yo quería hacer un reproductor midi con interfaz gráfico y decidí usar las librerías de KDE para desarrollarlo.
Así surgió kmid. Al principio no tenía ni conexión a internet en casa, tenía que ir a la universidad para conectarme a internet y mandar el código fuente que había programado y llevaba en un disquette. Poco después ya me conecté con un modem de 9600 bps desde casa y pude enviar código al cvs de kde directamente (todavía se usaba cvs en aquella época aunque después se sustituyó por svn y más tarde por git). Por aquel entonces creo que eramos alrededor de 30 personas en KDE.
¿Cuál es tu principal motivación cuando aportas a un proyecto de software libre?
En general, la motivación es hacer del mundo un lugar mejor poniendo mi granito de arena al trabajo común de todos los desarrolladores de software libre.
¿Estuviste en la edición anterior de la conferencia OpenSouthCode?
Por supuesto, estuve allí todo el día y estuvo genial. Pero la edición de este año me da la impresión de que va a ser incluso mejor. Nos veremos por allí!
Antonio, muchísimas gracias por tu tiempo.
¡Ya queda muy poco para el OpenSouthCode 2017!
Puedes leer más sobre Antonio Larrosa en una entrevista más completa de kdeblog.com: