25.º aniversario del navegador web Dillo
(dillo-browser.github.io)- Dillo, que comenzó en 1999 a partir de Gzilla/Armadillo, cumplió 25 años en diciembre de 2024 y, tras varios periodos de pausa en el desarrollo, sigue mantenido hasta hoy
- El desarrollo inicial, basado en GTK 1.0, pasó por el cambio a GPL, una arquitectura de comunicación basada en señales y la Concomitant Control Chain, consolidando la estructura interna del navegador
- A mediados de la década de 2000, la transición a FLTK 2 se estancó por retrasos y falta de financiamiento, pero tras la publicación del port en 2007 aumentaron los parches y eso llevó al lanzamiento de Dillo 2.0.0 en 2008
- Cuando FLTK2 quedó detenido sin un lanzamiento oficial, Dillo migró a FLTK 1.3 y lanzó la versión 3.0.0 en 2011; tras la muerte de Sebastian Geerken en 2016 y el último correo de Jorge en 2019, el desarrollo se enfrió rápidamente
- En 2022, la pérdida de dillo.org hizo desaparecer el sitio web, el repositorio y la lista de correo, pero en 2024 el proyecto volvió a la vida con una recuperación basada en GitHub y el lanzamiento de Dillo 3.1.0
25 años desde Gzilla/Armadillo
- Dillo comenzó en 1999, cuando un grupo de desarrolladores liderado por Jorge Arellano Cid hizo un fork del código de Gzilla/Armadillo de Raph Levien
- Para diciembre de 2024 cumplió 25 años y, aunque el desarrollo se detuvo varias veces, el proyecto en sí continúa hasta la actualidad
- Jorge lideró el proyecto de 1999 a 2019, y desde entonces no ha habido noticias de él
- El mantenedor actual no tiene relación directa con los desarrolladores anteriores, pero está reviviendo el proyecto con la intención de conservar sus objetivos originales
- La historia del proyecto se basa en materiales recopilados de la lista de correo, el ChangeLog y el historial de Git
Diseño inicial basado en GTK 1.0
- En el momento del fork, Dillo usaba GTK 1.0 como biblioteca de UI, y su primer lanzamiento apareció en diciembre de 1999 según el ChangeLog
- Jorge fue uniformando la base de código al definir reglas de codificación, como anteponer el prefijo
a_a los nombres de funciones públicas y usar sangría de 3 espacios - En marzo de 2000, con permiso de Raph Levien, desarrollador principal de Gzilla/Armadillo, la licencia se cambió a GPL
- Una gran reescritura para mantener múltiples flujos de comunicación derivó en el artículo de Jorge Arellano-Cid y H.H. Von Brand, Network programming internals of the Dillo Web browser
- Ese trabajo evolucionó más tarde en la Concomitant Control Chain, con la que Dillo rastrea varias conexiones y módulos internos
Motor de renderizado y expansión de funciones
- Sebastian Geerken empezó a enviar pequeños parches alrededor de junio de 2000, luego pasó a trabajar en el motor de renderizado y terminó convirtiéndose en el principal arquitecto de esa área
- El motor de renderizado es un componente central que lee el árbol de elementos y ubica en pantalla el tamaño y la posición de elementos como las palabras e imágenes de un párrafo
- En los años siguientes aumentó el soporte para HTML y CSS, con una expansión particular de las funciones relacionadas con tablas y elementos de texto
- Incluso después de la aparición de GTK2, el equipo fue cauteloso a la hora de migrar Dillo tal cual, por preocupación ante la complejidad y el tamaño de la nueva versión de GTK
- En octubre de 2003, Jorge consultó al mantenedor de FLTK, Michael Sweet, si era posible portar Dillo a FLTK, y se consideró que FLTK encajaba mejor con los objetivos de velocidad y estabilidad
Transición a FLTK 2 y separación del toolkit
- El equipo consideró que GTK 2.0 era más pesado y lento, y decidió enfocarse en FLTK 2
- En ese momento FLTK 2 aún no se había lanzado, pero estaba previsto que lo hiciera pronto
- En agosto de 2004, Sebastian propuso un diseño para hacer que Dillo fuera independiente del widget toolkit
- El objetivo era evitar que, debido al fuerte acoplamiento de Dw con Gtk+, las versiones GTK y FLTK se separaran con funcionalidades distintas
- El mismo rediseño también podía habilitar funciones como una ventana de vista previa de página completa reducida y la reutilización de Dw en plugins gráficos
- En la misma época también se mejoró el mecanismo de plugins basado en el protocolo DPI, y algunas funciones como descargas, marcadores, FTP y HTTPS pasaron a programas externos que se comunicaban con el navegador
- Dillo 0.8.3, lanzado en octubre de 2004, ya contaba con soporte para HTTPS
El port demorado a FLTK 2 y Dillo 2.0.0
- El port a FLTK2 tenía como objetivo hacer el navegador más pequeño y ofrecer funciones como antialiasing; en abril de 2005, Jorge compartió que el trabajo de portabilidad avanzaba rápido
- Sin embargo, el código fuente del nuevo port a FLTK2 no se subió al CVS público durante un tiempo, y Jorge se concentró en conseguir financiamiento para cubrir los costos de desarrollo del proyecto
- En marzo de 2006, Jorge informó que la obtención de fondos no había sido exitosa, y el proyecto quedó en riesgo de estancarse
- Desde mediados de 2006 hasta 2008 no hubo lanzamientos de Dillo, y el port a FLTK2 permaneció cerrado
- El 30 de septiembre de 2007, Jorge anunció que el port a FLTK2 ya estaba disponible
- Parte importante de la base de código se migró a C++
- El motor de renderizado pasó a usar la biblioteca FLTK2 en lugar de GTK1
- Se alentó la participación y contribución de desarrolladores
- Tras la publicación del port, los parches de otros desarrolladores se integraron rápidamente y el proyecto volvió a activarse
- En septiembre de 2008 se anunció el soporte para pestañas, y en octubre de 2008 se lanzó Dillo 2.0.0
Transición a FLTK 1.3 y un nuevo estancamiento
- En 2011 salió 2.2.1, el último lanzamiento de la serie 2.X, y a partir de esa época ya no se observan parches de Sebastian ni actividad suya en la lista de correo
- Como el desarrollo de FLTK2 se estancó y no había un lanzamiento oficial, Dillo quedó con el problema de tener que enlazarse contra un paquete FLTK no disponible en las distribuciones
- El equipo decidió que, cuando se lanzara FLTK 1.3, migraría Dillo a esa versión y lo subiría a la serie 3.X
- Tras el lanzamiento de FLTK 1.3 en junio de 2011, avanzó el port de Dillo a FLTK 1.3, y unos meses después salió el primer lanzamiento basado en FLTK 1.3, Dillo 3.0.0
- En julio de 2012, Sebastian publicó un nuevo algoritmo de división de palabras con guion que implementaba un mecanismo similar al de TeX, y esa implementación se incorporó en Dillo 3.0.3 en abril de 2013
- Siguieron varios lanzamientos hasta Dillo 3.0.5 en junio de 2015
Muerte de Sebastian y pérdida de dillo.org
- En ese momento, Sebastian estaba trabajando en el rediseño GROWS, que cambiaba la forma de calcular el tamaño de los widgets de elementos de página
- Con la muerte de Sebastian en octubre de 2016, mucho trabajo no llegó a incluirse en un nuevo lanzamiento
- Después, el desarrollo se estancó rápidamente, y en 2019 Jorge dejó su último correo, en el que recomendaba usar la versión actual del repositorio en lugar de esperar el lanzamiento 3.1
- En 2022, al perderse el dominio DNS dillo.org, desaparecieron el sitio web, el repositorio Mercurial, la lista de correo y el servidor de correo electrónico
- Luego, al no verse más actividad de desarrolladores, el proyecto quedó abandonado; el sitio dillo.org parece una copia del sitio original, pero está lleno de spam de blogs de Wordpress
Resurgimiento en 2024 basado en GitHub
- Desde diciembre de 2023, el mantenedor actual empezó a aplicar parches para que Dillo volviera a compilar y a corregir errores simples
- Al ver que un foro de Atari había portado Dillo a Atari basándose en ese repositorio, confirmó la posibilidad de revivir el proyecto, y al compartirlo en Hacker News recibió más interés del esperado
- Después creó una organización en GitHub, reunió repositorios Git y configuró el nuevo sitio web de Dillo con GitHub Pages
- También avanzó con la copia de los materiales disponibles al nuevo sitio web y a la lista de correo
- Tras corregir varios problemas, en mayo de 2024 lanzó Dillo 3.1.0
- Este lanzamiento recibió atención de varios sitios, como The Register, 9to5Linux y Hackaday
- Luego fue incluido en varias distribuciones Linux
- Al 15 de diciembre de 2024, el proyecto sigue en mantenimiento, y han aparecido nuevos colaboradores que participan en parches y discusiones de desarrollo
- Aunque todavía no hay suficientes desarrolladores para abordar todos los issues, el proyecto avanza lentamente
- El último lanzamiento actual es Dillo 3.1.1
Aún no hay comentarios.