へそまがりのためのライセンシング(1)

ソフトウェアを使わせたくない? そんなときはどうしたらよいのだろう。

はじめに

先日、次のような質問を受けた。

「あるソフトウェアを特定の人やグループに、あるいは特定用途で使わせたくないのだが、ライセンス的にどうにかならないか」

結論から言ってしまえば、できないこともない。ただ、それなりにいろいろ考えなければいけないことが多く、しかも考えただけの見返りがあるとも言い難いような気がする。いずれにせよ、以下では何を考えないといけないかを簡単にまとめてみることにしよう。

とりあえずざっくり場合分けをしておきたい。この話は、ソフトウェアの著作権を自分が全て持っている場合と、一部しか持っていない場合とに分けて考えなければならないからだ。本稿では、とりあえず前者についてのみ言及することにする。後者まで含めると長くなりそうなので、そちらは稿を改めてまた、ということにしたい。

ソフトウェアの扱いを自分で全部決められる場合

さて、ソフトウェアの著作権を自分が全部持っている場合である。自分で一からソフトウェアを書いた場合、あるいはFSFのように貢献者から著作権の譲渡を受けていて、意志決定が自分だけでできる場合などがこのケースに相当する。

この場合、単に使わせないようにするというだけなら話は極めて簡単だ。最初からライセンスにそう書けば良いだけのことである。たとえば私という個人が嫌いなので使わせたくなければ

「このソフトウェアは、八田真行さんを除き誰でも自由に利用できます」

とでもしておけば良いだろう。

あるいは、徹底した平和主義者なので自分の書いたコードが軍事目的に使われるのには耐えられない、ということもあろう。この場合は、

「このソフトウェアは、軍事目的を除き誰でも自由に利用できます」

とでもすれば良い。この種のものの具体例は、HORBのライセン
である。さらに良く見かけるケースとして、ミッション・クリティカルな用途での利用をあらかじめ禁止するという場合もある。こうすることで、後に何か問題が生じた時の訴訟リスクを減らしたいということなのではないかと個人的には思っているが、もしかすると違う理由があるのかもしれない。いずれにせよ、このようなときは、

「このソフトウェアは、原子力施設や病院における生命維持装置等の制御などミッション・クリティカルな用途を除き誰でも自由に利用できます」

などとする。こちらの具体例としては、Julius
を始めとしたIPAがらみのソフトウェアがある。

私が思うに、この種のライセンシングにはプラクティカルな意味では問題があると思う。ようするに不便だということだ。倫理的な意味では、私はさして問題があるとは思っていない。著作権者がどのようなライセンスをソフトウェアに適用しようと、それは彼ないし彼女の勝手だからである。しかし、作者ないし著作権者の都合で、利用者にとって(そして、おそらく究極的には作者にとっても)不便なライセンシング形態を設定してしまう前に、まずはそうするだけの価値があるか、あるいは、そうすることで本当に当初の目標が達成できるのかについて慎重に検討すべきなのではないだろうか。そこで、次はこういった条件を設けることの是非を少し考えてみたい。

「オープンソース」でなくなる?

今までの議論では、問題となるソフトウェアがオープンソースであるかどうかは明確にして来なかった。ここでは、少なくともオープンソースでありつつ誰かに使わせないということは定義上無理だということをはっきり示しておこう。

「オープンソース」という概念の定義として世界的に広く認められている(というより、そもそもこれが定義そのものなのだが) 「オープンソースの定義」(Open Source Definition, OSD)では、第5項および第6項で以下のように規定している。

5. 個人やグループに対する差別の禁止

ライセンスは特定の個人やグループを差別してはなりません。

6. 利用する分野(fields of endeavor)に対する差別の禁止

ライセンスはある特定の分野でプログラムを使うことを制限してはなりません。 例えば、プログラムの企業での使用や、遺伝子研究の分野での使用を制限してはなりません。

ゆえに、上で示したようなライセンスは「オープンソースの定義」と矛盾する。よって、これらはオープンソース・ライセンスとは言えないし、このようなライセンスが適用されたソフトウェアは(たまにそう自称していることもあるが)オープンソース・ソフトウェアではない。では何なのかと言えば、単に「ソースが公開されたソフトウェア」でしかない。

「でしかない」などと書いたが、これは決してネガティヴな表現ではない。ただ、違うというだけのことだ。そもそも、オープンソース・ソフトウェアでなくなると具体的にどのような不都合があるかと言うと、実のところ大して無いのである。開発に際して、たとえば(LGPLではなく)GPLが適用されたライブラリはライセンスの衝突により利用できなくなってしまうかもしれない。しかし、別にオープンソース・ライセンスだからといってGPLと衝突しない保証はない。
また、昨今のGNU/Linuxディストロは頒布物に収録する基準としてOSD(あるいはDebianのDFSGのようにOSDに準じた)ものを採用するケースが増えているので、こういったものに手軽なパッケージとして収録し、広く頒布するということが難しくなってしまう可能性はある。しかし、十分に魅力的なソフトウェアであれば、別にディストロに入っていようがいまいが人は使うだろう。さらに、SourceForge(.jp)Savannahといったフリーソフトウェア/オープンソース開発プロジェクト支援サイトは、プロジェクト受け入れの条件としてソフトウェアにオープンソース・ライセンスが適用されていることを求めていることが多いので、こういったサービスが利用できなくなるということも予想される。しかし、これにしても自前で開発環境が用意できれば大した問題ではない。

上で列挙したような諸問題のため、ユーザは若干の不便を被ることとなり、また作者ないし著作権者にとっては、知名度が低い、普及しない、結果として開発者もユーザもあまり増えない、以下繰り返し、というようなスパイラルに落ち込む可能性が高まる。そもそもオープンソースというのは、できるだけ多くのユーザ(そしてその中に含まれるであろう潜在的な開発者)を確保すべく、「どうすればソフトウェアを効率よく普及させることができるか」という命題を念頭に置いて構成された概念なので、上で挙げたような「あえて使わせない」というような条件とは相性が悪いのである。しかし、すでに上記でも指摘した通り、不都合といったところで高々この程度だ。バザール型開発を志向せず、自分で開発資源を提供し、自分で全てコードを書き、自分で使うぶんには何の問題もないだろう。

ただ、そうならば自らを「オープンソース」ソフトウェアと名乗ることだけは慎んでほしいと思う。ユーザが「オープンソース」という言葉を聞いたときに通常思い浮かべるような利用の自由が一部欠けているので、ユーザを混乱させてしまうからだ。区別を曖昧にしても、互いにとって好ましいことではない。あるソフトウェアがオープンソースでないのは全く構わない。しかし、実質的にオープンソースではないものを「オープンソース」と呼ばれるのは困るのである。

利用目的の制限

利用目的を制限することの問題についてはもう少し補足しておこう。自分が手塩にかけたソフト
ウェアに、自分の思想信条から来たある種のメッセージを込めたいという考え自体は感情としては分からなくもない。実のところ、海外でもその種の例はいくつも見られる。エゴの充足はあらゆる創造行為の源であり、そこを否定するつもりはない。しかし、ライセンスにおいて利用目的
を制限するというのが筋の良い考え方だとは、個人的にはどうしても思えないのだ。

たとえば軍事利用の禁止だ。「軍事利用」と一口に言っても具体的にどのような行為を指すのか、具体性に乏しい。釘一本でも軍事に利用はできる。ならば釘メーカーでのソフトウェアの使用は禁じられなければならないのか。ある部門では車を作り、ある部門では戦車を作る企業もある。車の部門が戦車の部門を支えているという場合もあろう。そういった企業での利用は禁じられなければならないのか。数学の最適化理論は、歴史的にはミサイルの弾道計算を念頭に置いて発展してきた。では最適化分野での研究にそういったソフトウェアを利用することは禁じられなければならないのだろうか。あるいは、「反社会的行為への利用を禁ず」と書いていた場合、「反社会的」行為とは具体的には何なのか。それは誰が決めるのだろうか。ようするに、曖昧すぎるのである。著作権者の事後的な意向次第で利用条件が揺れ動いてしまうようなライセンスは、不確実性が大きすぎて安心して利用することができない。極力意向を汲んでライセンス条件を遵守しようとする良心的な利用者になればなるほど、負担が大きくなってしまうのである。しかも、おそらく著作権者が最も利用を制約したいと思うような輩に対しては(そもそもライセンスなど重視しないので)無視されて何の影響も及ぼさない、というようなことになってしまうだろう。それは不幸なことではないだろうか。

ミッション・クリティカルな分野における利用の禁止も、正直言って意味があるとは考えにくい。そもそも多くのオープンソース・ライセンスでは、無保証(No Warranty)を謳っている。受領者はそれを知った上でソフトウェアを利用しているはずである。また、多くの場合オープンソース・ソフトウェアの授受に対価は介在していない。対価を渡していないのに保証だけ要求するのも異な話ではないだろうか。それでもなお利用したのであれば、責は利用者に帰すべきだと私は思う。というより、このような場合は別途メンテナンス契約を結び、きちんと対価を払った上で一定の保証を得るというほうがノーマルなあり方であり、こういった方向をビジネスとして推進していくことのほうが重要なのではないだろうか。故に、わざわざライセンスそのものにおいて利用を禁止するようなことではない、というのが私の考えである。洋の内外を問わず、オープンソース・ソフトウェアが引き起こした損害に関して作者や著作権者による補償や責任が争われた裁判がすでにあったかどうかは寡聞にして知らないが、できれば今述べたような方向で司法の判断が下ることを望みたい。

まとめ

以上で、「使わせない」ライセンスは、若干の代償を覚悟すれば別に不可能ではないことを示した。ただ、そうすることの意味はあまり無く、むしろ弊害のほうが大きいことも示したつもりである。そもそも、ライセンスに過大な期待をしてはならない。ソフトウェアが直接社会を変えるわけでもない。むしろ、オープンソース・ソフトウェアがより一層普及し、それによって少しでも社会を支えるシステムがセキュアで風通しの良いものになることを願うほうが現実的ではないだろうか。そのためには、エゴの発散を利用の制限という方向に向けるのはあまり生産的ではないように私は思う。

今回扱わなかった、既存のソフトウェアにコードを追加した、というような場合については次回述べることにしよう。

投稿者: mhatta

A rapidly-aging old-school geek in Japan.