ライセンス両立性の罠

DjVu(デジャヴと読む)は、テキストや画像を含むドキュメント向けのファイル形式である。テキストと背景画像のレイヤー分離や高速な表示、圧縮率の高さを特徴としている。1996年、AT&Tで開発された。

すでにお気づきの方もいるように、DjVuはAdobe PDFへの対抗馬として世に送り出されたものである。実際、DjVuは多くの場合、同じドキュメントからクオリティを落とさずにPDFよりも小さなサイズのファイルを生成することができる。DjVu開発者による比較では、PDFで1.14MBだったファイルがDjVuでは0.88MBになったそうだ。PDFより約25%も小さなファイルを生成できた、ということになる。視認性も往々にしてPDFより高い。2002年にはFlip BookやPDFと並びInternet Archiveの公式フォーマットの一つに採用されたし、米名門誌The New Yorkerの全バックナンバーを収めたDVDではファイル形式としてDjVuが採用された(japan.internet.comの記事)。最近だとOLPCの公式文書フォーマットにもなったので、そちらで初めてDjVuの名前を耳にしたと言う方も多いかもしれない。実は現在DjVuの権利を持っていて商用利用を進めているのは日本の会社セラータムなので、いくつかの日本の政府機関や企業などでも使われているようである。

なんだかんだ言ってAdobeにがっちりコントロールされていて、一皮剥くとnon-freeなあれやこれやが剥き出しとなるPDFと違い、DjVuは完全に自由なフォーマットであるということも、私のようなフリーソフトウェアの支持者にとっては大きなメリットだ。仕様もリファレンスライブラリも公開されており、特許の問題もない。GNU GPLが適用されたフリーの実装、DjVuLibreも存在する。スタンドアロンのブラウザや各種ウェブブラウザ向けのDjvu表示プラグインなども一通り揃っている。また、私たちCJK言語圏に住む人間にとっては、Adobeのnon-freeなCMapだのなんだのが常に付きまとうPDFと違い、文字の表示にフォントを必要としないというのもメリットであろう。

こうして見てくると、今頃は世の中の文書の8割くらいがDjVuになっていてもおかしくないわけだが、残念ながらDjVuの知名度は現在でも非常に低く、世にあるドキュメントの圧倒的多数はPDFである。こうなった理由はもちろんいろいろあるが、その一つはライセンシングの問題だったと私は思う。それも、実にくだらない。

現実問題として、今は言うに及ばずDjVuが登場した時点でも、この世に存在する多くのドキュメントはPDFあるいはPostScript形式であった。よって、PDFなりPSなりからDjVu形式に変換するユーティリティが必要となる。この用途のために開発されたのがDjVuDigitalであった。DjVuDigitalは、当時DjVuの商業展開を行っていた(そして後に先ほど出てきたセラータムに買収された)LizardTech社が開発したものである。

このDjVuDigitalは、バックエンドとしてGhostscriptを使う。というより、Ghostscript自体に手を入れてDjVuを吐くドライバを追加したものを呼び出すというのがその実態である。このドライバ部分はAT&Tが開発したもので、GSDjVuと呼ばれている。

DjVuDigitalそのものは2004年、LizardTechからDjVuLibreプロジェクトに寄贈され、フリーソフトウェアとなった。GSDjVuもやや遅れて2005年、AT&Tからフリーソフトウェアとして公開された。話だけ聞くと万々歳のように見えるでしょう、ところがそうでもなかったんだな。

DjVuDigitalはDjVuLibreの一部となり、GNU GPLの下で公開されている。よって、こちらには何の問題もない。問題はGSDjVuのほうで、どういうわけかAT&Tはこれを、IBMのCommon Public License Ver. 1.0 (CPL)の下で公開してしまったのである。

CPLは確かにOSI認定のオープンソース・ライセンスだが、特許の扱いや準拠法に関してGPLとぶつかる条項を含んでいるため、GNU GPLとは両立しない(incompatible)。よって、GPLが適用されたGhostscriptの一部として、GSDjVuを取り込んだバイナリを配布することができないのである。もちろん、ユーザが自分でGSDjVuのソースコードを拾ってきてGhostscriptのソースにパッチをあて、自分の手元でビルドすることは可能だが(Gentooはそうやっているようだ)、面倒なことには変わりがない。当然Debian/UbuntuやFedoraといった有力GNU/Linuxディストリビューションの公式なGhostscriptバイナリパッケージにGSDjVuが含められるということはないし、Ghostscriptの公式なソースコードにGSDjVuが含められるということもありえないのである(Ghostscriptのほうでライセンシングに例外を設けるという手もあるが、Ghostscriptの開発陣は現時点では極めて消極的だ)。DjVuLibreの開発者らは数度に渡ってAT&Tにライセンスの変更を頼んでいるようだが、何せ相手は図体の大きな企業、どうもいろいろなところをたらい回しにされているような気配で、あまり期待できそうにない。最近になって、ようやくGSDjVuを必要としないpdf2djvuのような変換ユーティリティが登場するようにもなったが、DjVu普及の出端は完全にくじかれたという感は否めないのである。

この話が悲喜劇的なのは、GSDjvuが純然たるフリーソフトウェア/オープンソースだということだ。元々プロプライエタリというなら諦めもつくが、フリーソフトウェアであるにも関わらず、ライセンスの問題でまっとうな利用ができないということなのである。こんな間の抜けた話があろうか。Ghostscriptは大概のUnix系OSにインストールされているだけに、もしGSDjVuがGhostscriptにきちんとした形で取り込まれていれば、どのコンピュータでもDjVu形式のファイルが扱えるという状況にぐっと近づいたはずなのである。それは、AT&Tにとってもプラスにこそなれマイナスにはならない状況のはずだ。また、実のところGSDjVuはDjVuのみならずGhostscriptによるPDFの生成や印刷にもプラスになる部分があり、DjVuの普及云々は抜きとしても取り込みたい部分ですらあった。ようするに、AT&TとしてGSDjVuをオープンソースにしたい、しても良いという心持ちがあったのは明らかにも関わらず、不注意のため(おそらく狙ったものではないだろう)全く本質的ではないところでつまづいてしまったということになるのだ。

この話から得られる教訓は、私が思うに二つある。一つは、当たり前だがライセンスは慎重に選べ、ということだ。オープンソースのライセンスといってもいろいろある。変なものを選んでしまうと、元々自分が達成したかった目標の達成など到底おぼつかない。よほど特殊な理由がない限り、GNU GPLかBSDライセンスのどちらかにしておくのが無難というものである。もう一つは、これは教訓というよりはお願いに近いが、企業がオープンソースに乗り出すのであれば、外部からの要望にきちんと反応してくれる人なり部署(私自身はIR、Investor RelationsをもじってHR、Hacker Relationsと呼んでいる)なりを用意して、周知してほしいということである。私自身、いくつかの大企業とこの手の交渉をした/試みたことがあるが、そもそも誰にコンタクトを取ったらいいのかがよく分からないことが多かった。エンジニアのレベルでは知り合いがいないわけでもないが、彼らがこの手のライセンシングに関して決定権を持っていることはほとんどない。逆に法務部などは、そもそも何が問題になっているのかすら分からないことがよくある。何が問題になっているかをある程度理解した上で、話をうまくしかるべきところにつないでくれる人がいると、聞き入れられるにしろ断られるにしろ話がスムーズに進んで非常に助かるのである。今回のケースも、AT&Tの中でちょっと汗をかいてくれる人さえいれば、案外あっさり解決したはずなのだが。