ソフトウェアライセンスを選択する自由

近頃、ソフトウェアのライセンスに関する議論が盛んなようです。特にGPLとそれ以外(BSD、MIT、Apache)のライセンスとの比較について。

そこで僕が個人で開発・公開しているOSSであるdtlで修正BSDライセンスを採用している理由についてあらためて書いてみようかと思います。

dtlはまあ、仕事とは全然関係なくてほぼ完全に趣味です。ただ、それでも公開にあたってライセンスについてある程度勉強したり、リリースの作法について考えたり、ChangeLog書いたり、(英語で)ドキュメント書いたりといろいろためになっていると思っています。そんなに有名なわけでもありませんが、たまに海外の方からバグレポートや感謝の言葉を頂くこともあります。

具体的な事例だと、Qt CreatorやCode::BlocksのようなIDEのプラグインに使われているようです。


話を戻しますと、dtlのライセンスは修正BSDライセンスです。dtlはライブラリなので、基本的にユーザは開発者に絞られます。さらにライブラリ部分はC++のヘッダファイルのみで構成されており、ユーザが自分自身のプロジェクトのディレクトリに取り込むことを想定しています。この時点でGPLは選択肢から外しました。dtlGPLにするとそれを使うユーザ自身のソースコードGPLにせざるを得なくなります。ユーザ自身がGPLでいいと思っているのなら別に問題ないんでしょうが、それ以外の人にとっては迷惑な話です。このようなライブラリとしてのOSSのためにLGPLがありますが、dtlではBSDLの方が単純でわかりやすいという理由でBSDLの方を採用しています。まあ、当時僕自身がLGPLについて結構誤解していたというのも多分にありますが。

ほかにもいろいろありますが、先程も述べたようにユーザ(dtlを使いたい開発者)が気軽に自分のソースコードに取り込めるように、というのとdtlを使うユーザ自身のソフトウェアのライセンスを(ある程度)自由に選択できる余地を残すため、というのがBSDLを選択した主な理由です。*1
あと、オープン、プロプライエタリなソフトを問わず使ってもらいたいというのもあります。

@氏が言うようにGPLがプログラムを実行する側の立場のユーザの自由を尊重するという意見には同意しますが、ライブラリの開発者・使用者的にはライセンスを自分で選べる自由もほしいというのが個人的な見解です。


ちなみにソフトウェアのライセンスについて以下の書籍が参考になります。値段もお手頃。


ソフトウェアライセンスの基礎知識

ソフトウェアライセンスの基礎知識

*1:今思うとMITライセンスでもよかったかもしれませんが