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

さよならコピーレフト

Web 2.0は、オープンソースやフリーソフトウェアにどのような影響をもたらすのだろうか。Web 2.0はフリーソフトウェアの味方なのか、敵なのか。

ここのところ、「Web 2.0」という言葉がソフトウェア業界を席巻している。 しかし、その意味を正確に理解している人はほとんどいない。そもそも提唱者 Tim O'ReillyのWhat Is Web 2.0からして、対比的に「Web 2.0的な」事例はいくつも挙げてはい るが、言葉でうまく定義できているわけではない。その事例にしても、Web 1.0とどこが違うのかよく分からないものもある。例えば、CMSとWikiがどう本質的に違うのか、筆者には今ひとつピンと来ない。

ただ、流行ものには流行るだけの意味はあるもので、Web 2.0という話が全 く無意味かと言えばそんなことはない。ここ数年で、ソフトウェアの開発が発 想のレベルでだいぶ変わってきたのは多くの人が認める事実だろう。ユーザに とっても、ソフトウェアとの関わり方が明らかに従来とは異質になってきたよ うに思う。セマンティックウェブだのフォークソノミーだのロングテールだの といった華々しい話はさておいて、結局目に見える形では何が起こっているかと言えば、 サーバ側でこなす処理がどんどん増え(データもサーバ側に蓄積され)、一方で クライアント側での作業がどんどん定型化しているということである。「ソフ トウェアを使う」ということが、手元で様々なソフトウェアの実行形式を実行 するということから、ウェブサービスをウェブブラウザ経由で利用するという ことに次第に一元化しつつあるのだ。一昔前シンクライアントというのが流行っ たが、クライアント側に求められる機能水準がだんだん低下している(ウェブブ ラウザがそれなりに動いて高速なネットワークにつながっていさえすれば良い)と いう意味では、結局Web 2.0は発想としてインターネットを介したシンクライア ント的発想への先祖返りだと言えなくもない。もちろんこれを可能としたのは、高速 なネットワーク環境の普及である。今後、例えば公衆無線LANのようなインフラ の整備が一層進めば、この傾向は更に加速していくことだろう。

今まで述べた意味でのWeb 2.0がもたらす第一の変化は、「パソコン」というコンセプトの死 である。手元のコンピュータにソフトウェアを自分でインストールし使う、と いう利用形態は、徐々に意味を失いつつある。今後ユーザの手元にある端末は、 どんどん標準化・規格化され、機能的には非常に単純なものになっていくので はないか。これまた昔懐かしい「ダム端末」への先祖返りとも言えなくない。 クライアントに求められる機能が減るということは、クライアントのさらなる 軽量化・単純化を図ることができるということでもある。おそらくここ数年で、 デスクトップ・コンピュータ、あるいは大容量の記憶装置、大容量のメモリを 積んだ重武装のラップトップと言うような存在は次第に時代錯誤的なものになっていくの ではないかと思う。その後に来るものが高機能な「ケータイ」なのか、Ultra-Mobile PCなのかは筆者にはまだよく分からないが。

ここまで述べたようなことを踏まえれば、Googleが無料の公衆無線LANに力を入れ たりMicrosoftやIntelが死屍累々のUltra-Mobile PCにそれでもなお力を入れたりすることの意味を、一貫し た戦略として捉えることができるだろう。

こういった話は、ユーザから見れば基本的に大変結構な話である。いつでも どこでも同じ環境で仕事ができる。机を占有するデスクトップを排除できるし、 重いラップトップを毎日持ち運ばなくても良い。ハードディスクが壊れてデー タが全部消えるということも無くなる。ユーザから異議を唱える契機はどこにもない。

ただ、開発者の視点、オープンソースという文脈からすれば、筆者は若干危惧しないでもな いのである。

自分が著作権を持つソフトウェアの扱いをコントロールしたい、というとき、 そのための手段となるのは著作権に立脚したライセンシングであり、とりわけ 複製や頒布の制限である。頒布に あたって種種の条件を付ける、というのがよくあるやり方で、典型例はGNU GPLなどにおけるコピーレフトだ。複製や頒布に制約を加えない限り、自由に複製や頒布を行ってよい、というのは、立派な「頒布の制限」である。

しかし、ソフトウェアがサーバでのみ実行されるならば、そこにソフトウェ アの「複製」も「頒布」も介在しなくなる。サーバから送られてくるのは処理 済みのデータのみだからだ。こうなるとコピーレフトは全く無力である。著作権法ではソフトウェアの実行自体はカバーされないからだ。GPL自体、

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
と明示的に述べている(強調は筆者)。例えば自社が開発したプログラムをGPLの下で公開したとして、それを競合他社が改良を加えてウェブサービスで使ったとしても、その改良部分のソース公開を自社が求める根拠はどこにもない。これは、実質的なコピーレフトの骨抜きである。

この問題点そのものは、数年前からすでに認識されていた。GPLの「Web (あるいはDistribution) loophole」と呼ばれるものがそれである。 これに対し、対策を試みたのがGPLv3のプロトタイプと目されていたAffero GPL(AGPL)だった。 AGPLには以下のような条項が含まれている。

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: (中略)
  • d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.

コンピュータネットワークを介してユーザとやりとりをするようなプログラム(まさにウェブサービスだ)には、完全なソースコードをユーザに送信する(たとえばボタンを押すとソースがダウンロードできるというような)機能を付け、その機能を除去してはならない、というわけである。これはそれなりに巧妙な解決策だったと思う。しかし、この種の条項には致命的な問題点がある。結局のところこれは改変への制限なので、改変への制限を認めない現行のGNU GPLバージョン2とは矛盾してしまうのだ。

現在、GPLはバージョン3に向けた改訂作業が進んでいる。今後改訂プロセスが 進むにつれ、どういうことになるかはまだ分からないが、少なくとも現在公開されている第一ドラフトではその第7項において、とりあえず Affero GPLのような条項の入ったライセンスであってもGPLv3とは矛盾しないようにしよう、という意味での対策は取られている。

Aside from additional permissions, your terms may add limited kinds of additional requirements on your added parts, as follows:(中略)
  • d) They may require that the work contain functioning facilities that allow users to immediately obtain copies of its Complete Corresponding Source Code.
しかし、これはGPLv3そのものにAGPL的対策を取り込んだというものではない。筆者はGPLv3改訂に若干関与しているが、他の関係者の意見を総合しても、GPLv3ではWeb loopholeには積極的に対処しない、というのが大まかなコンセンサスのように思われる。DRMへの強硬なスタンスと比べるとずいぶん弱腰な対応ではあるが、それだけこれはエレガントな解決が難しく、不用意に手を打つと多方面に悪い影響を与えかねないセンシティヴな問題だということなのだろう。

コピーレフトが実質的に機能しなくなると、どういうことになるだろうか。お そらく、ソフトウェアのブラックボックス化が、今までとはやや違った形でゆっくりと進ん でいくだろう。手元に実行形式があるのに、プロプライエタリだからソースが見られない、のではない。そ もそも何も頒布しないからソースが見られないのだ。しかしソフトウェアを実行し た結果はユーザに手に入る。そんな世界である。これはコピーレフトが実質的に無化された世界と言っても良い。

これは歓迎すべきことなのだろうか。一般のユーザにとってはあまり関係の無いこ とだろう。しかし、あるソフトウェアが実行できるのに、ソースが見られない というのは、結局のところプロプライエタリへの先祖返りに他ならないのでは ないだろうか。私たちは、そのような世界を目指してオープンソースだのフリーソフトウェアだのといった旗を振ってきたのだろうか。

あまり意味をきちんと吟味せず、Web 2.0に代表されるような最近のトレンドと、オープンソース、あるいはフリーソフトウェアの近縁性を主張するような言説が散見される。印象論だけで語っているようなものは論外だが、オープンソースの隆盛がWeb 2.0を可能にした、というのは、確かにあながち間違いではないのだろう。しかし、Web 2.0的世界を突き詰めていくと、これまでオープンソース/フリーソフトウェアを支えてきた大黒柱の一本が無効化される可能性がある、ということは、頭の片隅にとどめておく価値のあることではないかと思う。