【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

mywkfmnrのホームページ

フリーページ

お気に入りブログ

水上ドローンの作成… CPU4Eduさん

源氏物語の世界 jooxさん
一日一冊:読書日記… 本のソムリエさん
2004年02月14日
XML
カテゴリ:KNOPPIX
訂正:Javaを標準でサポートしたLinuxは沢山あると思っていたのですが、私の使ったことのあるLinuxの中では、Live Linux2だけでした。
最近発売の有償Linuxでは、以下のものでJavaがサポートされているらしいことはWebページで確認できました。
・Miracle Linux Standard Edition 2.1
・Red Hat Professinal Workstation
・Red Hat Enterprise Linux 2.1
しかし、私が使ったことのあるFTP版のLinuxでは、どれも、標準ではJavaはサポートされていませんでした。
重要な点で勘違いしていたことをお詫びし、訂正いたします。(以下の記述は訂正済みです。)

現在、KNOPPIXではJavaがプリインストールされていません。代わりにインストール用のスクリプトが添付されていて、自分でダウンロード&インストールして使うようになっています。
なぜ、そんな面倒なことになっているのでしょうか。
それは、KNOPPIXでは全てのプログラムがインストール済みで即使用可能な状態で配布されるという、通常のLinuxとは異なった特殊な側面があるために生じるJavaのライセンスの解釈の問題のようです。

JREはダウンロード、使用、再配布がフリーです。でも、ソース提供がなく、改変も認められていません。KNOPPIXの開発者は、この2点から、JavaをKNOPPIXで配布するのは問題ありと考えたのでしょう。

でも、JREをプリインストールしたCDブートLinuxが無いわけではありません。
Live Linux2にはJREがインストールされ、Tomcatもインストールされていました。
Java2 Standard Edition SDKはインストールされていませんでしたが、これは、当時、このSDKの再配布が認められていなかったからです。コンパイラなどの一部バイナリが再配布可能になったのは、Live Linux2の発売直前だったようです。でも、コンパイラが無いと、Tomcatだけあっても、Javaのプログラムを作れないので使い物になりません。そこで、かわりにjikesが入っていました。

では、KNOPPIXで問題ありと判断されたJREをLive Linux2でインストールされているのはライセンス違反だったのでしょうか。
ここがKNOPPIXとJava、いや、CDブートLinuxとJavaの関係の微妙なところで、判断の分かれるところです。
私は、Live Linux2のようにJREをインストールしてもライセンス違反とは言えないと考えています。
Live Linux2が何を根拠にこのような判断を下したかは不明ですが、私は、以下のような考えから、CDブートLinuxにJREをプリインストールして配布しても問題無いのではないかと考えています。
#これは、あくまで私の個人的な意見です。この意見が正しいのかどうか私には分かりません。
#この意見はあくまで参考にとどめ、最終的にはご自身の責任で判断してください。
#その判断の結果、何か損害をこうむったとしても、私は何らその責を負うことは出来ません。
#とはいえ、KNOPPIX(またはその派生版)を提供する権限と責任を持つ立場の方が、この意見を読んで、Javaをプリインストールして配布しても問題ないと判断してくれることを期待して、この記事を書きます。

(1)ソースが提供されない点について。

GPLのFAQに次のような記述があります。
http://www.gnu.org/licenses/gpl-faq.ja.html#MoneyGuzzlerInc
(GPLで保護されたプログラムを改変し、カネヨコセ社(Money Guzzler Inc.)から出ているポータビリティライブラリとリンクしたいのですが、私はカネヨコセ社のライブラリのソースコードを頒布することができません。そこで、カネヨコセ社のライブラリとリンクしたバージョンを改変したいユーザは、それらのライブラリを別に入手しなければなりません。どうしてGPLはこれを許可していないのですか?)

このカネヨコセ社をSun、ポータビリティライブラリをJREに当てはめて考えてみると、Sunはカネヨコセとは言っていないだけで、あとは符合します。つまり、JavaとGPLのプログラムを組み合わせたものを作ることは出来ないということでしょうか。
だからか、Javaを使ったプログラムにGPLを採用するものを私は知らないので、問題が無いのかもしれません。しかし、Javaで書いたプログラムからLinuxのシステムコールや各種のコマンド・プログラムを使ったりするのは問題ないのでしょうか。単に使うだけなら問題ないことが多いのでしょうが、いろんなライセンスのものが混在しているので、私には良く分かりません。
ただ、この問題はKNOPPIXだけにとどまりません。Javaをサポートする全てのLinuxに言えることです。
いまだに多くのLinux(FTP版)でJavaがサポートされない理由の一つはここにあるのでしょうか。

しかし、最近、有償版ではJavaをサポートしたものも出てきたようです。
・Miracle Linux Standard Edition 2.1 (標準で、SunのJava2 SDK 1.3.1-04が入っている。Tomcat 4.0.3も標準で入っている。)
・Red Hat Professinal Workstation (インストールCDには入っていないが、同梱の別CDでIBMとSunのJREが提供される。)
・Red Hat Enterprise Linux 2.1 (モデルによってはIBMのJREが標準でサポートされている。SunのJREは無し?)

本件は有償・無償とは無関係なはずなので、少なくとも、これらのディストリビュータは、本件に関しては問題ないと考えているということだと思います。
(2)改変を認めていない点について。

これは微妙な問題を含んでいます。
まず、改変とは、何処までを言うのでしょう。JavaのVMやライブラリを一部でも変更すれば該当することは自明ですが、これらを変更しない場合が問題です。
Sunから提供されるインストーラを使ってインストールした即実行可能な状態のもの(cloop)を配布することは、改変したものを配布することになるのでしょうか。
これが改変だということになると、面倒な問題が出てきます。KNOPPIXのcloopファイルを作成するということは、そこにインストールする多くのプログラムに、この改変を加えて、1つのcloopファイルに統合することだということになると考えるからです。ということは、複数のプログラムを改変して統合した1つのプログラムという位置づけになってしまうのではないでしょうか。GPLの場合、独立したプログラムの集合体なら、ライセンスの異なるプログラムを一緒に配布することが認められていますが、そうでなければ、全体がGPLでなければなりません。つまり、Javaはおろか、Apacheのようなものでさえ、ライセンスがGPLでないため、組み込めないことになってしまい、KNOPPIXのライセンスは破綻してしまいます。

KNOPPIXのような配布形態でも、GPLで言うところの独立したプログラムの集合体に該当すると言うためには、改変・統合とは別の見方をする必要があると考えます。

私は、通常のLinuxとKNOPPIXのようなCDブートLinuxは、配布とインストールのやり方が違うだけで、ライセンス的には同等であると考えます。
通常のLinuxは独立した複数のプログラムの集合体をCDROMなどのメディアに記録して配布し、エンドユーザが、インストーラを使って、これらのプログラムを特定のファイルシステムにインストールして使います。
これに対して、CDブートLinuxでは、独立した複数のプログラムの集合体をディストリビュータがCDROM上のファイルシステムにインストールして配布します。エンドユーザは、この配布されたファイルシステムをそのまま使います。

この両者は以下の点で同じです。
・共に独立した複数のプログラムの集合体を基にしています。
・実際にエンドユーザが使うものはインストールが終わったファイルシステムだという点も同じです。

違う点があるとすると、以下の点です。
・エンドユーザから見ると、CDブートLinuxでは、独立した複数のプログラムの集合体が見えません。
・インストール時にライセンス確認があった場合、それを確認するのは、CDブートLinuxでは、エンドユーザではなくディストリビュータになります。

この2点の違いを克服して、通常のLinuxとCDブートLinuxはライセンス的に同じ立場にあるということが出来れば、通常のLinuxでサポートできるプログラムなら何でも、CDブートLinuxにプリインストールして配布できることになるのではないかと考えています。
(3)独立した複数のプログラムの集合体がエンドユーザから見えない点について。

これについては、すでに類似の問題があります。GPLではソースをエンドユーザに提供することを求めていますが、現在の多くのLinuxの配布媒体からはソースは見えない点です。
これについては、インターネットからソースをダウンロードできるようにしたり、エンドユーザが要求すればいつでもソースを記録した媒体を実費程度の価格で配布できるようにすることで、問題無しとされています。
したがって、CDROM上のファイルシステムへのインストールに使用したプログラムについても、そのインストール用のバイナリパッケージに対して、ソースと同様な処置を講じれば、同じ論理で問題無しとなるのではないでしょうか。
実際、KNOPPIX本家では、このようなバイナリパッケージをインターネットから自由にダウンロードできるようにしてくれています。
(4)インストール時のライセンス確認をディストリビュータが行う点について。

これについては、ディストリビュータがライセンスを確認した時点で、そのライセンスをディストリビュータの責任でエンドユーザに通知し、確認を求める義務を負うと考えることで対処できるのではないでしょうか。そうすれば、ディストリビュータが、その義務を全うすることで、インストール時のライセンスをエンドユーザが確認したとみなすことが出来るようになり、問題は克服されると考えるからです。
その方法となると、すでに多くの先例があるので、おおよその見当は付くと思います。(少々面倒くさいものにはなりそうですが)

しかし、この問題は、インストーラでライセンス確認するプログラムだけの問題でしょうか。Linuxではインストーラでもライセンス確認しないものの方が多く存在しますが、これらのプログラムでも、ライセンスに同意しなければ使えない、あるいは、使ったことによってライセンスに同意したとみなされる点は同じです。
したがって、そのような仕掛けになっていることを包括的にでもエンドユーザに通知して、同意を求める必要があるのではないでしょうか。つまり、インストーラでライセンス確認するプログラムをプリインストールしたかどうかとは無関係に、全体の包括的なライセンスをディストリビュータの責任でエンドユーザに通知し、確認を求めることは、もともと、ディストリビュータに求められている義務なのではないでしょうか。
実際、Red Hat Linuxなどの統合インストーラを持つLinuxではインストールの最初の段階で、この包括的なライセンスの確認を求められます。
また、CDROMで配布されるものの場合には、CDROMの開封時にライセンスの確認を求めるのが一般的です。
KNOPPIXのようにisoイメージのダウンロードで配布されるものの場合は、ダウンロード時に、この包括的なライセンスの確認を求める必要がありそうな気がします。そして、その包括的なライセンスの中に、再配布する場合は、再配布者の責任でエンドユーザに包括的なライセンスの確認を求める義務があることを明記しておけば良いように思います。

以上のような対処をすることで、私は、CDブートLinuxもライセンス上は通常のLinuxと同じ立場に立つことが出来るようになり、通常のLinuxで配布できるプログラムなら何でも、CDブートLinuxにプリインストールして配布できるようになるのではないかと考えています。


過去のKNOPPIX関連日記一覧はこちら

KNOPPIX実験室







お気に入りの記事を「いいね!」で応援しよう

最終更新日  2004年08月17日 18時45分54秒
コメント(2) | コメントを書く


PR


© Rakuten Group, Inc.