LLGPLを和訳してみた

github.com

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

LLGPLとは

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

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

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

2017/9/12 16:52訂正

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

訂正ここまで

例として、ゲームなどのアプリケーションが挙げられます。

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

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

そこで、Common Lispのイメージ指向な事情に対応した条項を追加する必要がある、ということで作成されたのがLisp GNU Lesser General Public Licenseです。

ちなみにLLGPLは、LGPL v2.1を元にして作られたライセンスです。

翻訳するに至った経緯

このごろ（やっと）オープンソースプロジェクトのライセンスを気にするようになりました。

RMSやFSFの主張する「自由なソフトウェア」という考えかたに共感を覚え、それを明示するライセンスの内容や抱える問題、ソフトウェアとの関係に興味をもったからです。そして、自分が書いたコードはどのライセンスであるべきなのか、など。

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

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

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 追記