Migrar, en general, conlleva una gran complicación al tener que adaptarse a algo distinto a lo acostumbrado y suelen haber tantas ventajas como desventajas. Si tomamos el caso particular del paso desde Windows a GNU/Linux, sabemos muy bien los problemas que ocasiona no poder usar los mismos programas que antes de forma nativa. Peor aún, no poder encontrar las herramientas necesarias y tener que seguir recurriendo al sistema anterior, quizá, a contragusto. Un poco sobre esto quería reflexionar en esta ocasión y, más que nada, compartir mi experiencia con otros que les hayan sucedido lo mismo.
Podemos tomar como ejemplos de esta situación a los juegos modernos. ¿A quién no le gusta pasar unas horas disparando zombies, recorriendo mundos o, simplemente, alterar a la policía armando disturbios? Sin embargo, la historia parece ir cambiando con la llegada de Steam y, con eso, juegos nativos en GNU/Linux. Lamentablemente esto no sucede con todas las categorías de programas. Hay casos de aplicaciones que quizás nunca lleguen pero hay una alternativa lo suficientemente buena para reemplazarlas, como sucede con GIMP, Blender, LibreOffice y demás. Con lo dicho, comenzamos a pensar: el paso no va a ser tan catastrófico, voy a poder seguir haciendo todo lo que antes hacía. Sin embargo, sucede que hay situaciones donde encontrar una alternativa, no sólo es algo trabajoso, sino que no siempre funciona como uno espera.
Exactamente ése es mi problema desde la semana pasada. Si bien puedo estar seguro que hay alternativas para casi todo lo que se puede hacer en Windows aquí (o por lo menos lo que yo pueda llegar a hacer), no siempre hay tiempo para implementarlas o resulta muy complicado. Lo primero que necesitaba era Matlab, algo así como una calculadora pero en forma de lenguaje de programación. Al escuchar decir lenguaje de programación supuse que sería lo mismo que cualquier otro lenguaje que ya había usado; escribimos el código, lo compilamos y listo. No, requiere todo un entorno propio y va leyendo comandos tal como si fuese una terminal. Existe una versión para GNU/Linux pero tengamos en cuenta que es un programa pago, necesitaríamos una licencia y, no sólo eso, también funciona sólo para 32 bits. Tener que comprarlo (o conseguirlo) y, además, pensar en tener que reinstalar el sistema para que sea compatible, no es muy buen negocio. De esta manera, comencé a buscar alternativas.
Tiempo atrás escribí sobre Maxima, similar a Matlab. En un primer momento, como en la universidad fomentan el uso de software libre, supuse que usaríamos algo libre o de código abierto. Parecería bastante lógico usar Maxima ya que, como estamos hablando de estudiantes y no profesionales, es fácil de conseguir y además realiza todas las operaciones que necesitamos. Puede que existan diferencias técnicas entre un programa y otro pero, a este nivel y por lo que he visto, ni debería afectar en absoluto. Aún así, existe Octave y SciLab que funcionan prácticamente de la misma manera que Matlab y comparten casi la misma semántica. La diferencia está en que, por supuesto, ahora estamos hablando no sólo de software nativo sino también libre.
Claro está, podría encontrar las diferencias entre un programa y otro y aprender el que verdaderamente me interesa. Sin embargo, eso toma su tiempo al tener que adaptar los apuntes; y, más complicado aún, en el eventual caso de tener que usarlo en un examen, no sería muy conveniente descubrir que un par de cosas son distintas. Por otro lado, no siempre hay alternativas compatibles, a veces hay que recurrir obligatoriamente a la herramienta que ellos piden.
Aquí entra en juego el caso de PSpice para la simulación de circuitos electrónicos. Desde un primer momento nos confirmaron que funcionaba bajo Wine sin problemas para aquellos que usáramos GNU/Linux. Por supuesto, por lo que vengo planteando, nuevamente esperaba que se usara algo libre o de código abierto (o similar) pues tengamos en cuenta que la informática está de la mano con la electrónica y, es de esperar, que existan programas para resolver circuitos básicos.
En la búsqueda me encontré con dos herramientas que eran candidatas para la sustitución: Orégano y el paquete gEDA. El primero, fue el que probé inicialmente y que más me había gustado seguramente por estar todo integrado. Ya venía escuchando de ngspice pero, al momento de usarlo, supuse que serviría tanto para el diseño de circuitos como para la simulación. Por este motivo, lo dejé un tiempo de lado. Es aquí donde entra en juego gEDA. El nombre proviene de GPL’d EDA, es decir, un desarrollo libre para la automatización de diseño electrónico. Cuenta con una serie de herramientas que cumplen este tipo de tareas y, justamente, ngspice es la que toma el lugar en la simulación. Es a esto a lo que me refería con el tiempo que puede llegar a tomar aprender una alternativa. La forma de usarlo es completamente distinta a lo que apenas estoy aprendiendo a manejar.
Si no fuera por el problema de compatibilidad entre los ficheros que crea PSpice con gschem (el diseñador de gEDA), no habría problemas ya que los profesores nos proveen los circuitos a simular ya preparados. No obstante, sí es posible llevar de PSpice a ngspice una netlist que por ahora todavía no pude hacer funcionar. Igualmente, el panorama es mucho más complicado que el presentado para Matlab.
Si bien, lo dicho, no es del todo objetivo, no sería muy distinto cambiarle el nombre de los programas por otros y la historia es la misma. Se me ocurren como la producción y edición musical y, ni hablar, en lo que respecta a los videos (aunque parece que la cosa puede ir cambiando); además de mucho otros casos más en mayor o menor medida. Si bien a nivel aficionado todo está bien y perfecto, las carencias se notan a nivel estudiantil y, especialmente, profesional.
En conclusión, es sabido que el software libre no nos ofrece todos los tipos de soluciones pero hay que intentar verlo con ojos optimistas. Quienes puedan dedicarse a aportar código y demás a los proyectos existentes y por existir, podrán cambiar la situación. Por otro lado, quienes no, lo que nos queda es intentar aprovechar las herramientas disponibles y, en la medida que sea posible, recomendarlas a otras personas para que las usen e incluso fomentarlas en vuestro entorno de trabajo. Por lo tanto, si bien migrar es y será siendo un trauma momentáneo, pequeñas cosas pueden aportar mucho, es decir, supongamos que como hoy es muy usado Firefox, mañana podría ocupar un lugar similar LibreOffice, por decir algo; y, al movernos de sistema operativo, encontrar aplicaciones conocidas produce un poco más de comodidad.
Finalmente y personalmente, respecto a lo que mencionaba sobre los casos puntuales de Matlab y PSpice, intentaré encontrar un intermedio entre lo que dan para usar y lo que yo quiero usar. Digamos, aprovecharé esas herramientas y, paulatinamente, pasaré a alternativas nativas. Sin embargo, a todo esto, espero algún día se le pueda dar el peso que merecen las alternativas libres dentro del ámbito educativo. Afortunadamente, mirando hacia atrás, la tendencia parece ir para ese lado…