25 Jahre Dillo-Webbrowser
(dillo-browser.github.io)- Dillo, 1999 aus Gzilla/Armadillo hervorgegangen, wurde im Dezember 2024 25 Jahre alt und wird trotz mehrerer Entwicklungspausen bis heute gepflegt
- Die frühe Entwicklung basierte auf GTK 1.0 und führte über die Umstellung auf GPL, eine signalbasierte Kommunikationsstruktur und die Concomitant Control Chain zur Ausarbeitung der internen Browser-Architektur
- Der Wechsel zu FLTK 2 Mitte der 2000er Jahre geriet durch Verzögerungen und Geldmangel ins Stocken, doch nach der Veröffentlichung des Ports 2007 nahmen die Patches zu und mündeten 2008 im Release von Dillo 2.0.0
- Als FLTK2 ohne offizielles Release stehen blieb, wechselte Dillo zu FLTK 1.3 und veröffentlichte 2011 Version 3.0.0; nach dem Tod von Sebastian Geerken 2016 und Jorges letzter E-Mail 2019 kühlte die Entwicklung stark ab
- 2022 gingen mit dem Verlust von dillo.org Website, Repository und Mailingliste verloren, doch 2024 wurde das Projekt auf GitHub wiederhergestellt und mit dem Release von Dillo 3.1.0 neu belebt
25 Jahre seit den Anfängen mit Gzilla/Armadillo
- Dillo begann 1999, als eine von Jorge Arellano Cid geleitete Entwicklergruppe den Code von Raph Leviens Gzilla/Armadillo forkte
- Stand Dezember 2024 ist das Projekt 25 Jahre alt; obwohl die Entwicklung mehrfach zum Stillstand kam, besteht das Projekt selbst bis heute fort
- Jorge leitete das Projekt von 1999 bis 2019; seitdem gibt es keine Neuigkeiten von ihm
- Der aktuelle Maintainer hat keine direkte Verbindung zu den früheren Entwicklern, belebt das Projekt aber in einer Richtung wieder, die die ursprünglichen Ziele bewahrt
- Die Projektgeschichte stützt sich auf Material aus der Mailingliste, dem ChangeLog und der Git-Historie
Frühes Design auf Basis von GTK 1.0
- Zum Zeitpunkt des Forks nutzte Dillo GTK 1.0 als UI-Bibliothek; das erste Release erschien laut ChangeLog im Dezember 1999
- Jorge legte Coding Conventions wie das Präfix
a_für öffentliche Funktionsnamen und Einrückung mit drei Leerzeichen fest, um die Codebasis zu vereinheitlichen - Im März 2000 stellte er die Lizenz mit Erlaubnis von Raph Levien, dem Hauptentwickler von Gzilla/Armadillo, auf die GPL um
- Eine große Neufassung zur Verwaltung mehrerer Kommunikationsflüsse führte zum Paper Network programming internals of the Dillo Web browser von Jorge Arellano-Cid und H.H. Von Brand
- Dieser Ansatz entwickelte sich später zur Concomitant Control Chain, mit der Dillo mehrere Verbindungen und interne Module verfolgt
Rendering-Engine und Funktionserweiterungen
- Sebastian Geerken reichte ab etwa Juni 2000 zunächst kleine Patches ein, wechselte dann zur Arbeit an der Rendering-Engine und wurde später zum wichtigsten Architekten dieses Bereichs
- Die Rendering-Engine ist die zentrale Komponente, die den Elementbaum liest und Größe und Position von Elementen wie Wörtern und Bildern in Absätzen auf dem Bildschirm platziert
- In den folgenden Jahren wurde die Unterstützung für HTML und CSS ausgebaut, insbesondere bei Tabellen und Textelementen
- Auch nach dem Erscheinen von GTK2 war das Team vorsichtig mit einer direkten Portierung von Dillo, weil es die Komplexität und Größe der neuen GTK-Version fürchtete
- Im Oktober 2003 fragte Jorge den FLTK-Maintainer Michael Sweet, ob eine Portierung von Dillo auf FLTK möglich sei; FLTK wurde als besser passend zu den Zielen Geschwindigkeit und Stabilität eingeschätzt
Wechsel zu FLTK 2 und Entkopplung vom Toolkit
- Das Team hielt GTK 2.0 für aufgeblähter und langsamer und beschloss, sich auf FLTK 2 zu konzentrieren
- FLTK 2 war zu diesem Zeitpunkt noch nicht veröffentlicht, sollte aber bald erscheinen
- Im August 2004 schlug Sebastian ein Design vor, um Dillo unabhängig vom Widget-Toolkit zu machen
- Ziel war es, eine Situation zu vermeiden, in der Dw stark an Gtk+ gebunden bleibt und sich GTK- und FLTK-Version mit unterschiedlichen Funktionen auseinanderentwickeln
- Dieselbe Neugestaltung hätte auch Funktionen wie ein verkleinertes Vorschaufenster der gesamten Seite und die Wiederverwendung von Dw in Grafik-Plugins ermöglichen können
- Im selben Zeitraum wurde auch der Plugin-Mechanismus auf Basis des DPI-Protokolls verbessert, und einige Funktionen wie Downloads, Lesezeichen, FTP und HTTPS wurden in externe Programme ausgelagert, die mit dem Browser kommunizieren
- Das im Oktober 2004 veröffentlichte Dillo 0.8.3 verfügte bereits über HTTPS-Unterstützung
Verzögerter FLTK-2-Port und Dillo 2.0.0
- Der FLTK2-Port sollte den Browser kleiner machen und Funktionen wie Antialiasing bieten; im April 2005 teilte Jorge mit, dass die Portierung zügig voranschreite
- Der Quellcode des neuen FLTK2-Ports erschien jedoch längere Zeit nicht im öffentlichen CVS, und Jorge konzentrierte sich darauf, Finanzierung zur Deckung der Projektentwicklungskosten zu sichern
- Im März 2006 berichtete Jorge, dass die Mittelbeschaffung nicht erfolgreich gewesen sei, und das Projekt geriet in Gefahr, zu stagnieren
- Von Mitte 2006 bis 2008 gab es keine Dillo-Releases, und der FLTK2-Port blieb geschlossen
- Am 30. September 2007 kündigte Jorge an, dass der FLTK2-Port verfügbar geworden sei
- Teile der Haupt-Codebasis wurden nach C++ migriert
- Die Rendering-Engine nutzte nun statt GTK1 die FLTK2-Bibliothek
- Entwicklerbeteiligung und Beiträge wurden ausdrücklich ermutigt
- Nach der Veröffentlichung des Ports wurden Patches anderer Entwickler schnell integriert, und das Projekt wurde wieder aktiver
- Im September 2008 wurde Unterstützung für Tabs angekündigt, und im Oktober 2008 erschien Dillo 2.0.0
Wechsel zu FLTK 1.3 und erneute Stagnation
- 2011 erschien mit 2.2.1 das letzte Release der 2.X-Serie; ab dieser Zeit sind keine Patches oder Mailinglistenaktivitäten von Sebastian mehr zu beobachten
- Da die Entwicklung von FLTK2 selbst stagnierte und es kein offizielles Release gab, entstand für Dillo das Problem, gegen ein FLTK-Paket linken zu müssen, das in Distributionen nicht verfügbar war
- Das Team beschloss, Dillo nach dem Release von FLTK 1.3 dorthin zu portieren und auf die 3.X-Serie anzuheben
- Nach dem Release von FLTK 1.3 im Juni 2011 wurde die Portierung von Dillo auf FLTK 1.3 vorangetrieben; wenige Monate später erschien mit Dillo 3.0.0 das erste Release auf Basis von FLTK 1.3
- Im Juli 2012 stellte Sebastian einen neuen Silbentrennungsalgorithmus vor, der einen TeX-ähnlichen Mechanismus implementierte; diese Implementierung floss im April 2013 in Dillo 3.0.3 ein
- Bis Dillo 3.0.5 im Juni 2015 folgten mehrere weitere Releases
Sebastians Tod und der Verlust von dillo.org
- Sebastian arbeitete damals an der GROWS-Neugestaltung, die die Berechnung der Größe von Widgets für Seitenelemente verändern sollte
- Im Oktober 2016 starb Sebastian, wodurch viele Arbeiten nicht mehr in ein neues Release aufgenommen wurden
- Danach stagnierte die Entwicklung rasch, und 2019 hinterließ Jorge seine letzte E-Mail, in der er empfahl, die aktuelle Version aus dem Repository zu verwenden, statt auf ein 3.1-Release zu warten
- 2022 gingen durch den Verlust der DNS-Domain dillo.org die Website, das Mercurial-Repository, die Mailingliste und der E-Mail-Server verloren
- Danach waren keine Entwickleraktivitäten mehr zu sehen; das Projekt blieb verwaist, und die Website dillo.org wirkt zwar wie eine Kopie der ursprünglichen Website, ist aber voller Spam aus einem Wordpress-Blog
Wiederbelebung 2024 auf GitHub-Basis
- Ab Dezember 2023 begann der aktuelle Maintainer, Patches einzuspielen, damit Dillo wieder gebaut werden konnte, und einfache Bugs zu beheben
- Als er sah, dass ein Atari-Forum Dillo auf Grundlage dieses Repositorys auf Atari portiert hatte, erkannte er die Möglichkeit einer Projektwiederbelebung; nachdem er dies auf Hacker News teilte, stieß es auf mehr Interesse als erwartet
- Danach wurde eine GitHub-Organisation erstellt, Git-Repositories wurden zusammengeführt, und mit GitHub Pages wurde eine neue Dillo-Website aufgebaut
- Außerdem wurden verfügbare Materialien kopiert und auf der neuen Website sowie in der Mailingliste bereitgestellt
- Nach der Behebung mehrerer Issues wurde im Mai 2024 Dillo 3.1.0 veröffentlicht
- Dieses Release erhielt Aufmerksamkeit von mehreren Seiten, darunter The Register, 9to5Linux und Hackaday
- Danach wurde Dillo in mehrere Linux-Distributionen aufgenommen
- Stand 15. Dezember 2024 wird das Projekt weiterhin gepflegt, und neue Mitwirkende beteiligen sich an Patches und Entwicklungsdiskussionen
- Es gibt noch nicht genügend Entwickler, um alle Issues zu bearbeiten, doch das Projekt macht langsam Fortschritte
- Das derzeit letzte Release ist Dillo 3.1.1
Noch keine Kommentare.