技術および政治的な紛争を沈静化させたGIMPファイルフォーマットのドキュメント化の功績

GIMPファイルに関する仕様がようやくドキュメントの形式でまとめられた。フリーソフトウェア系のイメージエディタに対しては、そのネイティブなイメージフォーマットであるXCFに関する公式ドキュメントの不在が、長年の批判の対象とされてきた。今回この問題が再燃したのは、互換用グラフィックフォーマットとして提案されたOpenRasterに関する検討から偶発的な飛び火を受けたというのが発端だ。この問題は既に沈静化しているが、その際に独立系開発者の1人が放置されていた課題に正面から取り組むことを決意し、その成果を万人にとって利益となる形で公開してくれたのである。

そもそも今回の一件は、GIMPプロジェクトの外部に位置する一部の人々が感じた、XCFは意図的に秘匿されているのではないかという疑惑、あるいは同プロジェクトのメンバは外部の開発者を排除しようとしているのではないかという疑念を提示したのが事の発端であった。GIMPプロジェクト側の開発者はそれは真実ではないと反論し、XCFはソースコード中にドキュメント化されており、その点に関してはいくつかの外部プロジェクトによる支持も受けていると説明した。

ある意味当然のことではあるが、先の説明における「ソースコード中にドキュメント化」というのが、はたしてドキュメント化のあり方として適切なものであるのかという点については答えが濁されていた。RFCと比較した場合、その形態の利便性の悪さは明白であるのだが、その一方で、ドキュメントを必要とする人間がソフトウェア開発者であれば、確かにそれで充分だと考えられないこともないからだ。

GIMPの開発者たちはまた、彼らが外部の人間を排除しようとしているという非難は誤解であると訴えた。確かに彼らがXCFに関する質問を受けた場合、新規プロジェクトにおける採用の見送りを勧めるのが通常であったが、それは対立プロジェクトに手を貸すのを渋ったからではなく、このフォーマットは取り扱い上の難点が多く(デザインに互換性が織り込まれておらず、GIMPの内部構造と密接に絡み合った構成になっている)、また開発サイクル的にもGIMPの次回メジャーアップデートでの置き換えが予定されていたからだ。

いずれの理由も事実を語っていたのではあろうが、それと同時に、今現在XCFを必要とするソフトウェア開発者たちのニーズを考慮していなかったのも事実であった。確かに、取り扱い上の困難というのはファイルフォーマットの採用を見送る上での1つの要素にはなるが、互換性ファイルフォーマットとは取り扱いが簡単だという理由で選定される性質のものではなく、必要性があるから実装されるのであって、取り扱いが簡単か困難かは決定的な要因とはならない。また今日のソフトウェア開発プロジェクトに携わる人間でGIMPの将来計画を重要視する者はいないだろう。将来的にXCFが廃棄されるとしても、それは明確なタイムラインが設定されている訳でもなく、また現行のGIMPコードの開発が停止してもレガシー系ファイルはかなりの期間使用され続けるはずだからである。

フォーマット仕様のドキュメント化の必要性

こうした問題に関する熱のこもった議論が展開された後、具体的な行動に出たのがHenning Makholm氏であり、同氏はGIMPにおけるXCF処理用コードに関して自身が有していた知識を基にして、1つの仕様書をまとめ上げたのである。

Makholm氏は、xcftoolsという.XCFファイルを読み込んで他のフォーマットに変換するためのコマンド行形式ユーティリティ群の作成者であり、その開発過程において、こうしたフォーマットの内部構造を直接解析する必要性に迫られていたのであった。同氏は、最初の草稿をGIMP開発者用のメーリングリストに掲載し、その後に寄せられたフィードバックを基に仕様書の修正と更新を施した。この作業は現在も継続中であるが、すでにGIMPプロジェクトは、感謝の念と共に、この仕様書を公式ドキュメントの1つとして追加している。

こうしたフォーマットのドキュメント化が実用レベルでもたらすメリットを挙げるならば、1つはGIMPチームのメンバが外部との協力に無関心ではないかという疑惑の再発を抑制するであろうこと、もう1つは.XCFファイルの読み書きを行うSeashoreおよびKritaなどのプロジェクトに対して確実に恩恵をもたらすことだ。その一方で今回の試みからは、いくつかの教訓を引き出すこともできる。

1番目の教訓は、データ構造およびファイルフォーマットに関する公式ドキュメントの存在は、とてつもなく重要な価値を有しており、そうした厳然たる事実の前には、どのような否定意見も論理的な反論も意味をなさないということだ。確かに、XCFの公式な仕様が用意されていない事態についてのGIMP開発陣による説明はすべて真実を述べているものであった。XCFは互換フォーマットを意図して作られたものではなく、現在進展中のGIMP内部構造の変更の影響を受ける可能性が強く、将来的には他の規格に置き換えられる予定なのであるから。問題は、これらの事実はいずれも外部開発者の要求を解消するものではないという点だ。というのも、一部のアプリケーションにとって.XCFファイルの読み書きは必須の機能であるが、その実装に関しては巨大な負担を抱え込む危険性があるからだ。特定のソフトウェアプロジェクト内部で(現在および将来にわたって)どのような要件や前提が想定されているかを外部の人間が正確に窺い知ることは不可能であり、そのために必要となるのが公式なドキュメントであるのだから、その不在を肯定するいかなる理由もまかり通る訳がない。一見すると、ドキュメントの不在は些細な問題だと感じられるかもしれないが、その必要性は必ず生じてくるものなのである。

2番目の教訓は、少なくともフリーソフトウェアに関する場合、技術的判断に基づく決定であっても、それは何らかの政治的な余波を引き起こすということである。それは、プロプライエタリ系ソフトウェアとは異なり、フリーソフトウェアの世界ではすべての参加者が同じ土俵に立っており、全員が同等の扱いを受ける権利を有していると見なされているからだ。GIMPチームによる、XCFの互換性は特別検討に値するものではないという見解は、たとえそれが純粋に技術的な判断に基づく主張であったとしても、外部の人間から見れば攻撃的で異論の余地のある意見に過ぎない。今回の騒動は、OpenRasterをめぐる動きの中で偶発的に発生したものではあるが、再発的に繰り返される誤解に基づく争乱の一例でもあるのだ。

ここで見た紛争の場合、グラフィックス系フリーソフトウェアのコミュニティはすぐさま調和を取り戻したが、すべての意見対立が短期的に解決されるとは限らない。フリーソフトウェアの開発者ならば、その名前を出すだけで政治的な論争や騒動を引き起こすであろうプロジェクトやトピックを、誰でも1つや2つ直ぐに思い浮かべることができるだろう。それは悲しむべき事実ではあるが、この種のコミュニティが活動してゆく上で避けては通れない代償の1つなのだ。

今回の一件についてみれば、論争は一段落したよう思われる。Henning Makholm氏の果たした貢献については、XCFの仕様をドキュメント化したことで多くの人間が恩恵を受けられるという技術的な功績はもとより、開発者による各自のフリーソフトウェアへの思い入れが強すぎるがゆえに忘れられがちな相互協力の理念をよみがえらせてくれた点にも触れなくてはならないだろう。

NewsForge.com 原文