diff options
author | Rodrigo Arias Mallo <rodarima@gmail.com> | 2024-12-15 21:33:06 +0100 |
---|---|---|
committer | Rodrigo Arias Mallo <rodarima@gmail.com> | 2024-12-15 21:33:52 +0100 |
commit | 35610b31078dbd2ec2ba73936ca76a4e4b1cd8a5 (patch) | |
tree | 95cf0894952808607e2a501247f0a2c890e8eca8 /25-years/index.html | |
parent | 36cd45ac01f0314680d17775f91598fe0e9fec31 (diff) |
Add 25 years page25-years
Diffstat (limited to '25-years/index.html')
-rw-r--r-- | 25-years/index.html | 417 |
1 files changed, 417 insertions, 0 deletions
diff --git a/25-years/index.html b/25-years/index.html new file mode 100644 index 0000000..cdbeba9 --- /dev/null +++ b/25-years/index.html @@ -0,0 +1,417 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>25 years of Dillo</title> + <link rel="icon" type="image/png" href="../img/favicon.png"> + <style> +body { + background: white; + line-height: 1.5; + margin: 3em; + font-family: sans-serif; + font-size: 16px; +} +article { + margin: 2em auto; + max-width: 80ex; +} +h1 { + font-size: 28px; + margin-bottom: 0.5em +} +h2 { + font-size: 24px; +} +figure img { + text-align: center; +} +footer { + text-align: center; + margin-top: 2em; + clear: both; +} +figure { + vertical-align: top; + margin: 1em auto; + text-align: center; +} +figcaption { + padding-top: 0.5em; + font-size: 13px; + font-style: italic; +} + </style> + </head> + +<body> +<article> +<h1>25 years of Dillo</h1> +<i>Written on 2024-12-15 by Rodrigo Arias Mallo</i> + +<p>Back in 1999, a group of developers lead by Jorge Arellano Cid forked the +<a href="https://levien.com/gzilla/">Gzilla/Armadillo</a> code originally +developed by Raph Levien, and began working on what is now known as the Dillo +web browser. + +<p>Today, as of December of 2024, <b>Dillo is 25 years old!</b></p> + +<p>During this long journey, the project has seen a lot of changes and has +stalled several times, but it managed to survive to this day. As a commemoration +of this milestone, so I wanted to write a short history of the project.</p> + +<p>Notice that Jorge had lead the project from 1999 until 2019, and as of +today, we don't have more news about him anymore. I hope he is okay and just +decided to move on to other projects. Since then, I (Rodrigo) decided to +resurrect the project and bring it back to life. I have no relationship with the +previous developers, but I try to do my best to keep the original goals intact. + +<p>This document tries to tells the history as I have observed it through the pieces I was +able to collect from the +<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/latest">mailing + list</a>, the +<a + href="https://raw.githubusercontent.com/dillo-browser/dillo/refs/heads/master/ChangeLog">changelog</a> +and the +<a href="https://github.com/dillo-browser/dillo/commits/master/">git + history</a>. + +<h3>GTK period (1999 - 2006)</h3> + +<p>When Dillo was forked, it was using GTK 1.0 as the UI library. The first +releases were done in December of 1999 as recorded in the ChangeLog. At the +time, this is how Gzilla 0.3.9 looked like: + +<figure> + <a href="img/gzilla-0.3.9.png"> + <img alt="Gzilla 0.3.9" src="thumb/gzilla-0.3.9.jpg"></a> + </a> + <figcaption>Dillo 0.8.3, source <a href="https://commons.wikimedia.org/wiki/File:Gzilla-039.png">WikiMedia</a> + </figcaption> +</figure> + +<p>During the initial development, Jorge first designed and wrote the naming +convention for the function names (like prefixing them with a_ when they are +public) or using 3 spaces for indentation, and began adjusting the code base to +follow the same convention. + +<p>On March of 2000, the license was changed to the GPLv3 with the permission of +Raph Levien (the main developer of Gzilla/Armadillo). + +<p>The browser experimented a large rewrite with the idea to maintain several +flows of communication following a signal driven approach. This work ended up in the +publication +<i><a href="https://ieeexplore.ieee.org/document/890406">Network programming + internals of the Dillo Web browser</a></i> by Jorge Arellano-Cid and H.H. +Von Brand. This work would later derive in the Concomitant Control Chain (CCC), +the mechanism that Dillo still uses today to track multiple connections and +among its internal modules. + +<p>Sebastian Geerken began working on the code base at least since June of 2000. +First submitting small patches and then moving to the rendering engine, of which +he became the main architect. The rendering engine is one of the most important +components of the browser, which essentially reads a tree of elements and +determines the size and position of each element on the screen, like the +words of paragraphs and images. + +<p>The support for HTML and CSS features started to grow during the coming +years, specially for tables and text elements. + +<p>Shortly after GTK2 was released, the team was considering porting Dillo to +it, but there were some concerns regarding the complexity and size of the new +GTK version. + +<p>On October of 2003, +<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/QES7WLKQMOKJ6UMYK2FYRQV4QTWMBABI/"> + Jorge asked the FLTK maintainer Michael Sweet</a> if it would be feasible to +port Dillo to FLTK, as it was considered to align better with the objectives of +speed and stability: + +<blockquote> +We were following our plan to port dillo from GTK1 (currently +used TK) to GTK2, when one of our list subscribers suggested +considering FLTK because of shared philosophy backgrounds +</blockquote> + +<p>The team decided to focus on FLTK 2 instead of GTK 2.0, as it was considered +far more bloated and slow. Notice that at the time, FLTK 2 was not yet released, +but is was planning to be released "soon". + +<p>On August 2004, Sebastian decided to make an interesting design decision, +<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/EKVI6KKMVBLPKA54IPPIV5PKNR3OBJW5/">to make the + Dillo widget toolkit independent</a>. This way it was posible to continue the +development of GTK1 and FLTK2 in parallel, among other benefits. + +<blockquote> +The most complex part is certainly Dw, since it is tightly bound to +Gtk+. By all means, I want to prevent, that there exist different +versions of Dw, with different features (e.g., when the development of +the Gtk+ version continues, while the FLTK version is developed), +which are hard to integrate. + +<p>For this reason (and others), I'm currently working on a redesign of +Dw, which will make Dw toolkit independant. This is not the single +goal of this redesign, it will also make some other features possible, +e.g. a preview window, in which the whole page may be seen with +reduced size, also, it will make reusage of Dw within graphical +plugins possibel, and some more. (Actually, the idea for this design +is already older, except the platform independency, but this was simple +to add.) +</blockquote> + +<p>During this period, the DPI mechanism (plugins) was improved and some +functionality was moved to external programs that talk to the browser via the +DPI protocol, like the downloads, bookmarks, FTP and also HTTPS. The version +0.8.3 released on October, 2004 had already HTTPS support. Here is how it looked +like (still using GTK1): + +<figure> + <a href="img/dillo-0.8.3.png"> + <img alt="Dillo 0.8.3" src="thumb/dillo-0.8.3.jpg"> + </a> + <figcaption>Dillo 0.8.3, source <a href="https://commons.wikimedia.org/wiki/File:Dillo.png">WikiMedia</a> + </figcaption> +</figure> + +<p>During the following years, the development of the FLTK port was underway. +The functionality that was provided by glib was implemented in a custom Dlib +library so Dillo would not need to depend on glib anymore. + + +<p>On February 2005, Jorge and Sebastian gave +<a href="https://dillo-browser.github.io/old/conferences.html">a + talk at FOSDEM</a> about the Dillo browser. Unfortunately, there is no +recording of that talk. But shortly after, Jorge gave another talk at LSM in +2005 which is was recorded, which was the first time the FLTK2 implementation +was shown. + +<figure> + <a href="https://www.youtube.com/watch?v=A6mb9qt2-3o"> + <img alt="Picture of Jorge from the LSM 2005 video" src="lsm.jpg"> + </a> + <figcaption>Picture of Jorge from the LSM 2005 video, from the <a + href="https://www.youtube.com/watch?v=A6mb9qt2-3o">YouTube video</a> + </figcaption> +</figure> + +<p>The last release that still used GTK1 was 0.8.6 on April, 2006. We will have +to wait two years until the next release 2.0.0 was finally published with the +port to FLTK2 completed. + +<h2>FLTK 2 period (2005 - 2011)</h2> + +<p>The porting to FLTK2 was intended to make the browser smaller and provide other +features like antialiasing. On April 2005, Jorge reported that the port to FLTK2 +was making +<a + href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/LKXQDFLOSGOOG7K63XIFQD6DNFU3PRIC/">great + progress</a>. + +<blockquote> +<p>Here are some good news with our current progress in porting +dillo to FLTK. It has being going-on very fast and we have made great progress +so far. +</blockquote> + +<p>Here is how the browser looked like with FTLK2: + +<figure> + <img alt="First versions of Dillo using FLTK2" src="ph1.png"> + <figcaption>First versions of Dillo using FLTK2</figcaption> +</figure> +</blockquote> + +<p>During this time however, the source code for the new FLTK2 port was not +available in the CVS to the public. Instead, Jorge was focusing on rising +funding to cover the project development from some interested companies. +<p>On March 2006, Jorge reported that so far +<a + href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/NQYEX32HFQXG3UO235IDUP6IFRG34EDS/">it + was not being successful in attracting funding</a>. +The project faced a serious risk of stalling. + +<p>After mid 2006, there were no more releases of Dillo until 2008, and so far +no success in getting more developers involved or funding for the project. The +project was considered frozen or stalled and the FLTK2 code remained closed +source. + +<p>On April 2007, Jorge +<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/DBDCWY7AK65QNTLKJMC6DPH7KQFLVKWV/">reports</a> +that he had intentions to release the FLTK2 port +as soon as Sebastian agrees. + +<blockquote> +In fact, I think it was more or less 6 months ago, after some +emails with Andrew Tanenbaum, who finally helped me to see that +it was a good time to release the code again. + +Since then, I've tried to contact Sebastian to agree on this. +</blockquote> + +On September 30, 2007, Jorge finally +<a + href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/2ODF4BFCKD6W33NRVSDER5Z7BEHLOBKZ/?noscript">announces</a> that the FLTK2 port is now +available: + +<blockquote> +<p>This is an alpha release of the next generation of the Dillo +web browser. The code underwent a major rewrite: significant +parts of the codebase were ported to C++, and the rendering +engine now uses the FLTK2 library instead of GTK1. + +<p>Please read the README inside dillo's tarball. + +<p>Developers willing to join the project and contribute are +highly encouraged. Sebastian did an excellent work documenting +the new dillo widget engine (just run doxygen inside DW tree). +</blockquote> + +<p>This move started a lot of patches from other developers that were quickly +integrated in the FLTK2 port. These contributions pushed Dillo towards an active +state of development again. + +<p>On September of 2008, Jorge +<a + href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/IJ273SVPTQ32DP4YZZ427MGPDCVXB4ER/?noscript">announced</a> the support for tabs, which was +included for the release. After a lot of bug fixing, the next version based on +FLTK2 was ready and on October of 2008, Dillo 2.0.0 was finally released. + +<p>A year later, on July of 2009, +<a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/SKJ3DQURZWEMS7O3UAURQFM3EHNZFV7M/?noscript">Jorge + announces that he is now a father</a>, and +his time for developing Dillo will (understandably) be affected. + +<blockquote> +I'm quite happy to let you know that yesterday 19 Aug [July], +my first daughter Lisa was born! + +<p>Everything is OK, we're vey happy with this "release" :) and I just wanted to +communicate it here, so you more or less know or understand my activities (or +lack of) in the next days. +</blockquote> + +<p>More features and bug fixes were added in the coming releases, until the last +release of the 2.X series, the version 2.2.1 released on 2011. During this +period, we don't observe more patches from Sebastian or emails in the mailing +list. + +<p>Here is how Dillo was looking in the 2.2 version, very similar as how it +looks today: + +<figure> + <a href="img/dillo-2.2.png"> + <img alt="Dillo 2.2" src="thumb/dillo-2.2.jpg"> + </a> + <figcaption>Dillo 2.2, source <a + href="https://tuxarena.blogspot.com/2010/09/how-to-install-dillo-web-browser-in.html">TuxArena</a> + </figcaption> +</figure> + +During this period, another problem was coming in FLTK. The +<a + href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/message/O4YFNSCDATQDKUNRHUJPGEDJPNKGXLDP/">development for + FLTK2 was considered stalled</a> and there was no official version released. + This caused issued in downstream distributions, as Dillo required to link with + a FLTK package that was not available. + +<p>So, the team decided to switch to FLTK 1.3 as soon as it was released, and bump +Dillo to the series 3.X. + +<h2>FLTK 1.3 period (2011 - 2016)</h2> + +<p>On June 2011, with the FLTK 1.3 release done, the port of Dillo to FLTK 1.3 was +underway. Only a few months later, the first 3.0.0 release using FLTK 1.3 was +published. + +<p>On July of 2012, Sebastian presented a new hyphenation algorithm that +implements the same mechanism used in TeX. This new implementation makes its way +to the 3.0.3 release on April of 2013. + +<p>Several releases were made until the version 3.0.5 on June 2015. + +<p>During these last two years, we see a shift in the amount of commits +introduced by Sebastian, which grow quite substantially. + +<figure> +<img style="width:100%" alt="Commits" src="commits-author.png"> +</figure> + +On that time, Sebastian was working on the GROWS redesign, which changed the way +the size of the widgets (elements of the page) where computed. + +<p>Sadly, on October 2016, <a href="https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/OCKYTCIUXPQ26DIBNBIZVJARJEIJXDBI/?noscript">Sebastian + passed away</a>, leaving much of his work not included into a new release. + +Since then, the development quickly stalled until in 2019 Jorge sent his last +email <a + href="https://groups.google.com/g/dillo/c/UQ1nWyMa3yo/m/07qhu9KqAgAJ">recorded + by the mailing list</a>, recommending a user to simply use the current version +of the repository, rather than waiting for the 3.1 release: + +<blockquote> +> According to the info on<br> +> https://hg.dillo.org/dillo/raw-file/default/ChangeLog, dillo-3.1 [not +released yet].<br> +><br> +> I will probably wait until they release it officially.<br> +<br> +IMHO, you should get it. It's being stable for years.<br> +<br> +--<br> +Cheers<br> +Jorge.- +</blockquote> + +<p>After this moment, the project began to deteriorate. On 2022 the DNS domain +of dillo.org <a href="/dillo.org.html">was lost</a>, causing the website, the +mercurial repository, the mailing list and the email server to disappear. + +<p>The project quickly became abandoned, as there was no more developer activity +anywhere. The dillo.org site now became a weird zombie copy of the once original +website, but now plagued with SPAM in a Wordpress blog. + +<h2>The resurrection (2024 - present)</h2> + +<p>On December of 2023, I began spending some time patching Dillo to make it build +again. I tried to fix some simple bugs, and when I saw that the Atari forum had +managed to port Dillo to Atari (!) based on my repo I though that it may be +feasible to try to resurrect it. I commented it on +<a href="https://news.ycombinator.com/item?id=38847613">Hacker News</a> and it +got surprised on the of interest it drew. + +<p>I first made a GitHub organization to hold the Git repositories and used the +GitHub pages to make a new Dillo website. I tried to get a copy of all materials +I could, and upload them to the new website and mailing list. + +<p>I tried to fix all the issues to finally make the 3.1.0 release, and after +some months of work in my free time, I managed to release it on May of 2024. It +caught the attention of +<a href="https://www.theregister.com/2024/05/07/dillo_browser_v3_1/">several</a> +<a href="https://9to5linux.com/dillo-3-1-open-source-web-browser-released-after-9-year-hiatus">news</a> +<a + href="https://hackaday.com/2024/05/11/the-minimalistic-dillo-web-browser-is-back/">sites</a> +and soon later it made its way to several +<a href="https://repology.org/project/dillo/versions">Linux distributions</a>. + +<p>As of today, 15 of December of 2024, I continue to maintain the project, and +we are getting some new contributors which help with patches and discussion +about the development. We are still far from having enough developers to cover +all the issues, but we are slowly making some progress. + +<p>The last release of Dillo is 3.1.1, and this is what is looks like when +loading the new Dillo website: + +<figure> + <a href="img/dillo-3.1.1.png"> + <img alt="Dillo 2.2" src="thumb/dillo-3.1.1.jpg"> + </a> + <figcaption>Dillo 3.1.1 in my computer</a> + </figcaption> +</figure> + +<footer> +<a href="../index.html">← Home</a> +</footer> +</article> +</body> +</html> |