Skip to main content

リポジトリのライセンス

GitHubのパブリック リポジトリは、多くの場合、open sourceソフトウェアを共有するために使用されます。 リポジトリを本当にopen sourceするには、他のユーザーがソフトウェアを自由に使用、変更、配布できるようにライセンスを付与する必要があります。

適切なライセンスを選択する

コードにライセンスを付与する方法についての理解に役立つ、choosealicense.com を作成しました。 ソフトウェアのライセンスは、ソースコードに対して許可されることとされないことを規定するものなので、十分な情報に基づいて決定することが重要です。

ライセンスの選択は義務ではありませんが、 ライセンスがない場合はデフォルトの著作権法が適用されます。つまり、ソースコードについては作者があらゆる権利を留保し、ソースコードの複製、配布、派生物の作成は誰にも許可されないということです。 open source プロジェクトを作成する場合は、open source ライセンスを含めるのを強くお勧めします。 オープン ソース ガイドには、ご自分のプロジェクトに対する正しいライセンスの選択についての追加のガイダンスが用意されています。

メモ

あるユーザーが GitHub のパブリック リポジトリで自分のソース コードを公開した場合、利用規約に従い、GitHub.com の他のユーザーには、そのリポジトリを表示およびフォークする権限があります。 すでにリポジトリを作成していて、ユーザによるリポジトリへのアクセスを禁止する場合は、リポジトリをプライベートにすることができます。 リポジトリの表示をプライベートに変更しても、他のユーザによって作成された既存のフォークまたはローカルコピーは存続します。 詳しくは、「リポジトリの可視性を設定する」をご覧ください。

ライセンスの置かれている場所を確認する

ほとんどのユーザーは、ライセンス テキストをリポジトリのルートにある LICENSE.txt (または LICENSE.mdLICENSE.rst) という名前のファイルに配置します。こちらに Hubot の例を示します

プロジェクトによっては、ライセンスに関する情報は README に記載されています。 たとえばプロジェクトの README には、「当ライセンスは MIT ライセンスの規約に基づいて付与されています」などの文言が書かれていることがあります。

ベスト プラクティスとして、プロジェクトにはライセンス ファイルを含めることをお勧めします。

ライセンスの種類によるGitHubの検索

license 修飾子と、正確なライセンス キーワードを使うと、ライセンスまたはライセンス ファミリーに基づいてリポジトリをフィルター処理することができます。

ライセンスライセンス キーワード
Academic Free License v3.0AFL-3.0
Apache ライセンス 2.0Apache-2.0
アーティスティック ライセンス 2.0Artistic-2.0
ブースト ソフトウェア ライセンス 1.0BSL-1.0
BSD 2条項「簡易」ライセンスBSD-2-Clause
BSD 3-clause "New" or "Revised" licenseBSD-3-Clause
BSD 3条項クリアライセンスBSD-3-Clause-Clear
BSD 4条「オリジナル」または「旧」ライセンスBSD-4-Clause
BSD Zero-Clause ライセンス0BSD
クリエイティブ コモンズ ライセンス ファミリCC
クリエイティブ・コモンズ ゼロ v1.0 ユニバーサルCC0-1.0
Creative Commons Attribution 4.0CC-BY-4.0
Creative Commons Attribution ShareAlike 4.0CC-BY-SA-4.0
Do What The F*ck You Want To Public LicenseWTFPL
教育コミュニティ ライセンス v2.0ECL-2.0
Eclipse パブリック ライセンス 1.0EPL-1.0
Eclipse パブリック ライセンス 2.0EPL-2.0
欧州連合パブリック ライセンス 1.1EUPL-1.1
GNU Affero General Public License v3.0AGPL-3.0
GNU General Public License ファミリGPL
GNU General Public License v2.0GPL-2.0
GNU General Public License v3.0GPL-3.0
GNU Lesser General Public License ファミリLGPL
GNU Lesser General Public License v2.1LGPL-2.1
GNU Lesser General Public License v3.0LGPL-3.0
ISCISC
LaTeX Project Public License v1.3cLPPL-1.3c
Microsoft パブリック ライセンスMS-PL
MITMIT
Mozilla パブリック ライセンス 2.0MPL-2.0
Open Software License 3.0OSL-3.0
PostgreSQL ライセンスPostgreSQL
SIL Open Font License 1.1OFL-1.1
イリノイ大学/NCSA オープンソース ライセンスNCSA
The Unlicense (無保証ライセンス)Unlicense
zLib ライセンスZlib

ファミリー ライセンス別で検索すると、結果にはそのファミリーのライセンスがすべて含まれます。 たとえば、license:gpl というクエリを実行した結果には、GNU General Public License v2.0 と GNU General Public License v3.0 でライセンスされているリポジトリが含まれます。 詳しくは、「リポジトリを検索する」をご覧ください。

ライセンスを見つけてもらう

Open source Ruby gem Licensee は、リポジトリの LICENSE ファイルを既知のライセンスの短いリストと比較します。 Licensee は Licenses API も提供しており、GitHub 上のリポジトリがライセンスを取得する方法に関する分析情報を提供します。 ご自分のリポジトリがライセンス選択の Web サイトに記載されていないライセンスを使用している場合は、ライセンスを含めて要求することができます。

自分のリポジトリで使用しているライセンスが、ライセンス選択のウェブサイトにはリストされていて、リポジトリ ページのトップに明示的に表示されていない場合には、複数のライセンスが含まれるなど、複雑な状況が考えられます。 ライセンスが検出されるようにするには、LICENSE ファイルはシンプルにして、リポジトリの README ファイルのなど、どこか別のところで、その複雑さを記します。

既存のライセンスでリポジトリにライセンスを適用する

ライセンス ピッカーは、GitHubで新しいプロジェクトを作成する場合にのみ使用できます。

[新しいリポジトリ] ページの [ライセンスの選択] セクションのスクリーンショット。[ライセンス] というドロップダウン メニューが表示されています。

ブラウザを使って、手動でライセンスを追加できます。 リポジトリへのライセンスの追加の詳細については、「リポジトリへのライセンスの追加」を参照してください。

免責情報

GitHubのopen sourceライセンスの取り組みの目的は、情報に基づいた選択を行う際に役立つ開始点を提供することです。 GitHubは、ライセンス情報を表示して、ユーザーがopen sourceライセンスとそのライセンスを使用するプロジェクトに関する情報を取得するのに役立ちます。 お役に立てればうれしいですが、私たちは法律の専門家ではなく、他の皆さんと同じようにミスもします。 そのため、GitHubは「as-is」ベースで情報を提供し、その情報またはライセンスを通じて提供された情報またはライセンスに関して一切の保証を行わず、ライセンス情報の使用に起因する損害に対する責任を負いません。 コードに適したライセンスや、ライセンスに関する他の法的な問題について不明な点がある場合は、必ず専門家にご相談ください。

参考資料