Pythonパッケージに LICENSECODE_OF_CONDUCT を追加します。#

前のレッスン では、あなたは:

科学的 Python パッケージの基本的な README.md ファイルを作成しました。

README ファイルにあると便利なコアコンポーネントについて学んだ。

学習目標

このレッスンで学ぶこと:

  1. ライセンスを選択し、パッケージリポジトリに LICENSE ファイルを追加する方法。

  2. パッケージリポジトリに CODE_OF_CONDUCT ファイルを追加する方法。

  3. CODE_OF_CONDUCT の出発点として一般的な言語を追加するために、Contributors Covenantのウェブサイトをどのように利用できるか。

ライセンスとは何か?#

ライセンスには、ユーザーがあなたのソフトウェアをどのように使用し、再利用することができるかについての法的な文言が含まれています。あなたのプロジェクトに LICENSE を設定するには、次のようにします:

  1. Create a LICENSE file in your project directory that specifies the license that you choose for your package.

  2. Reference that file in your pyproject.toml data where metadata are set.

LICENSE ファイルを pyproject.toml ファイルに追加することで、 LICENSE がパッケージのメタデータに含まれるようになります。 LICENSE は GitHub リポジトリのランディングページのインターフェイスでも使用されます。

どのライセンスを使うべきか?#

科学的なPythonのエコシステムで最もよく使われるライセンス (MIT[^mit]とBSD-3[^bsd3]) に対応した寛容なライセンスを使うことをお勧めします。 よくわからない場合は、 choosealicense.com で一般的に推奨されているライセンスである MIT を使ってください。

LICENSE ファイルはどこに置くべきか#

LICENSE ファイルは、パッケージのリポジトリのルートに置く必要があります。 ルートに LICENSE を追加すると、GitHub が魔法のごとく自動的にそれを検出し、GitHub リポジトリ内の LICENSE ファイルへの直接リンクをユーザーに提供します。

pyOpenSci パッケージに採用された SunPy 用のGitHubリポジトリを示す画像。

GitHubのランディングページのREADME部分の一番上に、 README ファイル、 CODE_OF_CONDUCT ファイル、そしてSunPyが使用するライセンスを指定するタブの3つに直接リンクしていることに注目してください。 これらのファイルは標準的な命名規則を使ってプロジェクトディレクトリのルートに置かれているため、GitHubによって発見されます。#

パッケージディレクトリに LICENSE ファイルを追加する方法#

LICENSE ファイルを追加するにはいくつかの方法があります:

  1. GitHub で新しいリポジトリを作成すると、そのときに LICENSE ファイルを追加するかどうかを尋ねられます。 yes を選ぶと、ファイルを作成してくれます。

  2. LICENSE は GitHub のguiから の説明はこちら に従って追加することができます。

  3. このレッスンで行っているように、手動でファイルを追加することもできます。

Tip

以下を含む過去のレッスンを修了した場合

  1. コードをインストール可能にする

  2. PyPIへのパッケージの公開

は、Python パッケージの中に MIT ライセンスのテキストを含む LICENSE ファイルが既にあるということです。 従って、このチュートリアルの次のセクションの CODE_OF_CONDUCT の追加に進むことができます。

あなたのディレクトリにまだ LICENSE ファイルがない場合は、このまま読み進めてください。

パッケージに LICENSE を追加する方法 - 手動の方法#

まだ LICENSE ファイルがなく、GitHub や GitLab などのプラットフォームを使っていない場合は、次のようにして LICENSE ファイルを作成します。

  1. LICENSE という新しいファイルを作成します。 シェルを使っている場合は:

# Create a `LICENSE` file in your shell
> touch LICENSE
  1. choosealicense.com へ。

  2. 寛容なライセンスを選択する

  3. MITライセンス を使用するよう提案されます。

  4. そのライセンステキストを、上記で作成した LICENSE ファイルにコピーしてください。

  5. ファイルを保存します。これで完了です!

科学的Pythonエコシステムにおけるライセンスの概要

pyOpenSci パッケージングガイドブック では、科学的Pythonエコシステムにおけるライセンスの概要を提供します。 なぜライセンスファイルが重要なのか、どのライセンスファイルが科学ソフトウェアに最もよく使われるのか、正しいライセンスを選択する方法についてレビューします。

なぜライセンスがオープンソースソフトウェアを保護するために重要なのか、その大まかな概要をお知りになりたい方は、 法的側面を概観したこのブログ記事をご覧ください

GitHubのインターフェイス内に LICENSE ファイルを追加する手順

GitHub リポジトリを新規作成する際に、GitHub インターフェースから LICENSE ファイルを追加することができます。

GitHub が提供する新しいリポジトリの作成インターフェイスのスクリーンショット。 このインターフェイスの要素は、新しいリポジトリのオーナーとリポジトリ名です。 その下にリポジトリの説明を追加できます。 その下に公開か非公開かを設定できます。 インターフェースの一番下にはAdd a READMEチェックボックスがあり、空白のReadmeファイルを追加してくれます。 一番下には、.gitignoreファイルを追加する行と、ライセンスを選択する行があります。

新規リポジトリ作成時に LICENSEREADME ファイルを追加できる GitHub インターフェイスのイメージ。#

パッケージ用のGitHubリポジトリが既にある場合は、GitHubのインターフェースで新しいファイルを追加することで LICENSE ファイルを追加できます。

  • GitHubのLICENSEページ の指示に従って、リポジトリにライセンスを選択し追加してください。

  • LICENSEファイルを追加したら、必ずローカルのgitリポジトリをGitHub.com上のリポジトリと同期してください。これは、git pullを実行してローカルブランチを更新することを意味します。

GItHubインターフェイスでLICENSEファイルがどのように見えるかを示す画像。この画像では、BSD 3-clause New or revised licenseです。そして、そのライセンスが何であるかと、そのライセンスに関連するパーミッションの両方を説明するテキストがあります。画像の下部には、ライセンスの実際のテキストがLICENSEファイルに表示されています。

あなたのプロジェクトのGitHubのランディングページで、選ばれた LICENSE の概要を見ることができます。#

これで、プロジェクトにLICENSEを追加する方法がわかりました。 次は、CODE_OF_CONDUCT.mdファイルと、それをパッケージディレクトリに追加する方法を説明します。

code of conduct ファイルとは何ですか?#

CODE_OF_CONDUCT ファイルは、あなたのコミュニティの人々がどのように交流するかのガイドラインを確立するために使用されます。

このファイルは、あなたのコミュニティが成長するのをサポートするために非常に重要です。 CODE_OF_CONDUCT は:

  1. ソフトウェアリポジトリにおいて、ユーザーやコントリビューターがどのように相互作用するかについてのガイドラインを確立します。

  2. あなたが交流の中で望まない否定的な行動を特定します。

行動規範は、困難な会話をモデレーティングする際に参照できるツールとして使うことができます。

CODE_OF_CONDUCT ファイルに書くべきこと#

どの言語を CODE_OF_CONDUCT ファイルに追加すればよいかわからない場合、 contributor covenant language を出発点として採用することをお勧します。

Contributor Covenant

CODE_OF_CONDUCT.md は、 LICENSE ファイルと同様に、プロジェクトディレクトリのルートに置く必要があります。

パッケージディレクトリに CODE_OF_CONDUCT ファイルを追加する方法。#

  • CODE_OF_CONDUCT.md ファイルがまだ存在しない場合は、リポジトリのルートに追加してください。

> touch CODE_OF_CONDUCT.md

これであなたのパッケージディレクトリに行動規範が追加されたことになります。

まとめ#

このレッスンと 最後のレッスンでは, 以下を追加しました:

  • README ファイル;

  • LICENSE ファイルと

  • CODE_OF_CONDUCT ファイル。

これらはすべての科学的なPythonパッケージリポジトリに必要な基本的なファイルです。 これらのファイルは、ユーザがあなたのパッケージの使い方を理解し、パッケージメンテナとやりとりするのに役立ちます。

これからのレッスンでは、あなたは:

  • PyPI でのパッケージのビルドと公開をサポートするために pyproject.toml ファイルにメタデータを追加します

  • あなたのPythonパッケージの新しいバージョンをテストPyPIに公開して、更新されたメタデータランディングページをプレビューしてください。


脚注#