公開 ≠ 許諾
GitHub で公開されているリポジトリでも、LICENSE ファイルがなければそのコードはオープンソースではありません。 著作権はコードを書いた瞬間に自動的に発生し(ベルヌ条約加盟国の大部分)、別途の許諾がなければ、著作権者だけが複製・改変・配布・二次的著作物の作成を行えます。GitHub のドキュメントも、ライセンスがなければデフォルトの著作権法が適用されて著作権者がすべての権利を保持し、他の人は複製・配布・派生著作物の作成ができないと案内しています。
GitHub の規約が許すこと
GitHub 利用規約(D.5「他のユーザーへのライセンス付与」)によれば、公開リポジトリにコンテンツを投稿した人は、GitHub のユーザーに対して、GitHub のサービス内でコンテンツを使用・表示・実行し、フォークのように GitHub の機能が許す範囲で複製する権利を与えます。つまり、次のことは可能です。
- ウェブでコードを閲覧して読む
- GitHub 内でフォークする
しかし規約は、これを超える権利、たとえば自分の製品に組み込んで配布したり、改変版を別の場所で公開したりすることは許可していません。
無ライセンスのコードを使いたいとき
- 著作権者に依頼する: Issue やメールでライセンスを追加してほしいと頼みます。多くの場合は単に忘れていただけなので、快く MIT などを付けてくれます。
- 書面で許可を得る: ライセンスの追加が難しければ、使用範囲を書いた許可を別途得て保管します。
- 代替を探す: 同じ機能のオープンソースライブラリを探します。
- 自分で実装する: コードを見ずに仕様や動作だけを参考にして新しく書きます(いわゆるクリーンルーム実装)。元のコードを書き写すと複製になるおそれがあるので注意します。
README に「自由に使ってください」とだけ書かれている場合はあいまいです。意図は明らかに見えても範囲(改変・再配布・商用利用)が不明確なので、標準ライセンスを付けてもらうよう依頼するのが安全です。
よく見られるあいまいなケース
- LICENSE はなく package.json にだけ
"license": "MIT": 意図は MIT に見えますが、MIT は著作権表示と許諾表示を複製物に含めるよう求めているため、全文がなければ表示義務を守るのが難しくなります。リポジトリに LICENSE ファイルを追加してもらうよう依頼するほうがよいでしょう。 - Stack Overflow の回答のコード: ユーザーが投稿したコンテンツは Creative Commons BY-SA(投稿時期により 2.5・3.0・4.0)で提供されます。出典表示と継承の条件があるので、製品のコードに移すときは会社のポリシーを確認します。
- ブログ・チュートリアルのコード: サイトの利用規約や記事に別途の表示がなければ、基本的に著作権は留保されています。
自分のリポジトリにライセンスを付ける方法
- 生成ツールでライセンスを選び、年・著作権者を入力して
LICENSEファイルを入手します。 - リポジトリの最上位にコミットします。GitHub はこのファイルを認識し、リポジトリ情報にライセンスを表示します。
package.json・Cargo.toml・pyproject.tomlなどの license フィールドに SPDX 識別子を書きます(SPDX ガイド)。- 他人のコードが混ざっている場合は、その部分のライセンスと表示を別途整理します(適用の実務)。
あえてライセンスを付けない場合
ポートフォリオや課題のように、コードを見せるだけで再利用は望まないのであれば、ライセンスを付けないのも一つの選択です。その場合、README に「All rights reserved(すべての権利を留保)」と連絡先を書いておけば誤解が減ります。ただし、公開リポジトリである以上、GitHub の規約が許す閲覧・フォークは防げません。
この記事は一般的な情報であり、法的助言ではありません。重要な決定は専門家にご相談ください。
参考資料
- GitHub Docs, Licensing a repository — https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
- GitHub Terms of Service, D.5 — https://docs.github.com/en/site-policy/github-terms/github-terms-of-service
- choosealicense.com, No License — https://choosealicense.com/no-permission/
- Stack Overflow のコンテンツライセンス — https://stackoverflow.com/help/licensing