「著作権」は何を制限しているのか
最初は Scrap で軽く書き捨てるつもりだったが,途中まで書いて「これはちゃんと記事にしたほうがいいかな」と思い直したので,こちらに書くことにする。なお,この記事は「考え方」の提示のみで厳密な議論をするにはざっくりし過ぎていて向いてない。あらかじめご了承の程を。
最初に,今週後半あたりから騒ぎが聞こえてきた mimemagic については以下を起点に調べるのが効率がいいと思う。
それを踏まえて,もっと基本的なところで「著作権」は何を制限・規制しているのか。これをきちんと押さえておこう。
小難しい法的な話は横に置いておいて,著作権を一言で言うなら「表現の『利用』は制限するが『使用』は関知しない」である。これは著作権の出自が「出版統制」から来ているためだ。たとえば “term of use” は日本語で「利用規約」などと呼ばれるが,「使用」ではなく「利用」と呼ばれるのにはちゃんと意味があるのだ。
本屋で売ってる「本」を例に挙げると,買った本を「読む」だけなら「使用」なので著作権は関知しないが,本のコピーをとって誰かにあげるのは「利用」になるため著作権による制限・規制が入る[1]。
では,表現の「利用」とは何か。これも法的に厳密な話をし始めるとキリがないが,概ね以下の3つと言ってよい。
- 複製
- 配布
- 改変
エンジニア寄りの例を挙げるなら,ある言語で書いたコードを(機能はそのままに)別の言語に書き直す行為は「改変」にあたる。一方,コンパイラ等で機械的に変換する場合は「改変」ではなく「逐語的コピー(literal copy)」つまり「複製」に相当すると思われる。別プロジェクトのコードを組み込んで公開する場合も,上の3つのどれか(または全部)に当てはまることになる[2]。
ウイルス的だの何だのと悪者にされがちな GNU GPL だが,基本的には「複製」「配布」「改変」に抵触しないただの「使用」であればライセンスは関知しない。それは元々の著作権の仕組みがそうなっているからである。またコードを含む配布物全体をそのままの形で再配布するのであれば GPL の条件に抵触することはない。
今回の mimemagic の何が問題だったかというと, MIT ライセンス下の配布物に含まれる freedesktop.org.xml ファイルが別のプロジェクトから流用したものであり,かつ GNU GPL が設定されていたことにあるようだ(しかもそのことに長い間気付かれなかった)。
こうした事故(意図的なものも含めて)はゼロ年代に「オープンソース」製品が市場に台頭し始めた頃から度々起こっているが,対処は概ね以下の2通りになる。
- GPL ライセンス下のコードを含めて全体を GPL で再設定して配布する
- 該当のコードを排除する。または別の(自製品と互換性のあるライセンス下の)コードで実装し直して配布する
今回のケースでは,最終的に2番目の方法にしたようだ。つまり freedesktop.org.xml ファイルを排除し,もしそれを使いたいなら元々のプロジェクトから取ってこい,ということらしい。既に書いたように「複製」「配布」「改変」を伴わないただの「使用」であれば GPL というか著作権は関知しない。
プロジェクトあるいはパッケージ単位であれば今時ライセンスをチェックするのは難しくないだろうが,一部のファイルまたはコードに別ライセンスのものが混入している場合は事前の検出が難しい。結局は発覚した際に適宜対応するのが次善の策と言えるだろう。混ぜるな危険!
そう考えるとフルスタックの単一フレームワークは(どうしても依存度が高くなるので)リスク高めなんだよな。そのフレームワークに自身が積極的にコミットしていれば別だけど。ちなみに Rails 側は mimemagic を排除することで対応したらしい。
「エンジニアが法律の話なんて」と思うかもしれないが,職業エンジニアにとって法的な規制(regulation)は切っても切れない関係だし,著作権や特許権などといった「知的財産権」はあらゆるドメインを越えて影響してくる場合がある。気ぃつけなはれや!
参考
-
ちなみに特許権は「使用」も禁じるという点で著作権より制限が大きい。また,著作権は特許権と異なり,同じ内容でも各々独立した表現であると認められれば,先行者優位性は発生しない。さらに,その表現を生み出すためのコストは(少なくとも著作権では)考慮されない。あくまで表現同士の因果関係が重要なのである。 ↩︎
-
この辺の話を聞くとかつての Oracle vs. Google の訴訟を思い出す人がいるかもしれない。この訴訟についてン年ぶりに記事を書いてみた:Google vs Oracle の訴訟の行方 3 | text.Baldanders.info ↩︎
Discussion