Castle.ActiveRecordはNHibernate(LGPL)に依存しているので、使えない?

とおもったら、NHibernateの作者はLGPLに関する解釈についてコメントしている。
http://hibernate.org/356.html

Hence our interpretation of the LGPL is that the use of the unmodified Hibernate source does not affect the license of your application code.

NHibernateの作者は改変しない限り本体のライセンスに影響ない。つまり、商用製品のソースコード公開しないでも使っていいよと解釈できる。作者がいいって言ってる以上、いいんじゃないだろうかと思うが、興味があったので、もう少し突っ込んでみる。

NHibernateと同様の解釈をしている人は他にも見られる。
http://stackoverflow.com/questions/94346/can-i-legally-incorporating-gpl-lgpl-open-sourced-software-in-a-proprietary-cl

NECOSSライセンス・コンプライアンス コンサルティング・サービスの資料を見るとLGPLで配布されているライブラリを利用するプログラムは、そのリバースエンジニアリングを許可しなければならないとある。
OSSライセンス・コンプライアンス コンサルティング・サービス: OSS/Linuxソリューション | NEC
「LGPLライブラリを改変,商用製品と配布したい」(1) Linux Square − @IT
http://oooug.jp/start/open/open04.html

これらの解釈はLGPLの意図するところと矛盾しないのだろうか?LGPL2.1の条文の最後の方を見る限り作者の許可を求めるなどで、ある程度の融通を効かしているようにも思える。

LGPLのはじめにのところを見ると、本体のソースを開示せずにフリーのライブラリを使うことの制限を緩和することを目的としているように思われるのだが、途中のところの条文を見ると、それは駄目みたいなことが書いてあって言いたいことを読み取るのが難しい。一般的には本体のリバースエンジニアリングを禁止しなければOKという見方が多いようだ。

そういうわけで、NHibernateを改変しないでリバースエンジニアリングを禁止しない商用製品とともに再頒布することは、LGPL違反ではないと結論づけたい。

ちなみにC#クロスプラットフォーム実装であるMonoはGPL