Mozillaに関する世界観です。
自分の書いたブログ「神々とともに生きる詩人」2021/01/27より。
フリーソフトウェアという言葉とよく似た言葉として、オープンソースという言葉がある。
これは、開発をオープンにし、みんなのパッチをどんどん取り込むことで、片手間のボランティアによって一流のカーネルが開発された、Linuxカーネルの開発手法から生まれた言葉で、「伽藍とバザール」というエリック・レイモンドの文書を代表として、作られた造語である。
伽藍とバザールでは、GNUのように、一部のきちんと分かっているエンジニアが慎重に作り上げる開発手法のことを、「伽藍」すなわち教会のカテドラルになぞらえ、これに対して「乱交まがいにオープンにする」Linuxカーネルの開発手法を、「バザール」と呼んだ。
この伽藍とバザールは、インターネットの多くの人々に衝撃と称賛を与え、これにならってオープンソース開発をしようとする企業が現れた。
それが、マイクロソフトのIEとのブラウザ戦争に負けたNetscapeである。
Netscapeはインターネットの黎明期にWebブラウザの覇者として君臨したが、Windowsの成功と、バンドルされたIEとのブラウザ戦争に負け、その時「伽藍とバザール」の影響を受けて、ブラウザの存続をかけて、Netscapeブラウザのオープンソース化を決める。
新しいブラウザの名前は「Mozilla」となり(「Mozilla」は昔からのNetscapeの愛称だった)、そのプロジェクトはオープンなMozilla.orgによって行われる。
しかしながら、Mozillaはなかなか安定したバージョンをリリースできず、開発は遅れ、開発の中心メンバーもコミュニティのボランティアではなく、Netscape社員であるままが続いた。
Netscapeの業績不振もあり、Netscape社はAOLに買収される。
しかしながら、その後もMozillaの開発は続く。
MozillaはXULと呼ばれるXMLとJavaScriptを用いた抽象的なUI言語を持っており、ブラウザだけではなくメールクライアントやHTML編集エディタもあったが、このせいでIEに比べてとても巨大で重かった。
しかしながら、XULの機構を用いることで、拡張機能をEmacsのLispのように分離することができる。
いつまでもMozillaは日進月歩で開発されたが、こうした機能を上手く使って、メールクライアントやHTML編集エディタを削除し、最低限の機能を持った軽量なWebブラウザである、Mozilla Firefox(以前の名はPhoenixあるいはFirebird)を新たにリリースし、使いたい機能を拡張機能としてユーザーが自由に拡張できるようにした。
Firefoxと同様、メールクライアントもThunderbirdとして分離。
一時期はIEに次ぐ第二のブラウザとして、NewYork Timesに広告を掲載するなどの流行を見せていたが、GoogleによるWebKit系のブラウザであるGoogle Chromeなどに第二位の座を奪われ、今ではFirefoxは「商用企業ではなくユーザーのためのブラウザ」としてなんとかインターネット上で続いている。
Linuxにおいては、GNOMEではFirefoxがデフォルトのブラウザになっていることが多いが、KDEではKonqueror(WebKitの元になったKHTMLをベース)が標準であり、XfceではMidoriなどが軽量ブラウザとして提供されており、またGNOMEにおいてもGNOME Webなどが開発されており、サーバーサイドJavaScriptのNode.jsはChromeのV8エンジンの上で動くなど、しだいにFirefoxも草葉の陰に隠れつつある。
WindowsやMacでも、決してFirefoxはマイナーなブラウザではないが、メインのブラウザとしてはChromeを使う人が増えてきている。
Mozillaは、オープンソースで開発されるWebブラウザ、あるいはその開発母体のプロジェクト。
もともとは、NetscapeがMS-IEとのブラウザ戦争に負けて、エリック・レイモンドのオープンソースに関する文書をきっかけに、ブラウザの存続を賭けてオープンソースにしたことが始まり。
以来、Mozillaというブラウザが長い間開発されてきて、そのMozillaというブラウザをNetscapeが名前をかえてリリースする、というのが定番になっていた。
だが、最近はMozillaやNetscapeというブラウザは無くなり、代わりにMozillaをWebブラウザ単体に分割したMozilla Firefoxと、メールクライアントを取り出したMozilla Thunderbirdが開発されてきた。これは、Mozillaというブラウザがあまりに巨大だったため、軽量化するためであり、その結果、標準の機能を制限して、エクステンション(拡張)で機能を増やすことのできるブラウザとしてFirefoxは知られている。
Mozillaによる「日進月歩の開発」によって、Geckoと呼ばれる独自のHTMLレンダリングエンジンを開発した。昔は、IEよりも標準化の度合いが高いことで知られていた。また、Google ChromeやSafariのようなブラウザがWebKitと呼ばれるKHTMLベースのレンダリングエンジンを開発している。IEによるIEコンポーネント(Trident)が広く使われていたネット世界だが、最近では動作の軽さを理由にGoogle Chromeを使うユーザーも増えている。だが、Mozilla Firefoxが普及する日は、Google Chromeによってさらに遠のいた印象がある。
Mozillaのような独自コンポーネントのWebブラウザは、Geckoのように独自にHTMLレンダリングエンジンを開発していることで知られている。これに対して、SleipnirやDonutのような「タブブラウザ」は、IEコンポーネントを使っている場合が多い(最近のSleipnirではWebKit系のエンジンを積んでいるようである)。Mozillaが重たい理由は、WindowsとIEが密接に結び付きすぎていることや、MozillaがUIの描画に使っているXULと呼ばれるXMLベースのUI言語を搭載していることなどが理由である。最近も、軽くなったとは言うが、最初の起動はとても遅い。僕もMozillaユーザーだが、XULはそのうち廃止されるかもしれないということで、嘆いているところである。
DXRからMozillaのソースコードをブラウザから閲覧できる。
Mozillaのソースコードのサブディレクトリの解説が以下にある。
他にも以下の情報からMozillaのソースコードに関する技術情報にアクセスできる。
Netscapeの歴史は、イリノイ大学の米国立スーパーコンピュータ応用研究所(NCSA)のマーク・アンドリーセンによるNCSA MosaicというWebブラウザに端を発する。
マーク・アンドリーセンのほか、NCSA Mosaicに魅了された実業家のジム・クラークや、ジェイミー・ザウィンスキー(僕はこの人が大好き)などとともに、モザイクコミュニケーションズ(後にネットスケープコミュニケーションズに社名変更)によるNetscape Navigatorが開発され、1994年、まだベータ版ではあったが、高機能かつ使うのが簡単ということで大きく広まった。
1995年のバージョン2.0ではWebブラウザだけではなくメーラーともなった。ブラウザに情報を記録するCookie、ページを分割するフレーム、マクロ言語エンジンであるJavaScriptなどがここで追加される。
1996年のバージョン3.0では、MicrosoftのInternet Explorer 3.0と競争することになったが、この頃はまだNetscapeが勝っていた。WYSIWYG(結果を見ながら編集できる)のHTMLエディタなどもここで追加される。この3.0はシェアが70%に達して、Netscapeの黄金期だった。
しかし、MicrosoftのWindows 95にバンドルされたIEとの「ブラウザ戦争」が勃発。また、この頃AOLがネットスケープ社を買収する。次第にNescapeはIEにシェアが奪われていく。
2024.08.30-31編集
Netscapeは、Linuxなどのフリーソフトウェア/オープンソースソフトウェアの開発を注視し、オープンソース開発とコミュニティの可能性を感じて、ブラウザの存続のためにMozilla.orgプロジェクトを開始した。これは、Netscapeという会社を主導としてはじめられた、オープンソースのコミュニティプロジェクトで、Netscapeブラウザのソースコードを開示し、Mozillaという名前の新しいブラウザを作る、というものだった。
だが、Mozillaの開発は功を奏さず、ほとんどがNetscapeの社員が開発しているだけになり、Mozilla 1.0も一向にリリースされなかった。特に、MozillaというWebブラウザは起動も遅く、操作も重く、IEに比べて操作性が悪かった。NetscapeはAOLに買収される。だが、Mozilla.orgはコミュニティによるプロジェクトとして、引き続きMozillaの開発は続いた。
MozillaはWindowsやLinuxなどで動くクロスプラットフォームなブラウザであり、LinuxユーザーやWindowsパワーユーザーなどに一定のシェアを集めた。
当時のMozillaの印象は、「日進月歩」に開発されるブラウザというイメージだった。メタリックな独特なテーマをしていたこともあり、「Mozillaを知っている奴は普通の人間じゃない」的な「ハッカーの標準ブラウザ」のような印象だった。
当時はMozillaとNetscapeが連携しており、Mozillaをオープンソースで開発し、リリースしながら、そのソースコードを用いてNetscapeも同時にリリースされる、というものだった。
当時はOperaというライバルも存在していた。Operaは広告をつけた無料のブラウザで、独自のレンダリングエンジンを搭載していた。IE/Mozilla/Operaのどのレンダリングエンジンが一番標準に準拠しているかを競っていた。
後日注記:新しいレンダリングエンジンGeckoを開発するなど、Mozilla.orgは必ずしも何も生み出せなかったわけではない。
Mozillaは、操作性の悪さや動作の重さを改善するために、Webブラウザだけを切り離した軽量ブラウザPhoenix(のちに名前をFirebird/Firefoxと改称)と、メールクライアントだけを切り離したThunderbirdを開発した。軽量さを保つために、多機能性をやめ、機能は拡張機能(エクステンション)を導入することで拡張されるようになった。しばらくは並行してMozillaも開発されたが、しだいにFirefoxへと開発の主体が移っていった(Mozillaの開発はされなくなる)。また、MozillaやコミュニティによってFirefoxの普及活動が行われた。
New York Timesに大型広告を載せるなど、当時のMozillaの熱気はとても強かった。それは、IEの開発が停滞していたこともある。IEは今でこそタブブラウザだが、昔はタブをつけておらず、日本ではIEコンポーネントを使ったたくさんのタブブラウザが開発されていた。シンプルなIE6はシェアも大きく一定の人気があったが、SleipnirやDonutなどの使いやすく高機能なタブブラウザをインストールする人も多かった。そして、IE/Mozillaだけではなく、当時のインターネットやWebはとても栄えていた。PHPによるブログなどのインタラクティブなWebサービスを「Web 2.0」と呼び、オープンソースもその中に含まれることもあった。
だが、一向にIEに競争で勝てる気配はなく、Google Chromeなどの登場もあり、現在は日蔭ブラウザに戻ってしまった気配がある。
またMozillaのXML/JavaScriptによるインターフェース技術であるXULも廃止されつつある。
Firefox Quantumという高速化・軽量化したバージョンもリリースされているが、Chromeなどに比べて起動速度などは遅いままである。
Mozilla Firefoxを参照のこと。
Mozilla Thunderbirdを参照のこと。
XULを参照のこと。
GeckoはMozillaのレンダリングエンジン。Web標準への準拠の度合いが高いが、最近はGoogle ChromeやSafari(AppleのmacOS/iOSなど用ブラウザ)で使われているオープンソースのWebKitに押され気味である。
Wikipedia
ソースコード
XULはXMLでGUIウィジェットを描画する技術。Mozillaアプリケーション本体の開発や拡張機能に使われるほか、XULアプリケーションを実行するランチャーのようなものもある。
MozillaのJavaScriptエンジン。
JavaScriptも参照のこと。
Microsoft COMと同様のクロスプラットフォームなコンポーネントモデル。Mozillaで開発されている。
C++, JavaScript, Java, Pythonなどの言語で使用でき、XPIDLという名前のIDLの方言でインターフェースを記述する。WindowsだけではなくLinuxやmacOSでも動作する。
既に古い技術であり、現在のFirefoxの拡張からXPCOMを使うことはできない。
後日注記:XPCOMはクロスプラットフォームかつオープンソースなMicrosoft COMのMozillaによる実装である。
Windowsプログラミング(ATL/COM)も参照のこと。
2023.07.03編集
Mozillaによる新しいプログラミング言語。エンジニアを中心に大人気である。
Rustも参照のこと。
MacでGeckoを用いたWebブラウザ。
Wikipedia
昔のMozillaのインターフェースをした統合ブラウザを保守するプロジェクト。
実際のところ、SeaMonkeyは昔のMozilla/Netscapeのブラウザのまま、Firefox ESRのコードベースに追従している。面白いプロジェクトである。
Firefox OSは一時期モバイル業界をにぎわせていたスマホ向けのOSで、僕はけっこう興味深いと感じていた。
たとえば、Firefox OSでは全てのアプリがWebページ。ページを実行することでアプリを実行できる。
今では、B2G OSとして提供が行われている。
バグを共有するWebシステム。プロジェクト管理ツールやプロジェクト・ホスティングを参照のこと。
以下のリンクが参考になります。
WebKit埋め込みも参照のこと。
Mozillaという名前は「ゴジラのパクリではないか」と言われることが多いが、たぶん違う。Netscapeの愛称がMozillaであり、Mozilla.orgの発足の時にブラウザ名として名づけられた。
むしろ、ブラウザ史的に言えば、一番オリジナルに近いブラウザだと言えるかもしれない。
Linux版のMozilla FirefoxはGTK+には対応しているが、Qtには対応していない。よって、KDEアプリケーションと見た目が違ってしまう。LibreOfficeなどはGTK+/GNOMEもKDEも両方のルック・フィールに対応しているが、KDEでブラウザを使いたい時はKDEの有名なWebブラウザであるKonquerorを使うことがおすすめである。KonquerorはKHTMLという独自のHTMLレンダリングエンジンを持っており、これからAppleなどがWebKitを派生させた。よって、KHTMLもある意味オリジナル的である。
GNOME 3は使えないなどと酷評されていますが、それでも、ターミナルとMozillaが動けば、大抵のことは何とかなります。
ターミナルとMozilla、これがLinuxデスクトップで使う主なアプリケーションです。まさに、ショボいものです。
日本のユーザーは、日本語入力環境ぐらいを整備すれば、あとはデフォルトのFirefoxとターミナルで何とかなります。
ただ、僕が使った感触では、LinuxのMozilla Firefoxは日本語のサイトを英語で表示してしまうなど、馬鹿みたいな点があります。
僕はWindowsでもMozillaを使いますが、ブックマークが同期できるなどの特徴は良いと思います。
Firefoxが分岐する前、昔の古代人ハッカーたちはNetscapeによるメタリックインターフェースのMozillaを使っていた。
現在では、Mozillaというブラウザは無くなったものの、SeaMonkeyというMozillaを引き継いだプロジェクトが存在する。だが、どこまで最新の内容に追従しているかは定かではない。
昔のMozillaを知らない方は、Google検索で「Mozilla 1.8」などと検索すれば画像が見れる。昔は劣ったインターフェースだったが、あのころの方がオープンソースも面白かったし、今のFirefoxのインターフェースはChromeなどを模倣した結果つまらないものになっている。ここらで一発「昔のMozillaに戻します」的な動きが起きれば良いのになと思う。
僕は最近、Mozilla Firefoxをメインブラウザにしました。Windowsでも、AndroidでもFirefoxを使っています。
二段階認証もして、セキュリティも万全です。また、検索エンジンにはDuckDuckGoを使っています。
僕の多くの時間は、Mozilla Firefoxとサクラエディタを使ってホームページを更新しています。また、WinSCPとRealSyncと7-zipをFTP更新とバックアップに使っています。
他には、音楽を聴いているだけです。前はYouTubeから聴いていましたが、最近は家入レオのCDを買ったため、AndroidやiPodから聴いています。
快適で現代的なIT生活を送っています。
2019.11.18追記:DuckDuckGoを使うのはやめました。DuckDuckGoを使っていると、Firefoxがたまに不正停止することがあり、はてなブログの編集機能もおかしくなることがあります。
Mozillaは、Googleとは仲間であると同時に敵です。
Googleは独自のWebブラウザGoogle Chromeを開発していて、Mozillaとは競合関係にありますが、以前はFirefox向けのGoogle公式ページを用意するなど、Mozillaに対して友好的でした。
ですが、最近では、Firefoxユーザーに対して、Googleサービスの速度や性能を不当に制限するなど、Mozillaとは仲が悪くなっています。
同時に、Mozillaの方も、Googleによるトラッキングやユーザーの追跡をブロックするなど、両者の中は次第に険悪になってきています。
Googleはトラッキングと広告で莫大な利益を上げていますが、YouTubeには広告を見たくないという方もたくさんいます。Mozillaでは、拡張機能を導入することで、YouTubeの広告を完全にカットできます。
両者は仲の良い盟友であると同時に、敵対的な関係を持っています。最近はMicrosoftのEgdeがChromiumベースになってLinuxで動くようになるらしいなど、情勢は常に変わっています。
Googleも参照のこと。
僕が思うことは、昔のNetscapeとMozilla Suiteの時代がよかった、ということです。
昔、Firefoxがまだなかった頃、Netscape/AOLはオープンソースのMozillaの商用版をNetscapeという名前で製品化していました。
オープンソースのMozillaに対して、Mozillaをベースにした商用版のNetscape、といったように、両者は区別されながらどちらもリリースされていました。
あの頃の、メタリックなデザインだったMozillaとNetscapeが僕は好きでした。
当時のMozillaは、残念ながら安定しているとはあまり言えない「重たくてのろいもっさりしたブラウザ」でした。そのため、軽量化するためにブラウザ部分だけを切り離したFirefox(昔の名前はFirebird)が派生したのです。
その後のFirefoxも、残念ながらみんなに受け入れられたブラウザとは言えません。国産のSlepinirなどと比較して、Mozillaのプロダクトは何かが独自性が強すぎて、よく言えば個性的ですが、悪く言えばまるで「独自の左翼的フリーソフトの雰囲気のするブラウザ」であり、Windows標準のIEには太刀打ちできていませんでした。
結局、今でもFirefoxはGoogle Chromeなどに比べて完全に負けています。MozillaにはなんとかしてMozilla勢力を増やしていってほしいと思います。
2023.08.16
Mozilla.orgはNetscapeがMicrosoftにブラウザ戦争で負けた結果、Netscapeブラウザをオープンソースにして存続させるために生まれた。
レンダリングエンジンGeckoなどを開発。
しかしながらなかなか安定バージョンがリリースされず、また多機能なインターネットスイートだったため「重い」ということがネックになった。
Mozillaはブラウザだけを取り出して軽量化したMozilla Firefox(以前はPhoenixとかFirebirdとも呼ばれていた)と、メーラだけを取り出したMozilla Thunderbirdをリリース。
ブラウザは極力たくさんの機能を標準で搭載せず、拡張機能によって拡張できる形に。
重い原因はブラウザの巨大さだけではなく、ブラウザUIをXMLとJavaScript/CSSで記述するXULにも問題がある。
ブラウザとしての標準化度合いはIEよりも高く、一時期は標準化によって普及するかのように見えた。
いろいろとムーブメントはあった(NY TimesにFirefoxの広告を載せるなど)が結局流行らず、Google Chromeなどに負けている。