先週はGPLの「じ」の字も言わずに終わってしまった
話の趣旨としては要するにオープンソースと言うのはヴォランティア精神に満ち溢れたもの
パブリックドメインという文化もあった
そういうのとは別に今は企業サイドである種のマーケティング手段として
オープンソースを使うという動きも顕著
・企業の利益追求のため
・趣味、ヴォランティアベース
2つのコミュニティがぶつかる
もっともこの動きが激しいのが基盤ソフトウェアの分野
ソフトウェアをダウンロードしてくれば使えるわけではない
使うのが難しい
サポートしないといけない
誰が責任を取るのか
そうするとお金が回り始める
今日はライセンスの話
有名な話なので知っている人は知っている
1980年代には3種類くらいの考え方があった
一つは
パブリックドメイン
著作権を放棄する
これは日本では
著作権を放棄できないのでできない
趣味やヴォランティアベースで選ばれることが多い
BSDライセンス
大学で作ったソフトウェアを公開するときのライセンス
UNIXとか
X Windowとか
ああいったものを作ったものを公開するときに
大学だと資材が重要視されるので
著作権を放棄するわけにはいかない
著作権はもつけれど権利は行使しない
宣伝に使ってはいけないとか細かい条項が入ることもある
日本の大学には日本の税金が払われているから
日本国民は国立大学の成果をただで使ってもいいけれど
外国はだめとかそういう見解もあった
FreeSoftware
著作権を持つしある種の政治的圧力をかける
規則が厳しい
これは
リチャード・ストールマンが始めた
オープンソースの歴史を考えると
フリーソフトウェアの話を始めなければならない
元々は80年代はソフトウェアの権利があまり強くは言われなかった
50年代60年代ではソフトウェアにお金がつかなかった
IBMのハードを買うと、ソフトウェアというのは営業さんが書いてくれる
自社の社員がちゃかちゃかちゃかと書く
それくらいソフトウェアは簡単なものでもあった
パソコン売ってる販売員がOSの調整をやる程度
昔はソフトウェアはウエイトが小さくてただみたいなものだった
今はそうはいかないので
営業の人と技術の人と分かれて細分化
80年代はソフトにお金をつけて売るということが社会的に認知されていなかった
ソフトウェアにお金をつけるなんて!
マイクロソフトはソフトウェアはお金で売るということを認知させるのに苦労していた
リチャード・ストールマンはすごく有名な人でMIT入って院をやめて
いろいろなソフトウェアをたくさん作った
Emacs
彼が改良したヴァージョンの
Emacsが一番有名で一番使われていた
ストールマンはヒッピーカルチャーにも触れていた
かなり変人
いつも友達がいなくてひとりぼっち
マシンの前で笛を吹いていた
エピソードがいろいろある
アランケイがある学会に夕食会の講演者として呼ばれた
乾杯の音頭をとって2時間話し続けた
食べ物の前でずーっと待たされるし
高級ホテルに泊まらされてお金がかかる
いやお金で解決できるならいい
ストールマンはお金では解決できない
ホテルはどうしましょうかと聞いたら
どこでもいいと答える
あなたの家でもいい
その代わり宿泊費は
FSFに寄付して欲しい
ソファーで寝る
シャワーを浴びない人なので臭い
FSFの本の即売会をやろうとしたら
本が届いていない
怒り出して部屋中のものを壊し始める
とかなんとかなんとか
聞いた話なので本当かどうかわからないけれど
ジェームス・ゴスリングも
Emacsを作っていた
ある時ゴスリングが自分の書いたソースをある会社に売ってしまった
ストールマンがゴスリングと一緒に書いたソースを使おうとしたら文句を言われた
なんで俺が書いたのにどっかの会社が勝手に権利を主張するんだ
Xeroxのコピー機が納入されて、バグがあってハックしたら
勝手にソースをいじるなと文句を言われた
そんなことが重なって、
ソフトウェアは共有財産であって一企業一個人が権利を主張してよいものではない
と思うようになった
後にFree Software Foundationというものを作って
フリーソフトウェアを世の中に広める運動を始めた
ある種の
共産主義者で
私有財産制は認めない
ソフトウェアに関しては
私有財産は認めない
この概念を広めようとした
彼は
トロイの木馬方式を採った
みんなが使わざるを得ないような役に立つソフトウェアをいろいろ作った
GNU Emacs
GCC
Linuxで使われているソフトの大半は
GNU
カーネルを書いたのは確かにリーナスだけれど
その上で動くソフトウェアを作ったのは
ストールマンとそれに賛同した人々
これは
オープンソースなので誰でも自由に使えるし自由に改変できる
しかし
GPL Softwareを改良したSoftwareを配るときには
ソフト全体を
GPLライセンスで配らなければならない(売るを含む)
つまり
オープンソースにしなけらばらない
どういうことかというと
例えば皆さんがすごい
コンパイラの
アルゴリズムを書いて
これで一儲けしようと思った場合
GCCを改良して売ろうとすると
FSFからメールがきて、ライセンスに違反しているから訴えるとメールが来る
売っている一方で、
ソースコードを公開しなければならないし、
誰かがその
ソースコードを
コンパイルして勝手に売っても文句をいえない
GPLを使っている以上はあなたも
GPLの賛同者になりなさい
GPLのソフトを使う以上は信者の誓いを立てなければならない
これによって
フリーソフトウェアのコンセプトは広まった
企業からすると
GPLはたまったもんじゃない
GPL汚染ともいう
日本のメーカで
バッファローとかメルコとか
家庭用のルータなどを売っているけれど
ああいった奴は中に
Linuxベースのソフトが入っている
ああいうのをやるときに
GPLを使っていると、
改造した部分も公開しろという圧力がかかる
勝手に中を改造されて全然違う用途に使われる危険がでてくる
だから企業は嫌がる
開発チームが大きいソフトウェアを作って
下請けに出したりする
ある不心得者のエンジニアがいて、
GPLのソフトでこっそり混ぜてしまう
そして製品にして売る
後日、どこかの暇な人が調べていたら内部で
GPLのソフトを使っていることが発覚する
あなたのソフトは
GPLのライセンスを含んでいる
だから
ソースコードを公開しろ、という圧力がかかる
ソフトを売っている会社だとアウト
正規表現のライブラリの一部を使うなど
どこまでが
GPLの派生物といえるのか
これに関してはまだ
判例が出ていないのでわからない
ライブラリも
GPLだったら
コンパイラが勝手にライブラリを使っている場合でも作ったソフトは
GPL
LGPL (Lesser)
部分的な定義が弱い
実行時にリンカでリンクしている分には問題なし
当時の技術で定義してあって、今の技術に当てはめるとどうなるのか
Javaとかどうなるのか
議論は尽きない
企業の法務部をますます混乱させた
誰が正しいのかさっぱりわからない
一般的に法律家は安全な方に倒すので特に大会社の場合は
LGPLを嫌がる
オープンソースのサーヴィスを売っている会社は
LGPLを積極的に利用している
例えば
JBoss
基盤ソフトの本体はオープンソフトウェア 誰でも自由に改良してもいい
それで世間に広める
トレーニングコースを売ることで収入を得ている
JBossを
GPLで配ってしまうと
お客様が作った業務用アプリも
オープンソースにしないといけなくなってしまう
中庸をとって
LGPLにする
誰でも
ソースコードを手に入れられるから乗っ取ることができる
ヴォランティアベースの開発では乗っ取りとか分裂とかがあるし
Apacheが
JBossを改良して
ジェロニモを作るとかもある
非常に競争に晒されている
技術的優位がないと守れない
競合の
営利企業が出現して、自分たちの製品を改良して機能アップされても
その他社に
ソースコードを公開させて自分たちの製品の機能もアップできる
普通のソフトウェアだったら
著作権や商標で守られている
サンマイクロは非常にうるさい
昔うちの研究室でOpenJavaというプロジェクトをやっていた文句を言われた
他のライセンス
(少しでも含んでいたら全部
GPL)
GPL ↑
| 派生物の範囲
MPL |(同じソースファイルの場合は公開しろ、
| 新しく追加したファイルなら問題ない
Apache |
GPL的なセンスを取り入れつつ企業とも仲良く)
|
BSDライセンス ↓
(
BSDライセンスでは派生物には全く触れない)
ストールマンは
Apacheライセンスとかは嫌い
彼の場合は政治運動でやっているのに
Apacheは企業と和解しようとしている
最近の話
GPL version 3
明け透けにいうと、
トロイの木馬を強化するライセンスの変更
最近の
トロイの木馬破りを防ぐための対策
最近は
GPLを逃れるための仕組みをもったものが出始めている
家庭用の
ブロードバンドルータは中に
Linuxが入っている
そのままやると
ソースコードを公開しないといけない
中身を勝手に変えられてしまうケースもある
それを防ぐために、ハードウェアサポートを使って
プログラムが書き換わっていたら起動しない
Linux用のハードウェアを出すときに
デバイスドライバを公開してしまうと困るが
ハードウェアが見せるインターフェースは仮想的なものにして
デバイスドライバは他のプロセッサの中に作りこんでいる
Linux側からは本物の
デバイスドライバは見えない
version3では
・ハードウェア検査禁止
・
DRMの解除を禁止してはいけない
・特許の自動的な使用を許可
こうやって
トロイの木馬を強化しようとしている
しかし
LinuxはVersion3に以降しないとか揉めている
最後の課題は世間の
GPL周りの議論を見てあなたの考えを書く
これで全部の授業は終わりですお疲れ様でした