octahedron

LemとSKKとCommon Lispでたたかうプログラマのブログ

Lisp GNU Lesser General Public Licenseを和訳してみた

LLGPLを和訳してみた

github.com

 T/Oなんですが、それだけでは寂しいので経緯と概要を記しておこうと思います。

LLGPLとは

 Lisp (特にCommon Lispか)の事情に対応するための前文を付け足したLGPLです。LGPLについては概要、経緯ともにWikipediaの当該記事が詳しいです。

 Common Lispはイメージ指向の言語であり、ひとつの大きなイメージの中に標準関数群、ライブラリ(パッケージ)を全て読み込んでコードを実行するような形態を取っています。LGPLにおいて、以下に引用するのように、静的リンク・動的リンクを区別する文言がありますが、

『ライブラリ』のいかなる部分の派生物も含まないが、それとコンパイルされ るかリンクされることにより『ライブラリ』と共に動作するようデザインされ ているプログラムは、「『ライブラリ』を利用する著作物」と呼ばれる。その ような著作物は、単体では『ライブラリ』の派生著作物ではないので、この契 約書の範囲外に置かれる。

しかし、「『ライブラリ』を利用する著作物」に『ライブラリ』をリンクして 実行形式を作成すると、それは「『ライブラリ』を利用する著作物」ではなく、 『ライブラリ』の派生物となる(なぜならそれは『ライブラリ』の一部を含ん でいるから)。そこで、実行形式はこのライセンスで保護される。

--- GNU 劣等一般公衆利用許諾契約書, http://www.opensource.jp/lesser/lgpl.ja.html

Common Lispでは、プログラムの目的のためにLGPLでライセンスされたライブラリを利用すると、実行時にプログラムがランタイム(イメージ)上にロードされます。そのため、その状態でCommon Lispのランタイムは上記LGPLの条文「『ライブラリ』を利用する著作物」に『ライブラリ』をリンクして 実行形式を作成するとに該当してしまい、ランタイムがライブラリの派生物となってしまいます

2017/9/12 16:52訂正

ランタイムはライブラリの派生物にはなりませんご指摘のとおりなのですが、実行可能形式の作成時にリンクすると、ライブラリの派生物になります。

訂正ここまで

 例として、ゲームなどのアプリケーションが挙げられます。
 LGPLでライセンスされたあるゲームエンジンを利用するゲームアプリケーションがあったとすると、そのゲームは直感的には『ライブラリ』を利用する著作物ですが、LGPLの規定によってゲームエンジンの派生物となります。

 これはLGPLが、動的リンクが可能であるC言語で作成されたプログラムを前提として作成されているために発生する問題です(っていうかWikipediaLGPL記事の「プログラミング言語による特異性」にこのこと書いてあった……)。

 そこで、Common Lispのイメージ指向な事情に対応した条項を追加する必要がある、ということで作成されたのがLisp GNU Lesser General Public Licenseです。
 ちなみにLLGPLは、LGPL v2.1を元にして作られたライセンスです。

翻訳するに至った経緯

 このごろ(やっと)オープンソースプロジェクトのライセンスを気にするようになりました。
 RMSFSFの主張する「自由なソフトウェア」という考えかたに共感を覚え、それを明示するライセンスの内容や抱える問題、ソフトウェアとの関係に興味をもったからです。そして、自分が書いたコードはどのライセンスであるべきなのか、など。

 んでも、ライセンスって原文が英語なので、読むのが苦しい。非常に苦しい。

 そこで谷口さんにこのドキュメントを教えてもらいました。

www.ipa.go.jp

 ふう。これでLGPLまではよしとします。

 ところでLispの上述の事情を考慮したLLGPLなるものがあるようで、存在は以前から知っていましたが、英語なので辞書を引き引き苦労してなんとか読むのですが、これを毎回やるのがなかなかつらい。くるしい。
 どうやらLGPLと違いマイナーなせいか、和訳はないようでした。

 ならば自分で和訳すれば、理解も深まるしいいのではないか。

……というのが、翻訳に至った経緯です。

LLGPL.ja

 というわけでひととおり翻訳しました。
 リポジトリの目的は理解を助けるためであり、厳密さが要求されるときにはちゃんと原文読んでね! というスタンスでいこうと思います。

 そういえば、和訳自体のライセンス、どうすればいいんだろう。GNUのドキュメント用ライセンスがあったと思うけど……。

2017/9/11 の夜に追記

 以下のご指摘を頂き、上記のライセンスどうしようの部分は不適切だと思われたため、削除します。翻訳者はぼくですが(リポジトリに明記していない)、原著作者はFranz Inc.であり許諾はないため、ぼくにライセンスを検討する理由はないことが理由です。

 これはぼくの不勉強のせいでした。ご指摘いただいたこと、お礼申し上げます。

2017/9/12 01:01 追記

そもそもFranz Inc.にコピーライトがあるのに、勝手に翻訳を公開していいのか怪しいため、一旦同社にお伺いのメールを送りました。返答次第では翻訳をWeb上から削除します。

2017/10/04 19:04 追記

Franz Inc. にメールにて確認し、http://opensource.franz.com/preamble.html にリンクを張ってあれば翻訳を公開してよい旨の返答を頂きました。