Learn iPhone, iOS, Objective-c, Swift, cocos2dx, Unity and ….?

iOSやAndroid開発でのエラー解決法や便利tipsのメモ

RSS Feed

ライセンスについての話(GPL, BSD, MIT License)

2 Comments
Posted by Kuro on 2013/02/10

スポンサードリンク

Objective-Cでオープンソースライブラリあさりをよくしているのですが、ラインセンスの意味が非常に分かりづらいのでまとめてみました。

よく見かけるのはGPL(GNU General Public License)、BSD(Berkeley Software Distribution License)
、MIT Licenseの3つ。

代表的な3ライセンス GPL(GNU General Public License), BSD(Berkeley Software Distribution License), MIT License

これらのライセンスに共通するのは「一定の条件の下でソフトウェアの使用、複製、改変、(複製物または二次的著作物の)再頒布を認めている」「無保証である」という点です。

GPLライセンス

GPLライセンスの特徴はコピーレフト (Copyleft)という条件が付いているということです。
GPLライセンスのソースコードを使ったソフトウェアにはGPLライセンスが適用されなくてはならないというものです。
ソースコードを公開する義務があるので商用利用には向きません。
(注!:「ソースコードの公開義務」という言い方は正しくありません。コメ欄参照。)
また、GPLライセンスのコードを少しでも使ったソフトウェアのコードは強制的にすべてGPLライセンスが適用されるということで、その感染力の強さをウイルスに例えた話もあります。

BSDライセンス

これに対し、BSDライセンスにはコピーレフト条件はなく、無保証であることの明記と著作権およびライセンス条文の表示を再頒布の条件としており、ソースコードの公開義務もありません。
ただ、初期のBSDライセンスには「宣伝条項」というめんどうなものが付いていました。
宣伝条項とは、派生物の広告に初期開発者を表示することを義務付けるというものです。
BSDライセンスのコードのソースコードを複数利用すると、その数だけ広告に余計な文章を付け加えなくてはならなくなります。
この宣伝条項の部分だけで一面広告が必要になってしまうという自体が起こりかねません。
この条項は不評だったため、その後この宣伝条項を除いた新しいBSDライセンスが作られました。
この新しい条項は、修正BSDライセンス (New BSD License)または三条項BSDライセンス (3-clause BSD license) と呼ばれています。

MITライセンス

MITライセンスは、三条項BSDライセンスから条件を1つ削った二条項BSDライセンス (2-clause BSD license)
と同じものです。

削られた条件は以下のものです。

Neither the name of the owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Template:BSD

「書面による明確な事前許諾なしに、本ソフトウェアから派生した製品の宣伝または推薦者として当団体、貢献者の名前を使用してはならない。」

悪質な派生製品に勝手に名前を使われて名誉を傷つけられるのを防ぐための条項のようです。

GPL, BSD, MITライセンスコードの基本的な使い方

GPL, BSD, MITライセンスのソースコードを使う場合の最低限の条件は、無保証であることの明記と著作権およびライセンス条文の表示です。元ソースか別ファイルのどこかに含まれている該当箇所(無保証であることの明記と著作権およびライセンス条文が書かれた箇所)をそのまま残せばこの条件を満たせます。
その他の条件は各ライセンスによって異なりますが、もっとも条件の緩いMITライセンスはこれだけでよいようです。

ネットで検索しながら調べましたが、ライセンスの解釈については諸々あるようなので、上に書いたことを鵜呑みにせずに自分で調べて理解した上で使いましょう。
もちろん当文章の内容は無保証です。

スポンサードリンク


Tagged as ,
You can leave a comment, or trackback from your own site.

2 Comments

  • On 2013/02/12 at 09:12 catch said

    こんにちは。
    記事を大変興味深く拝見しました。

    >ソースコードを公開する義務があるので商用利用には向きません。

    GPLの場合、「ソースコードを公開する義務がある」のではなく、正確には
    バイナリ―コードを渡した相手に、ソースコードを同じ条件で入手可能にする
    ということだと思います。
    GPLの第2節に書いてあります。
    http://sourceforge.jp/projects/opensource/wiki/licenses%2FGNU_General_Public_License

    商用利用に向くかどうかは、個々の判断だと思いますが、商売しているところもたくさんあるので、それも併記するといいと思いました(レッドハットとか、MySQLとか)

    僭越ながら、参考になれば幸いです。

    返信

  • On 2013/02/12 at 22:26 Kuro said

    catchさん

    コメントありがとうございます。
    勉強になります。

    >GPLの場合、「ソースコードを公開する義務がある」のではなく、正確には
    >バイナリ―コードを渡した相手に、ソースコードを同じ条件で入手可能にする
    >ということだと思います。

    「ソースコード公開義務」ではないのですね。
    配布した相手にのみ生じる義務であり、公開が義務ではなく入手可能な状態であればよい。
    だから、誰にも配布せずに使用するぶんにはクローズドでも問題ないと。

    公式文書は分かりにくいしネット上には「ソースコード公開義務」と書いてしまっているところも多いなか以下のブログがとても参考になりました。
    http://nippondanji.blogspot.jp/2010/06/gpl.html

    >商用利用に向くかどうかは、個々の判断だと思いますが、商売しているところもたくさんあるので、それも併記>するといいと思いました(レッドハットとか、MySQLとか)

    商用利用については、ソースコードが公開されているならわざわざ買う人がいなくなるので商用には向かないと短絡的に考えました。
    でもソフトウェアを売らなくてもサービスを売れば十分ビジネスになりますね。

    MySQLは最近ごたごたしているようですね。
    Oracleはオープン性をビジネスの障害と見ているのでしょうか。
    この辺も調べると勉強になりそうです。

    返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

Popular Posts