Skip to main content

オープンソースライセンス: 種類と比較

0 分で読めます

ソフトウェアを購入する多くの人をはじめ、ときには新人の開発者さえ、「オープンソース」という用語を、ソフトウェアが必要に応じて使用、コピー、変更、配布できるという意味であると誤解しています。この誤解は、オープンソースとパブリックドメインまたはシェアウェアを混同することから生じていると考えられます。

実は、オープンソースのソフトウェアは、そのほとんどが数種類のオープンソースライセンスのうちのいずれかでカバーされており、必ずしも無償で提供されているわけではありません。

ベンダーがソースコードへのアクセス、コピー、修正を禁止しているプロプライエタリソフトウェアとは対照的に、オープンソースコードでは他のプログラムやアプリケーションによるコードの使用、再利用、共有、変更、配布を許可しています。ただし、プロプライエタリソフトウェアライセンスと同様、オープンソースソフトウェアでも、有効なオープンソースライセンスの種類によっては、さまざまな法的条項や制限の対象となります。したがって、オープンソースソフトウェアのライセンス条項に準拠し続けることが重要です。また、オープンソースソフトウェアの使用に関連するその他のリスクにも注意する必要があります。

この記事では、さまざまな種類のオープンソースライセンスを取り上げ、オープンソースコードの誤用や不正利用を制御してソフトウェア開発者とユーザーの両方を保護する方法について説明しています。

オープンソースライセンスとは

オープンソースソフトウェアのライセンスは、開発者以外の人がソフトウェアコードをどのように使用、変更、配布できるかを規定しています。また、他のユーザーがそのコードを新しいアプリケーションに使用したり、再利用したり、他のプロジェクトに取り入れたりすることを許可し、権利を与えています。

オープンソースコードの主な利点の一つは、その可視性で、ドキュメントが不足していたり間違っていたりする場合に、問題のトラブルシューティングを容易にし、何がどのように動作するかをより良く理解できます。

オープンソースライセンスの種類によっては、元のソースコードを変更して、ニーズに合わせて調整したり、見つけた問題を修正したりすることさえ許可されている場合があります。それが可能かどうか、またどのような条件で可能かについてはライセンスによって決まります。たとえば、変更を行った場合は、一般公開が求められる場合があります。

オープンソースライセンスの種類について

オープンソースライセンスには 80 種類以上のバリエーションがありますが、一般的に、コピーレフトとパーミッシブの 2 つの主要なカテゴリのいずれかに分類されます。

コピーレフトライセンスは、元のオープンソースコードから派生したコードがそのライセンス条項を継承するライセンス形態です。

パーミッシブライセンスとは、再利用、改変、配布の自由度を高めた寛容なライセンス形態です。

Open source licenses comparison: popular copyleft licenses and permissive open source licenses.
オープンソースライセンスの比較: 人気のあるコピーレフトライセンスとパーミッシブオープンソースライセンス

コピーレフトライセンス

コピーレフトのオープンソースライセンスは、制限の多い順に、AGPL、GPL、LGPL、EPL、Mozilla があります。

  • GNU General Public License (GPL) は、ライセンス通知や著作権条項を保持し、商用、特許、私的使用に適しています。GPL のコードを使用するソフトウェアは、そのすべてのソースコードを同じライセンスの下で配布しなければなりません。そのため、ソフトウェアで GPL コードを使用し (GPL ライブラリを使用するなど)、アプリケーションを配布する場合、すべてのソースコードを同じ GPL ライセンスの下で利用できるようにする必要があります。この制限により、GPL は強力なコピーレフトライセンスになっています。

  • Affero GPL (AGPL) では、一部のソフトウェアにとって重要な条項を一つだけ追加しています。GPL ライセンスはソフトウェアが配布されたときにのみ有効になるため、ネットワーク上でのみ利用可能なソフトウェア、つまり明示的に「配布」されていないソフトウェアには抜け道があります。AGPL ライセンスは、ネットワーク上で使用されるあらゆるソフトウェアに GPL ライセンスを発動させるリモートネットワークインタラクション条項を含むことによって、この抜け道をふさいでいます。

  • Lesser General Public License (LGPL) は、AGPL および GPL のコピーレフトオープンソースライセンスと同じレベルの条件を提供しています。これには、著作権の保護とライセンス通知が含まれます。主な違いは、大きなライセンス製品を通じてアクセスする小さなプロジェクトやオブジェクトでは、大きなプロジェクトの配布を必要としない点です。さらに、変更したソースを、大きなコードプロジェクトに適用されるのと同じ条件の下で配布する必要はありません。

  • Eclipse Public License (EPL) は、一般にビジネスソフトウェアで使用されています。EPL では、EPL、非 EPL、プロプライエタリコードで開発されたソフトウェアを結合してサブライセンスすることができます。ただし、EPL 以外の要素はすべて独立したモジュールやオブジェクトとして存在していることが条件になります。変更は EPL ライセンスで行うことができますが、同じ条件でリリースする必要があります。

  • Mozilla Public License (MPL) は、最も制約の少ないコピーレフトのオープンソースのソフトウェアライセンスです。MPL でライセンスされたコードを別のファイルに保存し、そのファイルをソフトウェアと一緒に配布する限り、クローズドソースやプロプライエタリソフトウェアでのコードの変更や使用が容易になります。また、MPL は特許権の付与や著作権表示の保持を義務付けています。

パーミッシブライセンス

最も人気のあるオープンソースのパーミッシブライセンスには、Apache、MIT、BSD、Unlicense があります。

  • Apache ライセンスでは、配布されたコードやソフトウェアの内部にライセンスと著作権を表示して通知する必要があります。ただし、派生物、大規模プロジェクト、変更については、配布時に異なるライセンス条件を適用することが認められており、ソースコードの提供は必要ありません。Apache ライセンスには、特許権の許諾が含まれています。

  • 開発元の有名大学の名前を冠した MIT ライセンスは非常に短く明確で理解しやすいためか、おそらく世界で最も利用されているオープンソースライセンスです。配布するソースコードやソフトウェアにオリジナルの著作権やライセンス表示がある限り、誰でもオリジナルのコードで好きなことを行うことができます。これは、著作者の責任を排除するものであり、特許権の付与を明示的に含むものではありません。

  • Berkeley Source Distribution (BSD) ライセンスもパーミッシブオープンソースライセンスの一つで、ライセンス表示や著作権は保護されていますが、より大規模な作品やライセンスを受けた作品をソースコードなしで、異なるライセンス条件の下で配布することを認めています。2 条項の BSD ライセンスは MIT オープンソースライセンスと非常に似ていますが、3 条項および 4 条項の BSD ライセンスでは、再利用やその他の条件に関する要件や制限が追加されています。 

  • Unlicense: その名の通り、これはオープンソースをパブリックドメインに公開することになるため、オープンソースライセンスの中で最も制限の少ないライセンスになります。無条件で、これらの無許諾著作物をソースコードなしで、異なる条件の下で配布することが可能です。

最適なオープンソースライセンスを選ぶには

どのオープンソースライセンスを選択するかは、ライセンサーや開発者がそのソフトウェアを何のために使用するかに大きく依存します。ライセンスを比較する際は、次の点について検討してください。

  • コピーレフトライセンスを選択する場合は注意が必要です。元のライセンスが非常に寛容(パーミッシブ)であれば、変更されたコードも同様に制限のないものとなり、著作者にとっては有利でない場合があります。

  • しかし、コピーレフトライセンスは一般に、パーミッシブライセンスより制限が多く、責任は少なくなります。

  • できるだけ多くのコードの再利用や共有を意図している場合は、おそらくパーミッシブライセンスのレベルが最適です。

  • ネットワーク上で使用されるソフトウェアを開発する場合、AGPL を選択すると非常に有利になります。この一般的な例としては、オープンソースデータベースが挙げられます。AGPL の下でライセンスしないことで、どの企業 (大手クラウドプロバイダーなど) も、その製品を改良して収益化でき、その変更の配布を求められることはありません。

  • GPL ライセンスには大きく分けて、GPLv2 および GPLv3 という 2 つのバージョンがあります。GPLv3 にはたくさんの違いがあり、そのほとんどは特許など GPLv2 でカバーされていない問題を扱っています。また、GPLv3 は Apache License v2 など他のオープンソースライセンスとの互換性も高めています。ただし、この 2 つのバージョンの GPL には互いに互換性がないことに注意してください。

  • MIT ライセンスは一般に普及しているため、認知度が高く、広く理解されているという利点があります。MIT ライセンスのソフトウェアの利用に関しては、再配布やマネタイズに関する制約がないため、どのような利用方法にも対応できるのが魅力です。また、他の多くのオープンソースライセンスと互換性があり、MIT ライセンスのコードは、異なるライセンスを使用する他のオープンソースプロジェクトで使用できます。

オープンソースのライセンス管理

多くの開発者、企業、商用ソフトウェア会社は、数種類のオープンソースライセンスを組み合わせて使用しています。ソフトウェアの開発、購入、配布に伴い、これらのライセンスの管理はますます複雑になる可能性があります。

Snyk のライセンスコンプライアンスソリューション

Snyk が提供している完全なライセンスコンプライアンスソリューションは、プロジェクトでオープンソースソフトウェアライセンスのコンプライアンスを維持しながら、すばやい開発ペースを維持するのに役立ちます。

「Snyk ツールはオープンソースライセンスの問題を特定するため、開発者はクリーンで管理しやすいレポートを生成して法務チームに送信でき、開発者の作業時間を大幅に節約できます」。

Blue Prism 、アプリケーションセキュリティマネージャー、スコット・ミッチェル氏 (Scott Mitchell)