きっかけ
リポジトリのメニュー、なにかが違う?
たまたま調査の関係で他の方のリポジトリを見ていたところ、わたしの個人のリポジトリの画面とは「何かが違う!」ことに気がついたのが始まりです。
違いは、リポジトリの上部のコミット数、ブランチ数を記載しているタブ。
なにやら、わたしのリポジトリより項目が1つ多いのです。
よく見ると、**「GPL-2.0」**というタブでした。
どうやったら設定できるの?
クリックすると、ライセンスのファイルと色々な注意書きが表示されました。
実は、わたしも個人リポジトリはGPLのライセンスをソースコードに添えて公開しています。でも、そんなメニューは出てこない...。
「(ナニコレステキ!)どうやったら出せるのかしら?」と思ったのがきっかけです。
さて、そのままライセンスの表示されたページのリンクをたどると、GitHubの “Licensing a repository” というページに辿りつきました。
このページで、オープンソースとしてリポジトリを公開している場合のライセンス設定のガイドが記載されていました。
メニューに反映させるには?
わたしもライセンス用のテキストファイルを添えていましたが、どうやら LICENSE もしくは LICENSE.txt という名前で設定してあげると、GitHubがライセンスファイルと認識してくれるようです。
ソースコードに含めていたのは GPL.txt だったので、対象外だった模様です。
さて、引き続きGitHubのライセンスのページを見ていくと、Adding a license to a repository というページに、オンラインでWebUI経由でライセンスを追加する方法が載っていましたので、こちらを試すことにしました。
WebUIからライセンスを追加する
では、Adding a license to a repository に従って、WebUIからライセンスファイルを追加する方法を取ってみます。
Creating Fileでファイル追加
まずは、リポジトリ上部の「Creating File」ボタンを押します。
そうすると、ブランクのページが出てきますので、ファイル名に「LICENSE」または「LICENSE.txt」と入力します。
すると、右端に「テンプレート適用しますか?」というプルダウンが出てきます。
例ではRedmineのプラグインなので、そもそもRedmineがGPLv2なことと、プラグイン自体Redmineがないと動かないので、GPLv2に揃えています。
リポジトリに合ったライセンスを選ぶと、本文にライセンス文面が適用されます。
Submitしたら?
masterブランチへのファイル追加であれば、即リポジトリにライセンスを明示するタブが追加されました。
完全に自己満足ですが、嬉しいです。
既存のファイルのRenameだとどう?
さて、リポジトリは他にも少しあるので、既存のGPL.txtをLICENSE.txtにリネームしてmasterに反映させてみたらどうでしょうか?
GitHubが自動で検出する...とガイドにありましたので、試してみました。
流れとしては以下の通り。
- devブランチでGPL.txtをLICENSE.txtにリネーム
- devブランチをpush
- GitHub上で、masterへのプルリクを作成
- プルリクをsubmitして、masterに反映
devブランチに適用しただけでは、やはりタブは増えませんでした。masterに適用されて、初めてタブが追加となりましたが、問題なく表示となりました。
まとめ
以上、簡単ですがライセンスの明示のための手順でした。
さて、GitHubのライセンスのガイドを遡っていくと、Building a strong community というカテゴリにたどり着きます。
Contributeのためのガイドラインや、コードの規範といったものも、ファイルとして登録して、GitHubのリポジトリ上から見えやすくできるようです。
わたし個人のリポジトリは大規模ではないので、そこまで設定しないと思いますが、参考にしているリポジトリや大規模なリポジトリについては、そのあたりも注意して見てみようと思いました。
あと、GitHub Jobs っていうページもあるんですね...。こちらについても記載ガイドが載っていたりして、眺めていて面白かったです。 (GitHub Jobsも初めて知りました!)