現在、調査中&執筆中の記事で「青色申告決算書をPDFで出力する」というのがあるのだが、それでいろんなライブラリを調査していて気づいた点があるので、別記事にして紹介。

PHPを使ってPDFの帳票を出力するための「pdf2html」というライブラリがあるのだが、ちょっとコイツがライセンス的にややこしい。

というのも、html2pdf自体のライセンスはOSL(Open Software Lisence) となっていて、GPLと同様に、このライブラリを含めて開発したソフトウェアを再配布する場合、ソフトウェア全体にOSLを適用せねばならない。

これだけでもちょっと躊躇しそうなところだが、GPLの場合だと、Webサービスのように、あくまでもシステムの実行結果を提供しているだけ、という場合はソフトウエア自体の「再配布」とは見なさない、ということになっている。(この点は"ASP Loophole"とも言われている)
ところが、OSLは「システムの実行結果を提供しているだけ」でも「再配布」とみなすので、html2pdfを使ったWebサービスはOSLにしなければならない、ということになってしまうので、GPL以上に導入しづらい。

 

さらに厄介なのが、html2pdfそのものが「ライセンス違反」をしているのでは?という懸念が拭えない。

html2pdfのインストール方法をみると、パッケージ管理システムのcomposer必須、とある。別にこれは大した問題じゃないんだが、composer向けの設定ファイル(html2pdfを使う際のパッケージの依存関係が記されている)をみると、「TCPDF」が必要、となっている。
TCPDFはhtml2pdfとは全く別のPHPライブラリなのだが、それを利用しているようだ。

ってか、公式サイトにも堂々と「 (use TCPDF).」と書いてある。ソースを見ると、「extends from TCPDF」だとか、TCPDFという記述も多数。さらにさらに、パッケージ内に「tcpdf.config.php」という、TCPDFからそのままコピーして来たように思われるファイルがそのまま置いてある。
いや、でもTCPDFもOSLで提供されているならそれでも別に問題ないのでは。。。ということで、TCPDFのライセンスを確認すると。。。

// TCPDF is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.

LGPLv3 でした...。

単に、TCPDFのクラスを継承しているだけであれば、LGPLには「継承」に対して特段の条件は無いようなので、別に問題なさそう。
が、TCPDFからコピーしてきたソースを含んだパッケージということなら、TCPDFを「改変」したライブラリと見なされるのでは?
そうなると、LGPLで提供されているライブラリを改変したライブラリはGPLかLGPLでなければいけない、ということになっている。
大丈夫なのか、これ??