1 ポイント 投稿者 GN⁺ 2024-12-17 | まだコメントはありません。 | WhatsAppで共有
  • 1999年に Gzilla/Armadillo から始まった Dillo は、2024年12月に25周年を迎え、何度か開発停止期を挟みながらも現在まで保守が続いている
  • 初期開発は GTK 1.0 ベースで進み、GPL への移行、シグナルベースの通信構造、Concomitant Control Chain へとつながり、ブラウザー内部構造を固めていった
  • 2000年代半ばの FLTK 2 への移行は遅延と資金不足で停滞したが、2007年のポート公開後にパッチが増え、2008年の Dillo 2.0.0 リリースへとつながった
  • FLTK2 が正式リリースなしで停止すると、Dillo は FLTK 1.3 へ移行して 2011年に 3.0.0 を公開したが、2016年の Sebastian Geerken の死去と 2019年の Jorge の最後のメール以降、開発は急速に冷え込んだ
  • 2022年に dillo.org を失ったことでウェブサイト、リポジトリ、メーリングリストが消滅したが、2024年の GitHub ベースの復旧と Dillo 3.1.0 のリリースにより、プロジェクトは再び息を吹き返した

Gzilla/Armadilloから始まった25年

  • Dillo は 1999年、Jorge Arellano Cid が率いる開発者グループが Raph Levien の Gzilla/Armadillo のコードをフォークしたことから始まった
  • 2024年12月時点で 25年 を迎えており、何度か開発が止まったものの、プロジェクト自体は現在まで続いている
  • Jorge は 1999年から 2019年までプロジェクトを率いており、その後の消息はない
  • 現在のメンテナーは以前の開発者たちと直接の関係はないが、元の目標を維持する方向でプロジェクトを立て直している
  • プロジェクトの歴史は メーリングリストChangeLogGit 履歴 から集めた資料に依拠している

GTK 1.0 ベースの初期設計

  • フォーク当時、Dillo は UI ライブラリとして GTK 1.0 を使っており、最初のリリースは ChangeLog によれば 1999年12月に出ている
  • Jorge は公開関数名に a_ 接頭辞を付ける方式や 3スペースのインデントといった コーディング規約 を定め、コードベースを整えていった
  • 2000年3月には Gzilla/Armadillo の主要開発者である Raph Levien の許可を得て、ライセンスを GPL に変更した
  • 複数の通信フローを維持するための大規模な書き直しは、Jorge Arellano-Cid と H.H. Von Brand の論文 Network programming internals of the Dillo Web browser へとつながった
  • この流れは、その後 Dillo が複数の接続や内部モジュールを追跡する Concomitant Control Chain へと発展した

レンダリングエンジンと機能拡張

  • Sebastian Geerken は 2000年6月ごろから小さなパッチを投稿し始め、その後レンダリングエンジンの作業へ移り、この分野の主要設計者になった
  • レンダリングエンジンは要素ツリーを読み取り、段落内の単語や画像のような要素の サイズと位置 を画面上に配置する中核コンポーネントである
  • その後数年間で HTML と CSS のサポートが拡大し、とくに テーブル とテキスト要素に関する機能が強化された
  • GTK2 が登場した後も、チームは新しい GTK バージョンの複雑さと肥大化を懸念し、Dillo をそのまま移行することには慎重だった
  • 2003年10月、Jorge は FLTK メンテナーの Michael Sweet に、Dillo を FLTK へ移行可能かどうか 問い合わせ を行い、FLTK のほうが速度と安定性の目標に適していると判断された

FLTK 2 への移行とツールキット分離

  • チームは GTK 2.0 がより肥大化して遅いと見なし、FLTK 2 に注力することを決めた
  • 当時の FLTK 2 はまだリリースされていなかったが、まもなく公開される予定だった
  • 2004年8月、Sebastian は Dillo をウィジェットツールキット非依存にするための設計を 提案 した
    • Dw が Gtk+ に強く結び付いているため、GTK 版と FLTK 版が異なる機能を持ったまま分岐してしまう状況を避けるのが目的だった
    • 同じ再設計によって、縮小したページ全体プレビューウィンドウや、グラフィックプラグインでの Dw 再利用のような機能も可能になり得た
  • 同時期には DPI プロトコル ベースのプラグイン機構も改善され、ダウンロード・ブックマーク・FTP・HTTPS といった一部機能が、ブラウザーと通信する外部プログラムへ移された
  • 2004年10月にリリースされた Dillo 0.8.3 は、すでに HTTPS サポート を備えていた

遅れた FLTK 2 ポートと Dillo 2.0.0

  • FLTK2 ポートはブラウザーをより小さくし、アンチエイリアスのような機能を提供することを目的としており、2005年4月に Jorge は移植作業が急速に進んでいると 共有 していた
  • しかし新しい FLTK2 ポートのソースコードはしばらく公開 CVS に上がらず、Jorge はプロジェクト開発費を賄うための 資金確保 に注力していた
  • 2006年3月、Jorge は資金調達が成功しなかったと 伝え、プロジェクトは停滞の危機に置かれた
  • 2006年半ば以降 2008年まで Dillo のリリースはなく、FLTK2 ポートはクローズドなままだった
  • 2007年9月30日、Jorge は FLTK2 ポートが利用可能になったと 発表 した
    • 主要コードベースの一部が C++ へ移行された
    • レンダリングエンジンは GTK1 ではなく FLTK2 ライブラリを使うようになった
    • 開発者の参加と貢献が奨励された
  • ポート公開後は他の開発者によるパッチがすばやく統合され、プロジェクトは再び活発化した
  • 2008年9月にはタブ対応が 発表 され、2008年10月に Dillo 2.0.0 がリリースされた

FLTK 1.3 への移行と再び訪れた停滞

  • 2011年、最後の 2.X リリースである 2.2.1 が公開され、この時期以降 Sebastian のパッチやメーリングリストでの活動は見られなくなった
  • FLTK2 自体の開発が停滞し、正式リリースがない状態になったことで、Dillo はディストリビューションで利用できない FLTK パッケージにリンクしなければならない問題を抱えるようになった
  • チームは FLTK 1.3 がリリースされたら Dillo をそちらへ移し、3.X シリーズ へ上げることを決定した
  • 2011年6月の FLTK 1.3 リリース後、Dillo の FLTK 1.3 ポーティングが進み、数か月後に FLTK 1.3 ベース最初のリリースである Dillo 3.0.0 が公開された
  • 2012年7月、Sebastian は TeX と同様の仕組みを実装した新しい ハイフネーションアルゴリズム を公開し、この実装は 2013年4月の Dillo 3.0.3 に取り込まれた
  • 2015年6月の Dillo 3.0.5 まで複数のリリースが続いた

Sebastian の死去と dillo.org の喪失

  • Sebastian は当時、ページ要素ウィジェットのサイズ計算方式を変える GROWS 再設計 に取り組んでいた
  • 2016年10月に Sebastian が 死去 したことで、多くの作業が新リリースに含まれないままとなった
  • その後、開発は急速に停滞し、2019年に Jorge は 3.1 リリースを待つよりもリポジトリの現行版を使うよう勧める最後のメールを残した
  • 2022年、dillo.org の DNS ドメインを 失い、ウェブサイト、Mercurial リポジトリ、メーリングリスト、メールサーバーが消滅した
  • その後は開発者の活動も見られなくなり、プロジェクトは放置状態となった。dillo.org サイトは元のウェブサイトのコピーのように見えるものの、Wordpress ブログのスパムで埋め尽くされた状態になっていた

2024年の GitHub ベース復活

  • 2023年12月から、現在のメンテナーは Dillo が再びビルドできるようにパッチを適用し、簡単なバグ修正を始めた
  • Atari フォーラムがそのリポジトリをもとに Dillo を Atari へ移植したのを見て、プロジェクト復活の可能性を確認し、これを Hacker News で共有すると予想以上の関心を集めた
  • その後 GitHub 組織を作成し、Git リポジトリを集約し、GitHub Pages で新しい Dillo ウェブサイトを構築した
  • 利用可能な資料をコピーして、新しいウェブサイトとメーリングリストへ掲載する作業も進めた
  • いくつかの問題を修正した後、2024年5月に Dillo 3.1.0 をリリースした
  • 2024年12月15日時点でもプロジェクトは継続的に保守されており、パッチや開発議論に参加する新しい貢献者も現れている
  • まだすべての問題に対応できるほど開発者は十分ではないが、プロジェクトはゆっくり前進している
  • 現在の最新リリースは Dillo 3.1.1 である

まだコメントはありません。

まだコメントはありません。