[#34139] cygwin から mswin32 へそれと高速化 require — "井上 浩一" <kyoui32@...>
井上です。
[#34150] Ruby1.6.7 について — Nagai T <idonagai@...>
どうも、Tnagaiです。
[#34169] File#dirname( filename , deep=1 ) — Take_tk <ggb03124@...>
File#dirname( filename , deep=1 )
[#34173] 「プログラミング Ruby 」 p.247 グローバル変数 — Noritsugu Nakamura <nnakamur@...>
[#34188] 1.6 系から 1.7 系へ以降する際の注意 (mswin32 版について) — "井上 浩一" <kyoui32@...>
[#34198] ruby 1.6.7 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
In message <1015305748.444543.10114.nullmailer@ev.netlab.jp>
[#34204] 「プログラミング Ruby 」 p.257 defined? はメソッド? — Noritsugu Nakamura <nnakamur@...>
なかだです。
山本です。こんにちは。
[#34207] RWiki CGI log fails — dellin <dellin@...>
dellinです。
[#34225] [mswin32] accessing SIGHUP causes invalid signal error — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
こんにちは、なかむら(う)です。
なひです。こういう展開になるんだったらruby-devでしたね。。。
こんにちは、なかむら(う)です。
[#34241] Re: 1.6 系から 1.7 系へ以降する際の注意 (mswin32 版について) — "井上 浩一" <kyoui32@...>
井上です。
[#34244] しぶらぐっ議事録。 — rubiben <ozaki@...>
あおきです。
るびべんです。
artonです。
From: rubiben <ozaki@ruby-lang.org>
るびべんです。
From: rubiben <ozaki@ruby-lang.org>
どうも西尾です。
新井です。
From: Koji Arai <JCA02266@nifty.ne.jp>
新井です。
まつもと ゆきひろです
[#34319] require "cgi/session" でエラー — FUJIOKA Takeyuki <fujioka@...>
はじめまして,藤岡と申します。
藤岡です。
[#34337] erb-1.4.0 — m_seki@...
[#34374] Ruby オプション — "井上 浩一" <kyoui32@...>
井上
[#34376] Re: 多種多様の文字コードに対応するには? — "井上 浩一" <kyoui32@...>
井上です。
[#34393] Re: Ruby オプション — "井上 浩一" <kyoui32@...>
井上です。
In article <F249zDabigPasSmz6Uu0000ec21@hotmail.com>,
[#34400] Re: Ruby オプション — "井上 浩一" <kyoui32@...>
井上です。
[#34425] [ANN] Ruby/zlib 0.5.0 — UENO Katsuhiro <unnie@...>
うえのです。
[#34434] begin-rescue の ruby バージョンごとの挙動について — Kengo Nakajima <ringo@...>
こんにちは
[#34448] 文字コード混在スクリプトの実行 — Noritsugu Nakamura <nnakamur@...>
[#34453] カレンダー文字列を作るメソッド — Take_tk <ggb03124@...>
たけ(tk)です。
[#34456] 再帰の限度 (Mac OS X) — Hiroyuki KUROSAKI <noir@...>
iBook を購入したので、さっそく Ruby 1.6.7 をインストールして
On Sat, 16 Mar 2002 21:19:10 +0900, in message
[#34481] Ruby お花見@大阪 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#34491] ruby-dev summary 16201-16300 — rubiben <ozaki@...>
るびべんです。
[#34498] cgi.rb でマルチパートでの実験方法 — FUJIOKA Takeyuki <fujioka@...>
藤岡です。
[#34500] ライブラリの著作権について — rubiben <ozaki@...>
るびべん です。本職での登場です(笑)。
rubibenさんの<20020319153000.F31A.OZAKI@ruby-lang.org>から
[#34529] gsub! /(^|[^0-9])(?=[a-z])/ — "TOYOFUKU Chikanobu" <toyofuku@...>
豊福です。
[#34534] スクリプティング言語における GPL — Taku Nakajima <tnakajima@...>
中島@ブレーンです。
るびべんです。#最近本業での登場回数が多いなぁ(^^;;
中島@ブレーンです。
At Thu, 21 Mar 2002 14:29:14 +0900,
中島@ブレーンです。
[#34552] Re: 1.7 に関して — "井上 浩一" <kyoui32@...>
井上です。
こんにちは、なかむら(う)です。
高橋征義です。
はじめまして、りゅうです。
まつもと ゆきひろです
[#34570] cgi.rb+ イテレータ — FUJIOKA Takeyuki <fujioka@...>
藤岡です。
At Fri, 22 Mar 2002 17:22:10 +0900,
[#34599] [ANN] リファレンスマニュアル (Plucker format) — rubikitch <rubikitch@...>
るびきちです。
[#34609] エラーメッセージ "odd number list for Hash" — cyross@...
お久しぶりです。サイロス誠です。
[#34618] begin expr with while_mod/until_mod — FUKUBAYASHI Ippei <ippei@...>
壱平ともうします。最近Rubyで遊ばせていただいています。
[#34630] [Q]druby のサーバを Web 上から起動 / 停止する — eda@...
えだです。
[#34640] scan(/(\d)?a?(\d)?b?/) — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
[#34652] erb 1.4.2 failed — TADA Tadashi <sho@...>
ただただしです。
[#34668] HTML のフォームから multipart/form-data を受け取る処理での質問 — Takuo Tabata <taku@...>
こんばんは。
[#34676] 安心できる Marshal と、 Ruby バージョンの検査法 — MALTA Koji <malta@...>
丸田と申します。
新井です。
丸田です。 MarshalとRUBY_VERSIONの話題を分離します。
まつもと ゆきひろです
わたなべです。
At Mon, 1 Apr 2002 16:06:23 +0900,
わたなべです。
丸田です。
ひだかです。
丸田です。
まつもと ゆきひろです
なひです。
新井です。
こんにちは、なかむら(う)です。
In article <20020404095542.7155.USA@osb.att.ne.jp>,
わたなべです。
[#34681] 書籍に関する質問です — Nobuhide Kanagawa <nobuhide@...>
こんにちわ。
なかだです。
[ruby-list:34534] スクリプティング言語における GPL
中島@ブレーンです。
最近、ある方からWalrusのライセンスについて疑問を提起されました。自分な
りに調べてみたのですが、Rubyのようなスクリプティング言語について、GPL
がどのように適用されるか、ということがわからず解決できないでいます。ど
なたか詳しい方のアドバイスをいただきたいのですが、よろしくお願いします。
○ 問題の概要
Walrusは、現在GPL2の元で公開しています。Walrus自体は今後も永久的にオー
プンソースソフトウエアであり続けるつもりですが、問題は、Walrusを使って
開発したアプリケーションのライセンスです。WalrusがGPLだと、Walrusの元
で動作するアプリケーションも自動的にGPLになってしまい、商用利用は事実
上不可能になるのではないかというのが、問題の指摘の内容です。
問題は二つに分かれると思います。
(1) GPLのソースをrequireするプログラムは必ずGPLになる
(2) 開発されたプログラムがGPLであると再配布をしなくてもソース公開の義
務が生じる
私としては、Walrusは商用目的でも使ってほしいので、もしこの指摘が正しけ
ればライセンスを変更する必要があると思いますが、本当にそうなのか確認し
たいのです。
○ GPLのソースをrequireするプログラムは必ずGPLになるのか
Walrusの元でのアプリケーションは、次のようにWalrusが提供するclassを継
承して作成されます。
# hello.rb
require "walrus/walrus"
class HelloDocument < Walrus::HtmlDocument
def greeting
"hello"
end
end
このソースをWalrusがロードし、環境定義ファイルという別のファイルの指示
に従って、HelloDocumentクラスのオブジェクトが生成され、そのオブジェク
トがWalrusの他のオブジェクトと共に動作します。
これについて、私は次のように考えていました。
Walrusとhello.rbの関係は、ワープロと文書のようなものである。ワープ
ロがGPLで、ワープロ文書の中にマクロのプログラムが書かれていて、その
プログラムがワープロと同一のプロセス(メモリ空間)で実行されるとして
も、文書(の中のマクロ)は「それ自体独立で異なる作成物」であり、GPLに
する必要性はない。同様にhello.rbはWalrusが処理するコンテンツであり、
たまたま、Walrusを実装した言語と同じ言語で書かれているだけである。
つまり、hello.rbは「それ自体独立で異なる作成物」でありWalrusがGPLで
あることからライセンスについて制約を受けることはない。
Exerb(rb2exe)のように、スクリプトとruby本体を一体化するツールを使って、
Walrusを単体のバイナリにしてしまえば、この意味が明確になると思います。
一方で、指摘されて気がついたのですが、次のような解釈もなりたちます。
Walrusとはライブラリであり、hello.rbはこのライブラリを利用するソフ
トウエアである。この場合は、ライブラリをリンクして作成されたバイナ
リに対してライブラリのGPLが適用される(伝染する)ことに準じて、
hello.rbもGPLになると考えるべきである。
これを一般化すると、「GPLのソースをrequireするプログラムは必ずGPLにな
るのか」という問題になります。これはperlやpythonでも同様に発生すること
ですから、どこかに答えがあると思ったのですが、見つけられませんでした。
○ 再配布をしない時のGPLによる制約
そこで、仮にアプリケーションがGPLになるとしたらどうなるか考えてみたの
ですが、そこでまた難問が発生しました。ユーザが外部に公開したくないアプ
リケーションをWalrusで開発できるのか、ということです。
ユーザがソフトハウスに自社の業務用のアプリケーションを発注して、ソフト
ハウスがWalrusで開発し、そのソフトにGPLが適用されたとします。すると、
GPLによって、以下の権利が保証されます。
(1) ユーザはソースをもらう権利がある
(2) ユーザはこのアプリを(GPLのもとで)再配布する権利がある
インタープリタ言語ではソース=実行形式ですから、(1)は常に満たされている
ので、意味がありません。
問題は(2)の方ですが、もしユーザがこのアプリケーションを再配布しようと
すると、そこでユーザの方が配布元になるので、いろいろな制約が発生します
が、一般的にはユーザは自社専用のアプリを再配布しようとは思いません。再
配布しようとしなければ(2)の方も無意味になります。
それで、仮にアプリケーションがGPLになるとしても実質的な問題はないと、
私は判断したのですが、「GPLの前文によると、この場合、第三者が配布元に
ソースを請求できる(という解釈が一般的である)」という指摘を受けました。
そんな解釈があるとは知らなかったのですが、これを主張する某氏は、GPLを
原文で読んで、それなりの知識を持っておられるようです。そのような解釈は
本当に一般的なのでしょうか?
なお、私と某氏とのやりとりは、以下の掲示板の36番以降で参照することがで
きます。
http://210.155.146.159/bbs/s27/
ただし、最初の方は私(ハンドル名walrus)が問題点をよく把握できないまま答
えていますので、散慢なやりとりになってしまっています。
--
「stableでなければ生きていけない。unstableでなければ生きてる意味がない」
中島 拓 (株)ブレーン 研究部 (tnakajima@brain-tokyo.jp)
http://www.brain-tokyo.jp/~research/koutetu/