Mozilla は、実験的な Servo ブラウザ エンジンの開発中ビルドを夜間に公開し、誰でもプロジェクトの進捗状況を追跡できるようにしました。
開発者でなくても、macOSとGNU/Linux用の実行ファイルはここからダウンロードして試用できます。開発者の方は、オープンソースエンジンのコードをダウンロードして、ゼロから構築したり、バグを修正したり、開発に貢献したりすることができます。
現在、このソフトウェアはまだ開発段階にあり、HTMLで構築された非常にシンプルなユーザーインターフェースを備えています。実用的なウェブブラウザというよりは、むしろ技術デモに近いものですが、MozillaはServoをFirefoxのGeckoエンジン内の様々なコンポーネントの後継として売り込んでいます。
「私たちは、Servo のエンジンとテクノロジーを既存の Mozilla 製品に組み込むためのさまざまな方法を模索しています」と、Mozilla の Servo プロジェクト リーダーである Jack Moffitt 氏はThe Register に語った。
特に、Mozilla プラットフォームチームと協力して、Servo のコンポーネントを Firefox の Gecko エンジンに組み込む作業を進めています。長期的には、Servo が Firefox と将来の Mozilla 製品の両方に重要な改善をもたらすことを期待しています。
Mozの広報担当者は、「ServoをGeckoの代替としてではなく、並行して使用することが常に意図されていた」と付け加えた。
重要なのは、ServoがRustで書かれていることです。RustはMozillaが開発した、よりセキュアなC言語に似たシステムプログラミング言語です。GoogleにGo言語があるとすれば、MozにはNo言語、つまりRustがあります。Rustは、悪用可能なセキュリティバグにつながるよくあるミスをプログラマーが犯さないように徹底的に取り組んでいます。文字通り「止める」という意味です。コンパイラは危険なコードが存在すると判断した場合、アプリケーションのビルドを停止します。
Rustは安全性と速度に重点を置いています。安全機構は言語設計に組み込まれているため、セキュリティ対策は実行時には影響しません。例えば、Rustの変数には所有者と有効期間があり、別の所有者が借用することができます。ある所有者が変数を使用している間は、別の所有者はその変数を使用することはできません。これは、メモリの安全性を強化し、スレッド間のデータ競合を防ぐのに役立つと考えられています。
また、プログラマーは立ち止まってソフトウェアの設計について考える必要に迫られます。Rust は初心者が手に取ってすぐにコードを書き出せるようなものではありません。
これは、Rustコードにおけるセキュリティバグの減少を意味し、Servoにとっては、潜在的に悪意のあるデータを常に処理しなければならないアプリケーションにおける、悪用可能な脆弱性の減少を意味します。Servoは、free()
他のソフトウェア、特にブラウザとそのプラグインに見られるuse-afterバグやバッファオーバーフローバグを回避し、ユーザーにインターネットへのより安全なアクセスを提供することを目指しています。
ちょっとした問題として、Servo は C/C++ で記述された Mozilla の SpiderMonkey JavaScript エンジンに依存しています。そのため、HTML レンダリングエンジンはセキュアな Rust コードを実行しますが、JS エンジン内では何も問題が起きないことを祈ります。
毎日の Servo ビルドは macOS と Linux で利用可能で、Windows と Android のバージョンも間もなく提供される予定です。
Regによる予備レビューでは、OS X版は正常に動作することが確認されていますが、ブラウザ上のボタン、キーコマンド、そして比較的人気の高いYouTubeやFacebookといった重要な機能はまだ完全には…ええと…動作していません。Mozillaはおそらくリリース前にこれを修正するでしょう。
El RegのトップページはほぼOKです
姉妹サイトThe Next Platformも素晴らしい
Rust Redditページも期待通りにレンダリングされます
Amazon.comは完全にダメだ
ニューヨークタイムズのホームページは、ブラウザがページに必要なすべてのグラフィックを表示できなかったにもかかわらず、正常に表示される。
eBay.comは驚くほどうまく機能している
Servo にはかなりハンサムな柴犬の「Doge」アイコンがあるので、少なくともその点は有利です。
まさに迎合的。まさにバンドワゴンだ
「Servo Web レンダリング エンジンのナイトリー ビルドが利用可能になりました」と、同プロジェクトは先週末のブログで発表した。
Servoエンジンの操作性を向上させるため、HTMLベースのブラウザUIをバンドルしています。エンジンはまだ完全なWeb対応ではありませんが、より多くのユーザーにServoを試用し、貢献する機会を提供したいと考えています。®