Free Software FoundationとOpenOffice.org、Java問題解決へ

Free Software Foundation(FSF)とOpenOffice.org(OOo)は、OOoの次バージョン2.0のリリースについてJava使用の拡大を議論してきたが、当面の決着がついた。 両者は短期的な解決策で合意し、こうした問題の再発を防ぐため今後も話し合いを続けるという。

今回の件は、フリー/オープンソースソフトウェア(FOSS)の各種コミュニティが膨らみ複雑化したことで起こってきた問題の訓話であるとともに、コミュニティが目指す協力精神が、少なくとも多くの場合においては今も有効であるという証拠でもある。

Javaトラップ

この議論は、OpenOffice.orgバージョン2.0ベータにJava依存の機能が含まれていたために持ち上がった。まず、3月初めにNewsforgeのレビューでこれが報じられると、非常に大きな反響があった。そこで次の記事で、Java依存の拡大が主に実際的な理由から決定されたこと、反対者の言い分、主要ディストリビューションの対応などが解説された。この記事は、最初のレビューより一層大きな反響を呼んだ。そして今度は、Christian Engfeldt氏が 3番目の記事を書き、その中で、Sun Microsystems社の最高技術推進者Simon Phipps氏はJava依存の拡大を擁護した。

一方、Richard Stallman氏は4月初めにこの状況を知った。Stallman氏はずっと以前からこれを”Javaトラップ”として次のように警告していた。

プログラムがフリーソフトウェアなら基本的には倫理にかなっている。だが、気を付けなければならない落とし穴がある。プログラム自体はフリーでも、それが依存する非フリーソフトウェアに制限される場合があるということだ。現在、この問題が最も顕著なのがJavaプログラムであることから、私たちはこれをJavaトラップと呼んでいる。

5月6日、Free Sofware Foundationは、OpenOffice.orgのJavaなしバージョンの保守を手伝うボランティアを募集した(その後変更)。これを受けて、Steven J. Vaughan-Nichols氏が4番目の記事を書き、OpenOffice.orgはフォークするだろうと想定した。

フォークを想定したのはVaughan-Nichols氏一人だけではない。一連の記事への反応を見る限り、一部ではフォークは支持されていたようだ。実際、Stallman氏も当初からフォークの可能性を考えていた。ある電話インタビューで、Stallman氏は、最初に考えたのが「OpenOfficeのコードでSunのJavaプラットフォームに依存している部分を書き直す」ことだったと話している。

OpenOffice.org支持者たちの中にもこれを慎重ながら歓迎した人々がいる。OOoの共同マーケティング・リードJohn McCreesh氏は、今も議論の対象になっているあるマーケティングプランでは OOoをブランドごとに分割することが推奨されていると話し、「FSFの今回の決定はよかった」と話した。同様に、OpenOffice.orgの前マーケティング・リードSam Hiser氏も、「OpenOffice.orgのコードはそのように開発するのが健康的です。OOo内のJavaはほとんど間違いなくプロプライエタリ依存であり、長期的に見れば、プロジェクトにとって重大な問題になる可能性があります」と話す。

一方、そこまで賛成していない人々もいる。OpenOffice.orgコミュニティ・マネージャのLouis Suarez-Potts氏は、この動きに驚きを表し、発表があるまでFree Software Foundationの誰からもそうした問題について連絡はなかったと話した。Stallman氏のJavaトラップの記事については知っていたものの、Suarez-Potts氏はこの発表を過剰反応と受けとめているようだ。「イデオロギーのためのフォークはどうも…、いや、ほかにもっとやることがあるんじゃないでしょうか」と話した。

受け取り方はさまざまだが、5月第1週の段階では、フォークを進める準備は整っているようだ。

論議の原因

この議論が複雑化した原因は、Free Software Foundation側とOpenOffice.orgプロジェクト側がそれぞれまったく違うことばで話している点にある。

OOoプロジェクト内では、Sun Microsystems社が2000年に同プロジェクトのコードをリリースし、現在も同プロジェクトに多くの開発者を提供していることから、一部の例外を除き、Sun社をコミュニティの後援者と見なしている。これに対し、フリーソフトウェア支持者たちは、Sun社、ひいてはOpenOffice.orgに不信感を持っている。これは主に、Sun社がこれまでフリー/オープンソースソフトウェア(FOSS)を支持したり非難したりと一貫性のない態度をとってきた歴史に起因している。たとえば、CEOのScott McNealy氏が、Sun社はオープンソースに「大いに貢献」してきた、 オープンソースを考案したのはSun社であるとまでいっているのに対し、プレジデントのJonathan Schwartz氏は、GNU General Public Licenceを激しく批判している。こうした一貫性のなさは、プロプライエタリとFOSSの中間路線を行こうとする努力と見なすことも、Sun社内の意見の不一致と見なすこともできるだろうが、それよりも、コミュニティ側はこれを信用できない二枚舌の証拠と受けとめている。

「いままで誰もSun社をフリー/オープンソースソフトウェア・コミュニティの味方と思ったことはない」とは、この件に関するNewsforgeの前回の記事に寄せられた最初のコメントだ。また別のコメントは、OpenOffice.orgの新しいバージョンはJavaを「推進」するように設計されており、Sun社が「いずれはなんらかの”知的財産”的影響を主張してライセンス料を引き出そうとしている」、といっている。

OpenOffice.orgプロジェクト側は、自分たちの規模と周りに及ぼす影響の大きさを、いつも認識できていないように見受けられる。たとえば、Louis Suarez-Potts氏は、Java採用の決定は「公的に行い、関係者が参加できるようにした」と強調している。OOoのメーリングリストを検索すれば、同氏の言っていることが確かに正しいとわかる。だが、活動的なOOoボランティアであるScott Carr氏は、多くのメーリングリストを購読し、「毎日1,500通もの電子メールを受け取っている」が、当初この決定を見過ごしたといっている。

Carr氏は、おそらく「全体像を知るための適切なメーリングリストに入っていなかったのだろう」と話す。それと同じことだが、OOoプロジェクトも大きくなり過ぎて、外部の者はおろか、メンバーさえも何が起こっているかすべては把握できないほどだ。意見の一致と見えるものも、実はその議論の存在を知っている者の間だけの合意に過ぎないこともある。プロジェクト内で関心を持っている者全員の賛成意見とは限らない。

ライセンスに加えて依存も考慮

この対立には、ソフトウェアの自由についての解釈の違いがある。OpenOffice.orgリーダーの多くは、FOSSを完全にライセンスの観点のみから定義付けているのに対し、フリーソフトウェア支持者たちは、依存のことも考えている。たとえば、Suarez-Potts氏は、OOoの新しいBaseアプリケーションで使用されるデータベースHQSLDBには、BSDから派生したライセンスがあり、SourceForgeでホストされていると話す。「Javaで書かれているからといって、ソースがクローズドだったりプロプライエタリだったりするわけではありません」とSuarez-Potts氏は断言する。さらに、OOo全体は「…オープンソースのままです。オープンソース/フリーソフトウェアとは、簡潔にいえば、ソースがどのユーザにもオープンで、閲覧、コピー、改良できるソフトウェアのことです。実行もです。OOoのソースはオープンであり、これからもそうあり続けます」と話す。

このような観点では、ソフトウェアの自由の定義は二者択一である。つまり、ソフトウェアはフリーであるかそうでないかのどちらかだ。

これに対し、フリーソフトウェア支持者たちは、第三の状態もあるとする。ソフトウェアそれ自体はフリーだが、完全に機能するには非フリーソフトウェアを必要とするソフトウェアだ。Stallman氏はJavaトラップの説明で以下のように述べている。

プログラムの依存ソフトウェアが非フリーである場合、そのプログラムの一部または全部は、完全なフリーシステムとして実行できないことになる。フリーワールドでは使用不可能になる。もちろん、プログラムを再配布することはできるし、自分のコンピュータに入れることもできる。だが、実行できなければどうしようもない。そのようなプログラムはフリーソフトウェアではあっても、それが依存する非フリーソフトウェアに事実上縛られている。

フリーソフトウェア支持者たちにとっては、この第三の状態は、せいぜい非フリーソフトウェアよりかろうじてましというだけである。だが、多くのOpenOffice.org活動家たちがこの第三の状態を認識していなかったようなので、プロジェクトメーリングリストで行われた議論は初めは互いに混乱を招くばかりだった。Stallman氏が最初にボランティアを募集したときの反応も、初めは何の解決にもなりそうになかった。

解決策

話し合いの糸口を作ったのはScott Carr氏の功績だ。OpenOffice.orgのボランティアを長くつとめたCarr氏は、現在はドキュメントとQAの共同リードで、ほかにもWordPerfectフィルタの作成など、プロジェクトのさまざまな部分に携わってきた。Carr氏には、OpenOffice.orgに関する記事へのコメントを読む習慣があるという。Vaughan-Nichol氏の記事へのコメントのいくつかを見て、同氏は「ひどい」と思った。OpenOffice.orgから即時に回答がなかったため、同氏は「話し合いのきっかけとして」Richard Stallman氏に非公式の電子メールを送り、Louis Suarez-Potts氏をCCに入れた。

Carr氏はそのメールで、Suarez-Potts氏らが非公式に出したコメントを引きながら、同プロジェクトがFree Software Foundationからの貢献を歓迎すると書き、Sun社の実績を擁護した。メールの最後に、「どうしたらOOoコミュニティとFSFの関係改善の手助けができるか教えてください。いくつものフォークを作るより、OOoそのものに従事する者全員で1つのよりより製品を作れたらと思っています」と書いた。

ボランティアを募集して数日で、Stallman氏はGNU Compiler for Java(GCJ)を使ってOpenOffice.orgをコンパイルする努力がうまく行きそうだと知った。そして、ボランティア募集をその仕事の続行支援の要望に変更した。Stallman氏はCarr氏のメールへの返信に以下のように書いた。

私たちに必要なのは、しっかりしたOpenOfficeを配布することであって、非フリープログラムの使用を促進することではありません。OpenOfficeの開発者がこのポリシーを持って自分たちのプログラムを維持しようとするなら、それが理想でしょう。最近まで私はそうなっていると思っていたのですが、そうではないようです。現在のポリシーでは、何かを実装するのに近道だいうだけで、すべてのOpenOfficeリリースが非フリープログラムに依存することになりかねません。

Stallman氏は、FSFは、Javaより何かほかのプログラミング言語が適切だといっているわけではなく、ただ、すべてのJavaコードがJavaのフリー実装と互換性があるという保証が必要なだけだと説明した。Carr氏と話し合った後、Stallman氏は、Free Software FoundationはGCJ活動の拡大に集中すると話した。また、Carr氏は、FSFがOOoのプログラミングだけでなくQAにも参加し、フリー版Javaで実行できない機能をバグとしてレポートすることを提案した。Carr氏自身もそうしたテストに参加するといい、またOpenOffice.orgプロジェクトのリードたちや開発者たちからの正式な回答を得るために尽力すると申し出た。

正式な回答はまだのようだが、非公式といえ、この合意はOpenOffice.orgのリードたちから大いに歓迎されている。「敵対する必要はないのです」とSuarez-Potts氏は書いている。「今わたしたちがやっていること…それはOOoがどのようにJavaを使用するか、どうして、どのようにしてFSFコミュニティがOOoの柔軟性を拡大できるかを明確にすることです」。同様に、Scott Carr氏と話し合った後で、Vaughan-Nichols氏は 続報記事を書き、残るはほとんどがプログラミングの問題だと述べた。

未解決問題

慎重で楽観的な口調ながら、Stallman氏はそれほど断定的ではない。「いくらか進歩しています」と同氏はいう。「OOo開発者に協力できる可能性はあります」。当面の問題が解決したことを喜びつつも、Stallman氏はフリー版Javaと互換性のない機能をバグとして報告するという考えを警戒している。

それだけで信頼性があるとは思いません。そうしようと思えばいつだって間違いはあり得るし、誰か別の者がその間違いに気づいて報告しなければなりません。それは信頼性のあるやり方とはいえません。信頼性を求めるためには、ほかの開発者たちもこれについて考える必要があります。必ず(フリーJavaで)機能するようにしなければならないというポリシーの表明が必要です。OO開発者たちによるポリシー決定が必要です。

Stallman氏は、バグ報告と併せてポリシーを表明することで、かなり確実に問題を解決できるだろうと考えている。Suarez-Potts氏がOpenOffice.orgプロジェクトには既にJavaコード使用に関するガイドラインリストがあると説明しているので、このポリシーは理論的には可能と思われる。だが、OOoプロジェクトがそのポリシーを改訂するかどうかはまだわからない。

Stallman氏とOpenOffice.orgがまだ話し合っていない分野としてドキュメンテーションもある。「つまり、SunからJavaインタープリタを入手するための指示書も付いてくるか、ということです。私たちはもちろん、フリーJavaプラットフォームを使わないように示唆するようなものは使ってほしくありません」。この件は、バージョン2.0のドラフト版のインストールドキュメントでもドラフト版のユーザガイドは問題になっていないようだ。どちらもJavaについてはまったく触れていない。だが、オンラインヘルプとインストールFAQはSun Javaを直接参照しており、なんらかの手直しが必要であることは明白だ。

Stallman氏は代案も検討している。OpenOffice.orgのオフィシャルビルドへのGCJの使用、OpenOffice.orgコードを使ったオフィシャルFSFパッケージ作成、FSFプログラマたちのOOo開発への参加が考えられる。なかでも、新しいプログラマたちの参加は、Suarez-Potts氏のコメントによれば、OpenOffice.orgから歓迎されそうだ。

最終的にどの解決策が実施されるにしても、Stallman氏は断固としてそれを探さけなければならないと話す。現時点ではフォークしなくてよさそうであることに安堵しながらも、Stallman氏は次のように話す。

どんな方法を使っても問題を解決したいと思っています。この件について彼らがこちらとどれだけ協力し合う意志があるかにかかっています。この問題は解決しなければなりません。現在の状況は到底受け入れられません…。協力の意志があるなら、それがコミュニティにとって最善です。

OpenOffice.org内の大規模なコミュニティやStallman氏の決意に対しては反感があるため、解決策を決定して実装しても、また問題が発生することになるかもしれない。それでもいまのところは、少なくとも、両者は協力関係を目指して話し合い、協力し合っている。フリーソフトウェア支持者たちは、良心の呵責を感じずにインストールできるバージョンのOpenOffice.orgを手に入れることができるようになるだろう。

Bruce Byfieldはフリーランスの講座立案者・講師、専門雑誌記者。NewsForge、ITMJ、Linux.comの定期寄稿者でもある。

原文