オープンソースライセンスの仕組みとプロジェクトへの追加方法

最近、世界中の開発者にとってエキサイティングなニュースがいくつかありました。Facebookは、開発する複数のライブラリのライセンスを変更しました。彼らはBSD-3 +特許からMITに切り替えました

それは良さそうですが、それはどういう意味ですか?さまざまなオープンソースライセンスの意味は何ですか?

この記事では、人気のあるライセンスについて簡単に理解できます。また、GitHubのオープンソースプロジェクトにそれらを適用する方法についても説明します。

当局

最も人気のあるオープンソースライセンスには、共通の重要な側面があります。オープンソースイニシアチブ(OSI)がそれらを承認しました。

OSIは、オープンソースソフトウェアの促進を目的として1998年に設立されました。オープンソースソフトウェアの意味を定義するためのオープンソース定義(OSD)を作成しました。

これは彼らが彼ら自身を説明する方法です:

オープンソースイニシアチブ(OSI)は、オープンソースの利点について教育および提唱し、オープンソースコミュニティのさまざまな構成員間の架け橋を築くために設立されたグローバルスコープを持つ非営利法人です。

ライセンス

ほとんどのオープンソースライセンスには、次のステートメントが含まれています。

  1. ソフトウェアは、変更、商用利用、および配布することができます。
  2. ソフトウェアは、プライベートで変更および使用できます。
  3. ライセンスと著作権表示をソフトウェアに含める必要があります。
  4. ソフトウェアの作者は、ソフトウェアに保証を提供せず、何に対しても責任を負いません。

最も制限の多いライセンスから最も寛容なライセンスの順に(ユーザーの観点から)、最も人気のあるライセンスを確認します。

GNU General Public License、バージョン3(GPLv3)

GPLv3は、最も制限の厳しいライセンスの1つです。ソフトウェアの作成者に高い保護を提供します。

  • ソフトウェアの配布が行われるときはいつでも、ソースコードを公開する必要があります。
  • ソフトウェアの変更は、同じライセンスの下でリリースする必要があります。
  • ソースコードに加えられた変更は文書化する必要があります
  • ソフトウェアの作成に特許取得済みの資料が使用された場合、ユーザーがそれを使用する権利が付与されます。ユーザーが特許取得済みの資料の使用を理由に誰かを訴えた場合、ユーザーはソフトウェアを使用する権利を失います。

GPLv2も非常に人気があります。GPLv3との主な違いは、特許付与に関する条項です。

この条項は、企業がユーザーに特許の使用料を請求することを防ぐためにバージョン3で追加されました。

GPLv3を使用する人気のあるプロジェクトは、BashGIMPです。LinuxはGPLv2を使用しています。

Ezequiel Foncubiertaは、GPLライセンスにとって重要なことを指摘しました。

ソースコードのライセンスは、リンク先のオープンソースコードのライセンスと互換性がある必要があります。たとえば、コードがプロプライエタリである場合、GPLライセンスの下でライブラリを使用することは許可されません。これは人々がより多くの間違いを犯しがちな場所です。

Apacheライセンス2.0

Apache License 2.0は、ユーザーにより多くの柔軟性を提供します。

  • ソフトウェアの配布時にソースコードを公開する必要はありません
  • ソフトウェアの変更は、任意のライセンスの下でリリースできます。
  • ソースコードに加えられた変更は文書化する必要があります。
  • GPLv3と同じ特許使用保護を提供します。
  • プロジェクトで見つかった商標名の使用を明示的に禁止しています。

Apache License 2.0を使用する人気のあるプロジェクトは、AndroidApache、およびSwiftです。

Berkeley Software Distribution(BSD)

BSDには、2節と3節の2つの主要なバージョンがあります。どちらも、Apache License2.0よりも柔軟性があります。

  • ソフトウェアの配布時にソースコードを公開する必要はありません
  • ソフトウェアの変更は、任意のライセンスの下でリリースできます。
  • ソースコードへの変更はありません文書化します。
  • 特許の使用に関して明確な立場を提供するものではありません。
  • ライセンスと著作権表示は、(ソースコードだけではなく)コンパイルされたバージョンのソースコードのドキュメントに含まれている必要があります。
  • BSD 3条項は、作者と寄稿者の名前を使用して、ソフトウェアから派生した製品を許可なく宣伝することはできないと述べています。

BSDライセンスを使用する人気のあるプロジェクトは、Go(3節)、Pure.css(3節)、およびSentry(3節)です。

MITライセンス

MITは最も寛容なライセンスの1つです。それはまた最も人気のあるものです。それはソフトウェアの作者に非常に低い保護を提供します。

  • ソフトウェアの配布時にソースコードを公開する必要はありません
  • ソフトウェアの変更は、任意のライセンスの下でリリースできます。
  • ソースコードへの変更はありません文書化します。
  • 特許の使用に関して明確な立場を提供するものではありません。

MITを使用する人気のあるプロジェクトは、Angular.jsjQueryRailsBootstrapなどです。

FacebookのReact.jsは、9月25日までBSD-3 +特許ライセンスを持っていました。これは、BSD-3ライセンスと特許の使用に関する追加条項を組み合わせたものです。

一言で言えば、Facebookまたはその子会社を訴えると、React(または同じライセンスに基づく他のソフトウェア)を使用する権利が失われます。

ReactはMITライセンスになりました。これで、Facebookを訴えながら、Reactを使用できるようになりました。なんて安堵!

オープンソースプロジェクトにライセンスを適用する

プロジェクトのライセンスは簡単です。LICENSELICENSE.txtまたはLICENSE.mdをリポジトリのルートディレクトリに追加する必要があります。

GitHubを使用すると、さらに簡単になります。

  1. GitHubリポジトリをブラウザで開きます。
  2. ルートディレクトリで、をクリックしCreate new fileます。
  3. ファイルに「LICENSE」という名前を付けます。
  4. をクリックしChoose a license templateます。
  5. ライセンスの1つを選択します(この記事に記載されているものはすべてそこにあります)。
  6. 選択したら、をクリックしReview and submitます。
  7. Commit ファイル。

要約すれば…

  • 最も制限の厳しいライセンスの1つはGPLです。
  • 最も寛容なライセンスの1つはMITです。
  • 他の人気のあるライセンスは、Apache License2.0BSDです。
  • GitHubプロジェクトにライセンスを適用するには、LICENSEGitHubのライセンステンプレートを使用してファイルを作成する必要があります。

私がPythonを使用して、Mediumでフォローする興味深い人々を見つける方法についての私の説明をチェックしてください!

その他の更新については、Twitterでフォローしてください。