←前 2001年02月下旬 ↑index 2001年03月中旬 次→
■
昨日は南行徳で2DM。
Real: Midnight(B) → Spinning(A) → Cowgirl(B)
Ex.R: Helpless(S) → Slug(S) → Remember(S) → Classic2(×)
Ex. Classic2は初トライかも。イケるかと思ったら意外にイケなかった。
ラストの裏キック地帯に行くまでがんばった、という程度。
■ なるほど、理解しました。 あと、ここでのトレードオフの混ぜらんない方は特別にBSDライセンスだけについて言ったつもりはないです。 むしろ混ぜらんない原因はGPLにあることの方が多いはず。 トレードオフとして、GPLを使うかってときに「GPLを適用すると混ぜらんなくなる、でも後で独占されたりしない」とか、違うライセンスのものを利用するときに「Debianでcontrib扱いになっちゃうけど、便利なTGIFは使いたい」とかいう選択があるんだと思います。
■ 私の立場をいまいちど明確にすると、「安易な使い方をするとBSDライセンスだろうとGPLだろうと実害がある点には変わりなく、どっちが楽とは言えない」を示したいのです。 「(無意識的な)GPL優位」があることは否定できませんが(だって無意識だもん)、 GPL優位性を示そうとしているのじゃなくて、 「BSDライセンス優位性ってのは一方的な見方じゃないの? 本当は思想が異なるというだけで、どっちが実害が少ないってことはないんじゃないの」と言いたいのです。
■ それでまあ、「ソース公開」っていうのはGPLの目標として大棚に上げてます。 それを直接的な不自由と表現するならば、 GPLはその存在自体が不自由です。 自由を達成するために不自由を手段とする、というか。 「ソース公開の義務がついて回る」ことをそれ自体が実害であると考えるなら、 GPLなんかはじめから論外のはずだから、そうじゃなくて、 実害は他にあるのですよね(不十分な例外条項をつけるやつがいるとか)。
■
あと、私はGPLって「オレの作ったソフトが誰かに独占されたら、お前困るだろ?」っていう尊大な主張をしてるもんだと思ってたんですが、違うのかなあ……。「困ると思ったら、さあ、お前も『オレ一味』に加われ」っつーか。
「自分の不利益を避けるために、他人の自由を制限する」が印象悪く思えてしまうのは、
自分:=オレ1人、他人:=オマエ1人を代入して考えるからではないでしょうか。
Copyleftでは自分==他人==コミュニティーという集合で考えてくれということだと思います。
自分:=オレ以外(追加)、他人:=利用者と入れて「おこがましいことはしたくない」って言うのは、
Copyleft的コミュニティーから見れば「自分の利益/不利益しか考えてない」と批判できると思います。
Copyleftがよく共産主義的とか全体主義的とかいわれるのは、
ここらへんが理解されてないから(あるいはよく理解されてるから?)でしょう。
原著作者ひとり、あるいは二次利用者ひとりだけを取り出すとメリットが全くなく義務ばかりに見えるのはそういうもんだと思います。
■ 御意。ただ周知させない普及は宗教というよりは詐欺なんじゃないかな。宗教というなら思想を広めなくちゃ。 思想を理解させなくても壷を買わせれば救えるなどとホザク奴らもいますけど。
■
さて、どうにも引っかかっていたのがこの部分なんですけど、
これって「システムコールを使うプログラムをコンパイルするためにlinux/include/linux/*をincludeする行為」は「普通に使う」に含まれるかどうかが明確でない、という意味ですか。
うーむ、トレードオフの分岐点をそこに持って来られると、明確ではないですねえ。
でもそれは、プロバイダ契約によく出てくる「公序良徳に反するページ」
とか「その他甲が必要と認めるとき」が明確でないのと同じ程度ですよね。
もちろん、「プロバイダ契約の『その他』に注意せよ。
それと同程度にはlinux/include/linux/*にも注意せよ」ということなのだとしたらまったく同意します。
最初っからそういう話しかしていない、ということでしたら私の理解が悪かったということで許してください。
「『その他』を気にせずプロバイダ契約するのと同程度には、
linux/include/linux/*も気にしなくてよい」、
あとはリスクマネージメントの問題になる、ということですよね。
■ で、何に引っかかっていたかというと、性善説にのっとってBSDライセンスを選択するような人がなぜ「normal use」の厳密性について細かいのかという点だったですけど、ここで説明してもらったので一応理解しました。 ところでライセンスって、それ単独で厳密に白黒つけられることが必要というよりは、 裁判になったとき勝てる材料となることの方が重要なのだと思います。 多少のあいまい性を司法にゆだねることになっても、 それをもって「ライセンスとして不完全」と言って良いもの? このまま裁判になったら誰がどう見ても負ける、というならともかく。
■
ところでこの方法でLinuxに打撃を与えることは本当に可能でしょうか。
3.の段階で、「Linux kernelの配布条件を知りながら長期間放置した、つまり同意したと見なす」ことになって、
READMECOPYING(訂正)の解釈(LinusのGPL解釈)に帰着するような気がします。
まあ、そういう裁判を起こされないよう、
linux/include/linux以下のファイル1個1個にGPLとそれに対する例外条件を明記して、
contributeされたものにもそれを入れることを認めさせて、
各ディストリビューションには条件の違うものを
linux/include/linuxに入れさせないようにすることは
意義のあることだしやってくれたらいいなと思います。
Linusにはカーネルモジュールについてもっと明確にしてもらうとか。
これを主導するべきは、Linux上の商用ソフトのバイナリ配布をしてる人達かな。
オラクルとかVMware?
■
激ニセ期間終了でようやく閉店前にゲーセンに入れる。南行徳で3DM。
Real: Jet World(S) → Captain(A) → On Our Way(S)
Ex.R: 桜(A) → Nightmare(B) → Wanna Be Your Boy(B)
Real: Thunder(S) → CallMyName(A) → Newspaper(C)
Real CaptainでしくじってA、On Our Wayでリカバーを試みるも1poorで失敗。
Ex. Nightmareとか軽々とできたりして。
Real Thunderは1poorでフルコンボならず。
全般的には上り調子?
■
2月26日に「linux/include/linux/*は『GPL的には知らんがLinux的にはOK』」と書いたものの、
やっぱり腑に落ちないので、もう一度調べてみました。
腑に落ちなかった点は「Linusのexceptionなんて本当にあるの?」と
「COPYINGの先頭数行は、今野さんや塩崎さんの解釈が正しいとすれば、
exceptionなどではなく存在してもしなくてもかまわないものではないか?」のふたつ。
参考にしたのはここらへん。
・Why Not Use the GPL? Thoughts on Free and Open-Source Softwaren
・Slashdot | Preview of GPL V3, Part 2
・Slashdot | Articles | Abstract Programming and GPL Enforcement
・GKHI
・TLUG Linus Interview
わかったことをまとめると、以下の通り:
■ マクロやインライン関数を#includeして使うと「GPLに落ちる」という問題は、LGPLの作成動機ともなったもので、十年以上語られてきた問題ですよね。 Linuxでここらへんがどうなったかというと、上の資料を見る限り、 「ヘッダファイル中のマクロ関数やインライン関数を使ったソフトは当然GPLである」 という昔と変わらない結論になります。 Linuxが特別にproprietary softwareに対して寛大であるという印象も出て来ません。
■ LinusがCOPYINGに加筆して明確にしたかったことは、 通常のアプリケーションとカーネルとの間は「reasonably considered independent」な関係であるということでしょう。 とは言え、Linus自身はこの数行で何らかの「宣言をした」つもりになっているらしいし、 binary only kernel moduleが許可される根拠もこの数行にあるようなことも 言っている。 本当のところは本人をつかまえて聞いてみないとわからないかなあ。
■ 結局linux/include/linux/*以下はGenuine GPLであると考えて矛盾が出て来ません。 3月1日に私が書いた「例外条件の明記」は、まったく的外れでありました。 /usr/include/g++-2/iostream.hに追加された例外条件を念頭に置いたものでしたが、 同様の例外条件はLinuxカーネルには存在しません。
■
ということで、今野さんの方法でLinux上でproprietary softwareを出している会社に打撃を与えることは可能です。
ただ、「kernel に動的に link される module は GPL の対象外と勝手に判断している」の部分は
「Linus exception」の有効性に(勝手に)依存している、が正解でしょう。
それでもGPLなヘッダファイル内のマクロまたはインライン関数を使っているかという点は問題になります。
長らくいろんなプラットフォーム上でバイナリ配布してきた会社では、
自前のヘッダファイルを用意していることでしょうし、
デバイスドライバのbinary-only配布をしているところもそうでしょう。
打撃を与えられるとしても、ここらへんでドジ踏んでいる会社に対してだけで、
Linuxコミュニティーや、ディストリビューションを売ってる会社に対して十分な打撃になるかどうかはわからんです。
■
ところで「GPL2は可、GPL3は不可という運用は不可能」というのは、
自分がオリジナル作者ではなく、「GPL2またはその後継」というものをベースに派生させた場合、
ということですよね。
自分がオリジナル作者の場合に「GPL2のみ。GPL3は不可」というライセンスをつけることは可能です。
もしかして、自分だけ「any later version」を書かないことによりGPL2のみにしたところで、
他の「GPL2かそれ以降」のライブラリとの間で「混ぜるな危険」状態になってしまって、
実質的には無益である、てな意味合いでしょうか?
■
昨日は南行徳で2DM。
Real: Cowgirl(A) → Secret(A) → Loud!(A)
Ex.R: Right On(S) → Furi(S) → LoveAffair(S) → Classic2(×)
Ex. Classic2は2度目の挑戦。同じとこで落ち。
■
シアトル風ラテに最近ハマッた私。
近くに店がなくて飲めないヨメのため、自家製を試みる。
4cup用のエスプレッソ器を買ってきてチャレンジ。
ミルクはスチーマーがないので電子レンジで加熱。
それでもなかなかのものができた。
そのままではヨメには苦かったらしい。うへえとか言っていた。
砂糖を加えてみたところエスプレッソのコクがわかって気に入ったようだ。
試しにストレートで飲んでみるとちゃんとエスプレッソの味がする。よしよし。
今朝は甘みにメープルシロップを加えてみた。さらに良い。
シナモンを振ろうと思ったら、どばっと出てアッセー。
しまった、これじゃおいしくないよ。
ミルクもちとぬるかったので次回はもっと熱くしてみよう。
■ GPL2の後継版の件ですけど、 「GPL には any later versionと明記されてるので、外したら GPL じゃありません」はちょっと違うように思います。 GPL2でany later versionについて言及されている部分は、9.にある
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.の部分です。ここには「プログラムが適用されるべきライセンスとして 特定のバージョン番号および『any later version』を指定している場合」に限って、 後継バージョンを選択できるとあります(バージョン番号を指定されない場合は任意のバージョンを選択できる)。
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.と書いてあります。 これは文例であって、このまま実施しなければGPLとしての効力を失うという条件ではありません。 だから、ソースコード内のGPLに関する記述として、原著作者が最初のリリースをする時点で
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.と書いた(書いていた)場合には、バージョン2のみが適用可能で、他のバージョンは適用できません。 この場合はFSFといえども後継バージョンはダメです。
■ 原著作者は後からGPL2のみと変更して再リリースできます(著作権者による許諾)。 コミュニティーからのパッチをまったくincorporateしていなければ、 次のリリースからでも可能です。 ただし、この場合でも最初に「any later version」つきで出してしまった分については、 「any later version」の効力を取り消すことはできません。 今野さんの「既に配布された分に対しては変更できません」というのはそういう意味ですよね。 ここには異論ありません。
■ 以上は自分が原著作者の場合の話です。 そうではなくて、何らかのworkからderiveした場合には、 元のworkの「any later version」が「あるのかないのか」を保存する必要があります (消してもいけないし追加してもいけない)。
■ むむ、今野さんが「10.を見よ」と書いてて、でも実際には9.なので、何かおかしいなと思って念のため見てみたんだけど、もしかして GPL2の日本語訳が間違っているのではなかろうか。 んー、なんで番号がずれてるかというと、原文は0.から始まってるのに日本語訳は1.から始まってるからみたいだ。
■ 「原文を見よ」の1行で済んだ話だったかも。すんません。
■
昨日は南行徳で2DM。
Ex.R: SunnyDaySunday(S) → Machine(B) → BreakOut(×)
Ex.R: PowerfulMix (A)
Break Outは後半の16分ハットで落ち。要練習。
その後プチでエジプトを掘るのにハマった。「ラッキーわん!」
■ やはり誤訳のようですね。 GPL2は1から2になるときに読んだんで、 和訳の方はまともに読んだことがありませんでした。
■ いっせいさんとこを見て思ったのですが、 8086+8087という大古の昔には、 FPU割込はプログラムコード上で非同期に発生していませんでしたっけ (コプロセッサはメインプロセッサと独立なタイミングで動作するから)。 現代のCPUにそのままあてはまる話とも思えませんが、 SIMD命令はやはりメインのALUとは別に動作するかもしれないし。 私のintelアーキテクチャの知識は15年前のものなんで、 とんちんかんなことを言ってたらごめんなさい。
■
ななうみさんとこから
これが打てるかへ。
Dvorakとか漢字直接入力とか使っている人には、
キーの刻印というのは意味がないんですよ。
数字とかF5くらいは共通ですけど。
今までこういうキーボードは特注しないと入手できなかったんだけど、
一般に売られるようになるとうれしいですなあ。
とは言いながらも買わない私。
だって普段使ってるキーボードってノートPCかKinesisなもんで。
Kinesisで刻印のないキートップ売ってくれないかな?