Se alínean los planetas para Linux

TuxEste será un breve apunte en el que esbozaré el por qué creo que últimamente le están yendo bien las cosas a todo el mundillo de Linux. La verdad es que últimamente no paro de ver buenos augurios allí donde poso la mirada: parece que los planetas se han alineado para el sistema del pingüino :) .

Aunque la noticia ya tiene más de un mes, la usaré como punto inicial de mi argumentación. Hace poco corrió por la red el rumor de que Linux había alcanzado una cuota de mercado del 1.41%, aunque pocos más han vuelto a escribir algo al respecto, un mes después podemos decir que se ha alcanzado el 1.56% (al menos según uno de los muchos barómetros existentes). Aunque soy consciente de que las medidas son falibles y que además hay quienes las contradicen con otros datos, quiero recalcar el hecho de que incluso si los números estuvieran mal, es muy probable que no lo estén tanto las tendencias representadas (en términos cualitativos).

Mi predicción es que la tendencia de crecimiento continuará, como mínimo, hasta finales de mayo. Y me apoyo en las siguientes premisas:

Tendremos que esperar para ver si me equivoco o no, a mediados o finales de mayo me podréis dar la vara si he pecado de optimista. Creo que hasta me atreveré a dar números: a finales de Abril se habrá llegado como mínimo a un 1.9% de uso (al menos con ese indicador). Para acabar, hay aun un factor que no he considerado todavía ¿qué pasaría si en esta crecida se consigue alcanzar la "masa crítica" que permita alargar el crecimiento unos cuantos meses más?

¿Y vosotros qué opináis?

Crisis y nueva oportunidades del software libre

Hoy en día el software libre se haya en un momento crucial, se están realizando grandes jugadas estratégicas por parte de algunos de los grandes actores del mundo tecnológico (Microsoft, Apple, Google, Oracle...), son tiempos complicados.

Desde Microsoft se dice que ya no consideran a Linux una amenaza, MS IE9 ha roto con años de mediocridad (aunque sigue estando por detrás de los demás navegadores) e IE10 "promete" ser un buen navegador, Windows 7 ha roto la maldición de Windows Vista (lo que supuso una ventana de oportunidad desaprovechada por el software libre), Apple domina (a nivel económico) los mercados de smartphones y tablets...

Como los problemas más o menos los conocemos todos (resumiré: los fabricantes de hardware no liberan sus drivers y en ocasiones ni tan siquiera desarrollan drivers compatibles con software libre, campañas de desprestigio, se tiene poco en cuenta a los usuarios inexpertos, falta de juegos, falta de alternativas para sofware privativo especializado [como software de diseño, de edición de vídeo o de sonido, software ingenieril...], ...), comentaré algunos puntos que a mi parecer pueden dar un vuelco a la situación y mejorar la posición del software libre en el panorama global.

A mi entender, programas como Gimp son piezas clave, como ya comenté en un artículo anterior, pero hay algunos otros que merecen especial mención. He aquí una pequeña lista de joyas (o no tan joyas, desgraciadamente) que deberían mimarse (más de lo que se hace hoy en día) para reflotar el ecosistema del software libre:

  • Gimp : al menos mientras Adobe no se digne a lanzar una versión de Photoshop para Linux, y aun que así fuera, lo mismo.
  • Ardour (y todo el subsistema de sonido de Linux) : Hoy en día editar audio en Linux puede resultar un auténtico infierno.
  • Base (de LibreOffice) : Como muchos otros, odio las bases de datos autocontenidas en ficheros, pero parecen ser uno de los obstáculos para que muchas empresas implanten OpenOffice o LibreOffice como sustituto de MS Office...
  • Interfaz de LibreOffice : Por motivos estéticos y funcionales, se tienen que aprovechar mejor las pantallas panorámicas y se tiene que aprender de las nuevas interfaces ideadas para otras suites ofimáticas.
  • Pidgin/Empathy/Telepathy-KDE (excluyo Kopete porque será sustituído por Telepathy-KDE) : mal que nos pese, MSN Messenger tiene mucha importancia todavía y Skype no para de crecer, se tienen que hacer grandes esfuerzos para soportar los cambios constantes en el protocolo de MSN y para implementar un buen sistema de videoconferencias.

Evidentemente hay muchas más cosas a mejorar, pero en parte por experiencia y en parte porque simplemente lo creo así, tengo la sensación de que mejorando sólo esos 5 puntos ya se tendría muchísimo ganado, se conseguiría ampliar la base de usuarios de forma sustancial.

En todo caso no era mi intención centrarme en piezas concretas de software existente, sino más bien en dos partes esenciales de la cadena: la producción y la distribución de software. Linux es un ambiente relativamente duro para quienes quieren distribuir su software ya que tienen que tener en cuenta multitud de plataformas (por tipo de procesador, por tipo de paquete [deb o rpm], por versión del sistema operativo...). ¿No sería ideal que existiera un IDE que simplificara (hasta la trivialidad) las tareas de compilación cruzada y de empaquetamiento? Eso sí que sería una jugada maestra, y más aún si se prescindiera de los lentos IDEs libres existentes hoy en día, léase Netbeans, Eclipse, Monodevelop o los engendros de Anjuta y KDevelop. Entiendo que no es nada fácil hacer algo así, pero la idea no deja de atraerme aun con ese pequeño obstáculo.

Respecto a la distribución de software quería comentar un detalle que siempre me ha llamado la atención de los sistemas de repositorios. Todos los repositorios son abiertos, parece que no se contemple la necesidad de usar usuarios y claves... esto tiene su sentido si se piensa que todo el software va a ser libre... pero no si se contempla la realidad al completo. Imaginemos que una empresa desarrolla un programa X privativo (y de pago), y al que le da soporte con actualizaciones para mejorar su estabilidad y seguridad. Este modelo es típico en el ecosistema de MS Windows, pero en Linux se hace complicado: las actualizaciones se tienen que hacer desde la propia aplicación (o peor, a mano), lo que supone tener que desarrollar un sistema de actualizaciones propio, así como tener avisar eventualmente al usuario (al margen de las actualizaciones generales del sistema) o esperar que este se acuerde si prefiere no ser avisado... es fácil ver que añadir la opción de repositorios con acceso restringido puede ser una sencilla medida que permita minimizar costos y simplificar la gestión de las actualizaciones de software privativo. ¿Por qué no se ha hecho todavía?

Sea como sea no todo es malo últimamente :) , parece que por fin ha calado lo de "release early, release often", se han empezado a lanzar versiones de forma mucho más regular (por ejemplo Chromium, LibreOffice, Firefox, Thunderbird...), se están aprovechando a la perfección las herramientas de gestión de versiones para mantener ramas estables a la vez que ramas con funcionalidades punteras (LibreOffice), la simplificación se ha transformado en un acicate para mejorar (Chromium, Firefox, Unity, Gnome Shell), y sobre el rendimiento... bueno xD, eso parece que siempre fluctúa, va a modas.

Gimp 2.8 a la vista, algunas reflexiones

Splashscreen de Gimp 2.8Leo hoy a través de [1] que alrededor de finales de este año o principios del siguiente se liberará por fin la versión estable de Gimp 2.8, después 3 años de lento desarrollo. Y no solo eso, parece que ya hay un roadmap establecido para Gimp hasta la versión 3.8 [2]. Según GimpUsers [2] , el tiempo entre lanzamientos se reducirá a partir de la versión 2.10, algo que será de agradecer :) .

¿Qué novedades nos esperan? De la versión 2.8 no se puede decir mucho ya, no hay sorpresas, tendremos el modo de ventana unificada (lo que supondrá más comodidad para muchos, me incluyo) y agrupación de capas (algo realmente útil, palabra de honor).

La versión 2.10 será algo más interesante, aunque a priori pueda no parecerlo si sólo se mira el roadmap. En primer lugar, se realizará una limpieza de código, incluyendo cambios en la API de registro de plugins. Aunque esto no suponga una mejora inmediata para el usuario puede redundar en una aceleración posterior del desarrollo, ejecutables más pequeños y menor consumo de memoria. Además de la limpieza de código se incluirán todos los proyectos del GSoC sobre Gimp realizados hasta la fecha, que son los siguientes:

  • Clonación adaptativa [4] : Facilitará el pegado de trozos de imagen procedentes de otras fotografías o ilustraciones de forma que no parezca tan antinatural por exceso de contraste o diferencias entre colores e iluminación.
  • Nuevo widget GimpSizeEntry [5]: Proveerá un nuevo selector de unidades de medida de longitud, y de paso se refactorizará algo ciertas partes de código para hacerlas más extensibles.
  • Filtro iWarp como herramienta [6]: Hasta donde he entendido, creo que se trata de una herramienta que permitirá aplicar ciertos filtros localmente como si estuviéramos trabajando con un pincel. Ya existe algo parecido en Krita, así que puede que se hayan inspirado en ellos.
  • Port de los plugins de Gimp a GEGL [7] : Un paso necesario para que Gimp dé el salto definitivo a GEGL, lo que permitirá un mayor rendimiento y facilitará la creación de nuevas herramientas de transformación.
  • OpenCL en GEGL [8]: Gracias a este proyecto la aceleración mediante GPU llegará a Gimp :D .

En la versión 3.0 se dará el salto a las bibliotecas GTK3, de forma que en entornos de escritorio dominados por aplicaciones del proyecto Gnome se podrá reducir el consumo de memoria (al tener que mantener un conjunto menor de bibliotecas en memoria, hoy en día coexisten GTK2 y GTK3). Otra mejora no menos importante será la posibilidad de tratar con imágenes con más profundidad de color (hoy en día solo trabaja con 32 bits de profundidad, 8 para canal, rojo, verde, azul y transparencia). Este lanzamiento será el que permita el salto definitivo a GEGL.

La versión 3.2 nos traerá detección automática de los límites de capa (con el consecuente ahorro de memoria gracias a la posibilidad de ajustar el tamaño de los mapas de bits), efectos de capa (bordes, relieve y muchos otros), y filtros de capa (poder usar ciertas capas a modo de filtro sobre otras capas). A mi entender esta versión será una de las más importantes, porque si Photoshop no mejora mucho en lo que sigue, Gimp habrá llegado por fín a su nivel.

Ya no describo las siguientes versiones porque puede que cambien objetivos, y sobretodo porque con lo poco que sé, soy incapaz de valorar qué nos aportarán estas.

Ahora me permitiré opinar un poco sobre todo esto. Es de suponer que, después de 3 años de desarrollo, la gente se tome a cachondeo el plan establecido por el equipo de Gimp... yo esta vez confío en ellos. ¿Por qué? Pues porque han aprendido de sus errores, y tuvieron muchos.

Hay varias razones por las que Gimp se ralentizó tanto. Una de ellas, la principal, es que el equipo de desarrollo es verdaderamente pequeño. Ahora cabe analizar el por qué es pequeño, un motivo esencial es la falta de financiación, la gente hace pocas donaciones a ese proyecto (y es entendible), otro está relacionado con la dificultad de desarrollar ese tipo de software. Los programas de tratamiento de imagen son difíciles de desarrollar y no todo el mundo tiene la habilidad suficiente como para aportar su granito de arena.

Ahora bien, hay otra razón esencial que explica esa lentitud que ha desesperado a tantos, se trata de un error que ha costado el desencanto de mucha gente: El equipo de Gimp empezó a desarrollar nuevas características a porrillo, todas en la misma rama, pero pocas de ellas se terminaban. En parte es normal, los programadores prefieren desarrollar su código a tocar el de otros. El caso es que esos desarrollos a medias sirvieron para bloquear otros, y finalmente para retrasar el lanzamiento de Gimp 2.8.

Por suerte ellos mismos se dieron cuenta y no creo que vuelvan a trabajar de la misma manera nunca más, se han empezado a organizar para trabajar en ramas diferentes y no bloquearse mútuamente. Eso permitirá una aceleración del desarrollo, y eso a su vez atraerá más donaciones y desarrolladores.

Para acabar trataré otro asunto relacionado. Sinceramente, creo que ciertas distribuciones (y en especial Ubuntu) deberían haberse implicado más en el desarrollo de Gimp, porque se trata de una de esas piezas clave que pueden suponer que la gente se acerque o salga huyendo de un sistema Linux. Aunque Gimp no reporte beneficios directos a empresas como Canonical o Redhat, sí que podría permitir un crecimiento sustancial de la base de usuarios de Linux, a la vez que un aumento potencial de ganancias para esas empresas. ¿Se darán cuenta? Esperemos.

  1. http://www.muylinux.com/2011/08/14/fugaz-repaso-a-los-planes-de-gimp-2-8-2-10-y-3-0/
  2. http://wiki.gimp.org/index.php/Roadmap
  3. http://www.gimpusers.com/news/00373-hw-accel-future-plans-aug-2011
  4. http://www.google-melange.com/gsoc/project/google/gsoc2011/lightningismyname/6001
  5. http://www.google-melange.com/gsoc/project/google/gsoc2011/enrico_schroeder/12001
  6. http://www.google-melange.com/gsoc/project/google/gsoc2011/michael_mure/5001
  7. http://www.google-melange.com/gsoc/project/google/gsoc2011/robert_sasu/17001
  8. http://www.google-melange.com/gsoc/project/google/gsoc2011/victor_matheus/8001