Skip to main content

リポジトリのライセンス

GitHub のパブリックリポジトリは、オープンソース ソフトウェアの共有にも頻繁に利用されています。 リポジトリを真にオープンソースにしたければ、他のユーザが自由にそのソフトウェアを使用でき、変更や配布もできるように、ライセンスを付与する必要があります。

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

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

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

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

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

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

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

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

ライセンス別に GitHub を検索する

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

ライセンスライセンス キーワード
Academic Free License v3.0AFL-3.0
Apache license 2.0Apache-2.0
Artistic license 2.0Artistic-2.0
Boost Software License 1.0BSL-1.0
BSD 2-clause "Simplified" licenseBSD-2-Clause
BSD 3-clause "New" or "Revised" licenseBSD-3-Clause
BSD 3-clause Clear licenseBSD-3-Clause-Clear
BSD 4-clause "Original" or "Old" licenseBSD-4-Clause
BSD Zero-Clause license0BSD
Creative Commons license familyCC
Creative Commons Zero v1.0 UniversalCC0-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
Educational Community License v2.0ECL-2.0
Eclipse Public License 1.0EPL-1.0
Eclipse Public License 2.0EPL-2.0
European Union Public License 1.1EUPL-1.1
GNU Affero General Public License v3.0AGPL-3.0
GNU General Public License familyGPL
GNU General Public License v2.0GPL-2.0
GNU General Public License v3.0GPL-3.0
GNU Lesser General Public License familyLGPL
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 Public LicenseMS-PL
MITMIT
Mozilla Public License 2.0MPL-2.0
Open Software License 3.0OSL-3.0
PostgreSQL LicensePostgreSQL
SIL Open Font License 1.1OFL-1.1
University of Illinois/NCSA Open Source LicenseNCSA
The UnlicenseUnlicense
zLib LicenseZlib

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

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

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

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

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

ライセンスを選べるのは、GitHub で新しいプロジェクトを作成するときだけです。

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

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

免責情報

GitHub がオープンソース ライセンスへの取り組みで目指しているのは、ユーザが十分な情報に基づいて選択できるように基盤を作ることです。 GitHub は、オープンソース ライセンスとそれを使用しているプロジェクトについての情報をユーザが取得できるように、ライセンス情報を掲載しています。 その情報がお役に立つことを願っていますが、GitHub は法律の専門家ではなく、誤りがないとは言えません。 そのため、GitHub は情報を "現状有姿" で提供するものであり、GitHub で、または GitHub を通じて提供する情報またはライセンスについては何らの保証もせず、かかるライセンス情報の利用に起因する損害については責任を負いません。 コードに適したライセンスや、ライセンスに関する他の法的な問題について不明な点がある場合は、必ず専門家にご相談ください。

参考資料