Monday, October 3, 2016 5:00AM to 11:00AM (UTC) Schedouled down time to change site domain

Linux版Flash 9遅延の理由

Linux版Flash 8はついに登場しなかった。なのに、Windows版とMac OS X版はFlash 9安定版がすでにリリースされている。そして、今漸くリリースされたFlash 9はまだベータ版だ。Linux版Flash 9は、なぜ遅れているのだろうか。Adobeのエンジニアリング担当シニアディレクターPaul Betlemは、次のように説明している。

Linux版Flashが遅れている原因は幾つかある。中でも、サウンドやビデオやタイプに使うライブラリーがLinuxディストリビューションごとに異なるため、単純に移植できない点が大きいという。

「ディストリビューションによって、(ライブラリーの)バージョンが異なります。当社としては、できる限り多くのディストリビューションや構成で使えるようにしたいと考えていますから、そうしたライブラリーの違いをある程度吸収し、一貫性のあるクロスプラットフォームのランタイムにする必要があります。これが最大の難関だったと思います」

Linux Standard Base(LSB)も問題の解決には役立たなかったという。その一因は、FreetypeやSecure Sockets Libraryなど、必要なライブラリーの多くがLSBに含まれていないこと。しかし、「(LSBは)改善の方向にありますし、当社の要請に対して非常に前向きです。……統一的な環境を作り上げる潜在力は大いにあると思います」

ブラウザーのサポートも問題だ。Firefoxは、Linux版、Mac OS X版、Windows版の各ビルドに相違がある。したがって、FlashプラグインをLinuxに移植する場合、そうした違いも考慮しなければならないのだ。

そして、テスト。「すべての構成とオプションをテストしようと思えば、作業量は膨大になります」

Flashはクロスプラットフォームとして作られているため、コードの移植自体は難しくない。問題は、プラットフォームごとに異なる最適化にあるという。SSE1とSSE2を正しく最適化するためには「個別の作業」が必要であり、「GCCに適切な動作をさせる」という問題があったという。

しかし、その苦労は報われそうだ。一部では「Windows版を十分上回るパフォーマンス」を示しており、現在Windows版に劣る部分の調整に当たっているところだという。

Adobeは64ビットLinuxプラットフォームをサポートしていないが、これを訝しむユーザーは多い。32ビット・プレーヤーは64ビット・システム上でも動作するが、それには32ビット・ブラウザーの使用が条件になる。Ubuntuなど64ビットFirefoxを同梱しているディストリビューションを使っているユーザーにとって、これは好ましいことではない。BetlemはFlash 9の64ビット・ネイティブ版の提供を「確約」したが、出荷時期については「近々」と述べるにとどまった。

x86やAMD64版Linuxのサポートに手こずっていることから、Gnashなどの活動を支援する考えはないのかとBetlemに尋ねてみた。Gnashは、Linuxが対応しているあらゆるプラットフォーム向けにフリーソフトウェア版のFlashプレーヤーとプラグインを制作している。どのみち、Flashプレーヤーとプラグインでは、さしたる収益はないのだ。これに対して、Betlemは「オープンソース活動には、もちろん、敬意を払っており、高く評価もして」いるが、Flashだけを扱うプロジェクトには関与しないという。それは利益の抵触を避けるためであり、「一貫性のあるランタイム環境を計画的に提供」するためだという。また、PowerPCなどのLinuxハードウェア・プラットフォームのサポートは、ハードウェアごとに最適化する必要があるため、再コンパイルすれば済むというような単純なことではないとも指摘した。

ここで、朗報を一つ。今後はLinux版が置いてけぼりになることはなさそうだ。Flash 10については「Windows版、Mac版、Linux版を同時にリリースする」計画だと、Betlemが明らかにしたのだ。現時点でFlash 10の日程は公表されていないが、今後のリリースでLinux版とWindows版とMac版が同等に扱われるというのは喜ばしいことである。

Linux版Flash 9の最終リリースは2007年第1四半期の予定。「第1四半期の前半」になるだろうという。

NewsForge.com 原文