1 points par GN⁺ 2024-12-17 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Parti en 1999 de Gzilla/Armadillo, Dillo a fêté ses 25 ans en décembre 2024 et reste maintenu aujourd’hui malgré plusieurs périodes d’interruption du développement
  • Le développement initial, basé sur GTK 1.0, est passé par un changement de licence vers la GPL, une architecture de communication fondée sur des signaux et la Concomitant Control Chain, consolidant ainsi la structure interne du navigateur
  • Au milieu des années 2000, la transition vers FLTK 2 a été ralentie par des retards et un manque de financement, mais la publication du port en 2007 a entraîné une hausse des correctifs et abouti à la sortie de Dillo 2.0.0 en 2008
  • FLTK2 s’étant arrêté sans version officielle, Dillo est passé à FLTK 1.3 et a publié la version 3.0.0 en 2011 ; après la mort de Sebastian Geerken en 2016 et le dernier e-mail de Jorge en 2019, le développement s’est fortement refroidi
  • La perte de dillo.org en 2022 a fait disparaître le site web, le dépôt et la liste de diffusion, mais le projet a repris vie en 2024 avec une restauration basée sur GitHub et la sortie de Dillo 3.1.0

25 ans depuis Gzilla/Armadillo

  • Dillo a débuté en 1999 lorsqu’un groupe de développeurs mené par Jorge Arellano Cid a forké le code de Gzilla/Armadillo de Raph Levien
  • En décembre 2024, le projet a atteint 25 ans ; malgré plusieurs arrêts du développement, il existe encore aujourd’hui
  • Jorge a dirigé le projet de 1999 à 2019, et l’on est depuis sans nouvelles de lui
  • Le mainteneur actuel n’a pas de lien direct avec les anciens développeurs, mais relance le projet en cherchant à préserver ses objectifs d’origine
  • L’historique du projet repose sur des éléments collectés dans la liste de diffusion, le ChangeLog et l’historique Git

Conception initiale basée sur GTK 1.0

  • Au moment du fork, Dillo utilisait GTK 1.0 comme bibliothèque d’interface utilisateur, et sa première version est sortie en décembre 1999 d’après le ChangeLog
  • Jorge a harmonisé la base de code en définissant des règles de codage, comme le préfixe a_ pour les noms des fonctions publiques et une indentation de trois espaces
  • En mars 2000, avec l’autorisation de Raph Levien, principal développeur de Gzilla/Armadillo, la licence a été changée pour la GPL
  • Une importante réécriture destinée à maintenir plusieurs flux de communication a abouti à l’article de Jorge Arellano-Cid et H.H. Von Brand, Network programming internals of the Dillo Web browser
  • Cette approche a ensuite évolué vers la Concomitant Control Chain, utilisée par Dillo pour suivre plusieurs connexions et modules internes

Moteur de rendu et extension des fonctionnalités

  • Sebastian Geerken a commencé à soumettre de petits correctifs vers juin 2000 avant de se consacrer au moteur de rendu, dont il est ensuite devenu l’un des principaux architectes
  • Le moteur de rendu est le composant central qui lit l’arbre des éléments et place à l’écran la taille et la position d’éléments comme les mots et les images d’un paragraphe
  • Au cours des années suivantes, la prise en charge de HTML et CSS s’est étoffée, avec notamment des fonctionnalités étendues pour les tableaux et les éléments textuels
  • Même après la sortie de GTK2, l’équipe est restée prudente quant au portage direct de Dillo, préoccupée par la complexité et la taille de la nouvelle version de GTK
  • En octobre 2003, Jorge a demandé au mainteneur de FLTK, Michael Sweet, s’il était possible de porter Dillo vers FLTK, estimant que FLTK correspondait mieux aux objectifs de vitesse et de stabilité

Passage à FLTK 2 et séparation du toolkit

  • L’équipe a considéré que GTK 2.0 était plus lourd et plus lent, et a décidé de se concentrer sur FLTK 2
  • À l’époque, FLTK 2 n’était pas encore sorti, mais sa publication était prévue à court terme
  • En août 2004, Sebastian a proposé une conception visant à rendre Dillo indépendant du toolkit de widgets
    • L’objectif était d’éviter que Dw, fortement lié à Gtk+, n’entraîne une divergence entre les versions GTK et FLTK avec des fonctionnalités différentes
    • La même refonte pouvait aussi permettre des fonctions comme une fenêtre d’aperçu miniature de la page entière ou la réutilisation de Dw dans des plugins graphiques
  • À la même période, le mécanisme de plugins basé sur le protocole DPI a également été amélioré, et certaines fonctions comme les téléchargements, les marque-pages, FTP et HTTPS ont été déplacées vers des programmes externes communiquant avec le navigateur
  • Dillo 0.8.3, publié en octobre 2004, disposait déjà de la prise en charge de HTTPS

Port FLTK 2 retardé et Dillo 2.0.0

  • Le port FLTK2 visait à rendre le navigateur plus petit et à fournir des fonctions comme l’anticrénelage ; en avril 2005, Jorge a indiqué que le portage avançait rapidement
  • Mais le code source du nouveau port FLTK2 n’a pas été publié dans le CVS public pendant un certain temps, Jorge se concentrant sur la recherche de financements pour couvrir les coûts de développement du projet
  • En mars 2006, Jorge a annoncé que les efforts de financement n’avaient pas abouti, plaçant le projet face à un risque de stagnation
  • De la mi-2006 à 2008, aucune version de Dillo n’est sortie, et le port FLTK2 est resté fermé
  • Le 30 septembre 2007, Jorge a annoncé que le port FLTK2 était devenu disponible
    • Une partie importante de la base de code a été portée en C++
    • Le moteur de rendu utilisait désormais la bibliothèque FLTK2 au lieu de GTK1
    • La participation et les contributions des développeurs étaient encouragées
  • Après la publication du port, les correctifs d’autres développeurs ont rapidement été intégrés et le projet est redevenu actif
  • En septembre 2008, la prise en charge des onglets a été annoncée, puis Dillo 2.0.0 est sorti en octobre 2008

Passage à FLTK 1.3 et nouvelle stagnation

  • En 2011, la dernière version 2.X, 2.2.1, est sortie, et à partir de cette période on n’observe plus de correctifs de Sebastian ni d’activité de sa part sur la liste de diffusion
  • Le développement de FLTK2 lui-même s’étant enlisé sans version officielle, Dillo devait être lié à un paquet FLTK indisponible dans les distributions
  • L’équipe a décidé qu’une fois FLTK 1.3 publié, Dillo serait porté vers cette version et passerait à la série 3.X
  • Après la sortie de FLTK 1.3 en juin 2011, le portage de Dillo vers FLTK 1.3 a commencé, et quelques mois plus tard est sortie la première version basée sur FLTK 1.3, Dillo 3.0.0
  • En juillet 2012, Sebastian a publié un nouvel algorithme de césure implémentant un mécanisme similaire à celui de TeX, intégré en avril 2013 dans Dillo 3.0.3
  • Plusieurs versions ont suivi jusqu’à Dillo 3.0.5 en juin 2015

Mort de Sebastian et perte de dillo.org

  • Sebastian travaillait alors sur la refonte GROWS, qui modifiait la manière de calculer la taille des widgets des éléments de page
  • Avec la mort de Sebastian en octobre 2016, de nombreux travaux n’ont pas pu être inclus dans une nouvelle version
  • Le développement s’est ensuite rapidement enlisé, et en 2019 Jorge a laissé un dernier e-mail recommandant d’utiliser la version alors présente dans le dépôt plutôt que d’attendre la version 3.1
  • En 2022, la perte du domaine DNS dillo.org a fait disparaître le site web, le dépôt Mercurial, la liste de diffusion et le serveur e-mail
  • Faute d’activité visible des développeurs par la suite, le projet a été laissé à l’abandon, et le site dillo.org ressemble à une copie du site d’origine mais se trouve rempli de spam provenant d’un blog Wordpress

Renaissance sur GitHub en 2024

  • À partir de décembre 2023, le mainteneur actuel a commencé à appliquer des correctifs pour que Dillo puisse de nouveau être compilé et à corriger des bugs simples
  • En voyant qu’un forum Atari avait porté Dillo sur Atari à partir de ce dépôt, il a confirmé la possibilité de relancer le projet, puis l’a partagé sur Hacker News, suscitant plus d’intérêt que prévu
  • Il a ensuite créé une organisation GitHub, rassemblé les dépôts Git et mis en place un nouveau site web Dillo avec GitHub Pages
  • Un travail a également été mené pour copier les ressources disponibles vers le nouveau site web et la nouvelle liste de diffusion
  • Après avoir corrigé plusieurs problèmes, Dillo 3.1.0 est sorti en mai 2024
  • Au 15 décembre 2024, le projet reste maintenu, avec de nouveaux contributeurs participant aux correctifs et aux discussions de développement
  • Il n’y a pas encore assez de développeurs pour traiter tous les problèmes, mais le projet progresse lentement
  • La dernière version actuelle est Dillo 3.1.1

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.