適切なライセンスを選択する
コードにライセンスを付与する方法についての理解に役立つ、choosealicense.com を作成しました。 ソフトウェアのライセンスは、ソースコードに対して許可されることとされないことを規定するものなので、十分な情報に基づいて決定することが重要です。
ライセンスの選択は義務ではありませんが、 ライセンスがない場合はデフォルトの著作権法が適用されます。つまり、ソースコードについては作者があらゆる権利を留保し、ソースコードの複製、配布、派生物の作成は誰にも許可されないということです。 オープンソースのプロジェクトを作成する場合は、オープンソース ライセンスを設定することを強くおすすめします。 オープン ソース ガイドには、ご自分のプロジェクトに対する正しいライセンスの選択についての追加のガイダンスが用意されています。
注: あるユーザーが GitHub のパブリック リポジトリで自分のソース コードを公開した場合、利用規約に従い、GitHub.com の他のユーザーにはそのリポジトリを表示およびフォークする権限があります。 すでにリポジトリを作成していて、ユーザによるリポジトリへのアクセスを禁止する場合は、リポジトリをプライベートにすることができます。 リポジトリの表示をプライベートに変更しても、他のユーザによって作成された既存のフォークまたはローカルコピーは存続します。 詳しくは、「リポジトリの可視性を設定する」を参照してください。
ライセンスの置かれている場所を確認する
ほとんどのユーザーは、ライセンス テキストをリポジトリのルートにある LICENSE.txt
(または LICENSE.md
か LICENSE.rst
) という名前のファイルに配置します。こちらに Hubot の例を示します。
プロジェクトによっては、ライセンスに関する情報は README に記載されています。 たとえばプロジェクトの README には、「当ライセンスは MIT ライセンスの規約に基づいて付与されています」などの文言が書かれていることがあります。
ベスト プラクティスとして、プロジェクトにはライセンス ファイルを含めることをお勧めします。
ライセンス別に GitHub を検索する
license
修飾子と、正確なライセンス キーワードを使うと、ライセンスまたはライセンス ファミリーに基づいてリポジトリをフィルター処理することができます。
ライセンス | ライセンス キーワード |
---|---|
Academic Free License v3.0 | AFL-3.0 |
Apache license 2.0 | Apache-2.0 |
Artistic license 2.0 | Artistic-2.0 |
Boost Software License 1.0 | BSL-1.0 |
BSD 2-clause "Simplified" license | BSD-2-Clause |
BSD 3-clause "New" or "Revised" license | BSD-3-Clause |
BSD 3-clause Clear license | BSD-3-Clause-Clear |
BSD 4-clause "Original" or "Old" license | BSD-4-Clause |
BSD Zero-Clause license | 0BSD |
Creative Commons license family | CC |
Creative Commons Zero v1.0 Universal | CC0-1.0 |
Creative Commons Attribution 4.0 | CC-BY-4.0 |
Creative Commons Attribution ShareAlike 4.0 | CC-BY-SA-4.0 |
Do What The F*ck You Want To Public License | WTFPL |
Educational Community License v2.0 | ECL-2.0 |
Eclipse Public License 1.0 | EPL-1.0 |
Eclipse Public License 2.0 | EPL-2.0 |
European Union Public License 1.1 | EUPL-1.1 |
GNU Affero General Public License v3.0 | AGPL-3.0 |
GNU General Public License family | GPL |
GNU General Public License v2.0 | GPL-2.0 |
GNU General Public License v3.0 | GPL-3.0 |
GNU Lesser General Public License family | LGPL |
GNU Lesser General Public License v2.1 | LGPL-2.1 |
GNU Lesser General Public License v3.0 | LGPL-3.0 |
ISC | ISC |
LaTeX Project Public License v1.3c | LPPL-1.3c |
Microsoft Public License | MS-PL |
MIT | MIT |
Mozilla Public License 2.0 | MPL-2.0 |
Open Software License 3.0 | OSL-3.0 |
PostgreSQL License | PostgreSQL |
SIL Open Font License 1.1 | OFL-1.1 |
University of Illinois/NCSA Open Source License | NCSA |
The Unlicense | Unlicense |
zLib License | Zlib |
ファミリー ライセンス別で検索すると、結果にはそのファミリーのライセンスがすべて含まれます。 たとえば、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 を通じて提供する情報またはライセンスについては何らの保証もせず、かかるライセンス情報の利用に起因する損害については責任を負いません。 コードに適したライセンスや、ライセンスに関する他の法的な問題について不明な点がある場合は、必ず専門家にご相談ください。
参考資料
- オープン ソース ガイドのセクション "オープン ソースの法的側面"
- GitHub Skills