サーバーから帳票を出力する為に使用するツールを検討している。
その中で、候補にあがったのが「JasperReportsLibrary」
参考サイト:http://dev.classmethod.jp/server-side/java/jasperreports-tutorial/
http://forum.samuraiz.co.jp/cfjasper/01.html
ダウンロード
JasperReprtsLibrary:http://community.jaspersoft.com/project/jasperreports-library
JaspersoftStudio:http://community.jaspersoft.com/project/jaspersoft-studio
オープンソースなので、幅広く使われている帳票出力ツールらしいが、懸念事項はライセンスの問題。「JasperReprtsLibrary」のライセンスは「LGPL」になっている。
参考サイトでは
JasperReports LibraryはLGPL、Jaspersoft StudioはEclipse Licenseで利用できます。したがって、通常の利用範囲であれば業務用途に利用しても問題ありません。
と記載されているのが一応調査することに。
まずは、ウィキペディアで記載されていた下記の文章の意味から調べる
ライセンス CE版:LGPL/EE版:商用
CE版とは、無償版の事、EE版とは、有償版の事だそうです。
無償のコミュニティ版と有償のエンタープライズ版がある
違いは、下記のサイトにまとめてある。
http://community.jaspersoft.com/wiki/komiyuniteiban-toshang-yong-ban-nobi-jiao
※無償版のライセンスが「GPL」になっているが、ダウンロードサイトでは「LGPL」になっているので誤記か、情報が古い可能性がある。
LGPLとは(GNU Lesser General Public License)
参考サイト:http://jehupc.exblog.jp/9618283/
http://itmemolog.blogspot.jp/2010/12/gpllgpl.html
http://matome.naver.jp/odai/2135907643207445801
http://d.hatena.ne.jp/kaiseh/20080517/1211053976
http://oshiete.goo.ne.jp/qa/2982240.html
GPLの制約を緩めたもの。
動的リンク(Windowsでいう.dllなど)として使用した場合は、呼び出し元のプログラムにはLGPLを適応させる必要がありません。
主にライブラリやモジュールなどに使用されます。
GPLとは(GNU GPL / GNU General Public License)
「フリーソフトウェア」の精神にもとづく代表的なライセンスで、2次的著作物(派生物)にも自由を保証する(コピーレフト)点が特徴です。
すなわち、GPLのコードを含むソフトウェアはGPLで配布しないといけません。また、配布の際にはソースコードの公開が必須となります。
こういった特徴から、開発者の間では「GPL汚染」などと呼ばれ敬遠されることも多いです。
誤解されやすい点ですが、GPLなソフトウェアを作成したら必ずソースコードを全世界に公開しなければいけないわけではありません。
ソースコード公開条件はソフトウェアを配布する際につくものであり、すなわち、ソフトウェアを使う人にだけ公開されていればよいことになります。
動的リンクって???
プログラムの実行に必要なライブラリやモジュールなどを、実行時にリンク(連結)すること。動的リンクにより利用するよう想定・設計されたライブラリファイルを動的リンクライブラリ(DLL:Dynamic Link Library)という。
結論として、LGPLライセンスのライブラリーを使ってもいいの???
解釈がたくさんあって、ダメという人もいれば、いいんじゃないという人もいる。
参考サイト:http://www.iplatform.org/develop/oss/oss_tech.htm
LGPLのもとに配布された著作物Aを改変して派生物A'を作成し、A'を再配布するときにはA'にもLGPLを適用しなければならない。ただしAを改変することなく、A'に1ライブラリとしてAを含めて再配布する場合は、A'にLGPLを適用しなくても問題ないと解釈されている。
参考サイト:http://www.gnu.org/licenses/lgpl-java.html
FSFの立場は、一貫して不変のままです: LGPLは意図したとおりに、Javaを含めて、すべての知られているプログラミング言語で機能します。LGPLのライブラリとリンクするアプリケーションはLGPLでリリースされる必要はありません。アプリケーションはLGPLの第6節の要求事項に従うことだけが必要とされます。すなわち、新しいバージョンのライブラリがアプリケーションとリンクできるようにすること、および、アプリケーションをデバッグできるようにリパースエンジニアリングを認めることです。
リパースエンジニアリングとは
ソフトウェアやハードウェアなどを分解、あるいは解析し、その仕組みや仕様、目的、構成部品、要素技術などを明らかにすること。プログラムの分野では、モジュール間の関係の解明やシステムの基本仕様の分析といった行為を含む。