基盤ソフトウェア 7/10

先週は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 基盤ソフトの本体はオープンソフトウェア 誰でも自由に改良してもいい それで世間に広める トレーニングコースを売ることで収入を得ている JBossGPLで配ってしまうと お客様が作った業務用アプリもオープンソースにしないといけなくなってしまう 中庸をとってLGPLにする 誰でもソースコードを手に入れられるから乗っ取ることができる ヴォランティアベースの開発では乗っ取りとか分裂とかがあるし ApacheJBossを改良してジェロニモを作るとかもある 非常に競争に晒されている 技術的優位がないと守れない 競合の営利企業が出現して、自分たちの製品を改良して機能アップされても その他社にソースコードを公開させて自分たちの製品の機能もアップできる 普通のソフトウェアだったら著作権や商標で守られている サンマイクロは非常にうるさい 昔うちの研究室でOpenJavaというプロジェクトをやっていた文句を言われた
  • -
他のライセンス (少しでも含んでいたら全部GPLGPL ↑ | 派生物の範囲 MPL |(同じソースファイルの場合は公開しろ、 | 新しく追加したファイルなら問題ない Apache | GPL的なセンスを取り入れつつ企業とも仲良く) | BSDライセンス ↓ (BSDライセンスでは派生物には全く触れない) ストールマンApacheライセンスとかは嫌い 彼の場合は政治運動でやっているのに Apacheは企業と和解しようとしている
  • -
最近の話 GPL version 3 明け透けにいうと、トロイの木馬を強化するライセンスの変更 最近のトロイの木馬破りを防ぐための対策 最近はGPLを逃れるための仕組みをもったものが出始めている 家庭用のブロードバンドルータは中にLinuxが入っている そのままやるとソースコードを公開しないといけない 中身を勝手に変えられてしまうケースもある それを防ぐために、ハードウェアサポートを使って プログラムが書き換わっていたら起動しない Linux用のハードウェアを出すときにデバイスドライバを公開してしまうと困るが ハードウェアが見せるインターフェースは仮想的なものにして デバイスドライバは他のプロセッサの中に作りこんでいる Linux側からは本物のデバイスドライバは見えない version3では ・ハードウェア検査禁止 ・DRMの解除を禁止してはいけない ・特許の自動的な使用を許可 こうやってトロイの木馬を強化しようとしている しかしLinuxはVersion3に以降しないとか揉めている 最後の課題は世間のGPL周りの議論を見てあなたの考えを書く これで全部の授業は終わりですお疲れ様でした