miércoles, 29 de noviembre de 2023

GIMP 3.0 por fin tiene fecha de lanzamiento

El artículo original y en inglés de Libre Arts, fue publicado el 23 de noviembre de 2023 y consiste en la desgrabación editada del texto de un video, también de Alexandre Prokoudine, publicado un día antes).

Jehan Pages, que es el desarrollador principal y mantenedor de GIMP, hizo un anuncio en Patreon ayer. La fecha tentativa para el lanzamiento de GIMP 3.0 es mayo de 2024. El plan es anunciar el lanzamiento en la próxima Libre Graphics Meeting en Francia. Hay una página que detalla la hoja de ruta.

Así que vamos a hablar de los puntos críticos, la detención en el desarrollo de nuevas características mientras:

  • se intenta conseguir que la edición no destructiva esté lista para la 3.0
  • hacer más cambios en la API
  • la corrección de un montón de errores.

Congelación de funciones

De entrada, la propuesta es congelar las funciones a mediados de diciembre. Una congelación de funciones significa, básicamente, no agregar novedades al código. Cada nueva línea de código que se escribe tiene el potencial de introducir un nuevo error o incluso muchos errores. Así que si se espera lanzar un software que no se cuelgue mucho y que no dé demasiados mensajes de error a los usuarios, en algún momento se debe dejar de escribir nuevas características y centrarse en corregir errores.

Hoy es 22 de noviembre, la fecha de lanzamiento tentativa es el 9 de mayo del año próximo, es decir, quedan casi 5 meses hasta el lanzamiento y cerca de 4 meses entre la congelación de funciones y el lanzamiento.

Hay tres temas principales que tratar.

Edición no destructiva

En primer lugar, el desarrollo de nuevas funciones se ha ido ralentizado en los últimos años y la atención se ha centrado en completar la migración a GTK3. Pero más recientemente CmykStudent reanudó su proyecto de Google Summer of Code en el que hackeaba filtros no destructivos asociados a capas.

La interfaz que ve aquí (la parte inferior de la captura de pantalla de arriba) es más o menos una ligera evolución del embrión no destructivo que ya existe desde hace muchos años. La versión real no se parecerá en nada a esto. Es sólo que la rama pública aún no tiene el último trabajo que CmykStudent demostró en Twitter recientemente:

Si echa un vistazo a la propuesta completa en el sitio web de desarrolladores de GIMP, verá que debería ser posible apilar efectos y editar sus máscaras. Han pensado en muchas cosas, lo cual es genial.

Pero también parece que completar toda la propuesta no es algo que se pueda hacer en 3 o 4 semanas antes de la congelación de funciones. Así que existe una gran posibilidad de que terminemos con una implementación básica para la versión 3.0 y que luego veamos más progresos al respecto en las siguientes actualizaciones. O que los desarrolladores pospongan este agregado hasta la versión 3.0.2, que se espera que se publique poco después de la 3.0.

En otras palabras, en el peor de los casos, GIMP 3.0 perderá ese toque de numerología que establece que cada versión con un número redondo presenta una nueva característica muy llamativa.
Para mí no sería un problema. Hemos estado esperando la edición no destructiva durante 23 malditos años desde el comienzo del trabajo en GEGL, así que dos o tres meses más no está tan mal. Pero a juzgar por la respuesta en Twitter, la primera posibilidad es la más probable, lo que significa una implementación básica para la versión 3.0:

Así que esperemos y ya lo sabremos.

Cambios en la API

El segundo tema importante son los cambios en la API. Esto es algo que realmente me preocupa más. Históricamente, ésta ha sido la razón número uno para los largos ciclos de desarrollo de GIMP. Jehan dice específicamente:

No estoy incluyendo -a propósito- en la congelación de funcionalidades los cambios en la API, porque creo que valdrá la pena tener un mes adicional para unos últimos ajustes.

Uno de los cambios en curso aquí es la nueva API que ayuda a hacer de GIMP más omnívoro en cuanto a espacios de color y modelos de color. Así que en lugar de funciones como GimpRGB y GimpCMYK construidas dentro de GIMP se dispone de todos los modelos de color disponibles en GEGL y babl, y eso es mucho.

babl soporta toda la familia CIE de modelos de color - LAB, LCH, YUV, XYZ - así como cosas más nuevas como OKlab. Por no hablar de CMYK, HSV, HSL y similares. Recientemente, el propio GEGL ha incorporado funciones para obtener y definir colores CMYK.

Mi principal preocupación aquí es que obtener y definir colores es algo que ocurre todo el tiempo en GIMP, incluso si no lo ve en la interfaz de usuario. Sólo buscando 'GimpRGB' aparecen casi 800 instancias en la parte relacionada con la interfaz de usuario y más de 400 instancias en el código backend. Eso es mucho.

Lo que significa que intentar completar esta reescritura de la API a tiempo para el lanzamiento mantendrá a Jehan alejado de la corrección de errores. Y ese es el tercer tema importante aquí.

Corrección de errores

La situación con los reportes de errores en GIMP -y siento no tener otras palabras para esto- se les está yendo de las manos. Recientemente han superado la barrera de los 4000, lo que supone un incremento del 30% en apenas un año. De esos más de 4K informes de errores y peticiones de características, la friolera de 624 errores son críticos. Y eso es una locura.

Una posibilidad aquí es declarar una amnistía para todos los informes de errores presentados para la serie estable actual y luego reabrir los que serán reproducidos por los usuarios en la nueva versión. Esa sería una política horrible de gestionar los informes de errores. Pero dada la dinámica de los informes de errores y la disponibilidad de desarrolladores, no veo otra forma de manejarlo. Es eso o no llegar nunca a hacer el nuevo lanzamiento.

Hay muchas más cosas que todavía me preocupan. La escala incorrecta a la que se renderiza el lienzo en pantallas HiDPI, los controles inmanejables en la configuración de herramientas, y otras cosas.

Vea, solo estoy siendo realista. Completar este lanzamiento va a suponer un gran esfuerzo para el equipo. Si usted está en condiciones de ayudarles a estabilizar el programa, por favor considere hacerlo.

Cuando se publique la versión 3.0, podremos hablar largo y tendido sobre la forma en que el equipo planifica su trabajo, que no es buena, y sobre la forma en que lo financia, que es aún peor. Pero ahora mismo la comunidad necesita terminar este lanzamiento de una buena vez.

No hay comentarios.:

Publicar un comentario

Lo que escriba a continuación será revisado antes de publicarse.
Gracias por tus comentarios.