Pythonパッケージに LICENSE と CODE_OF_CONDUCT を追加します。#
前のレッスン では、あなたは:
科学的 Python パッケージの基本的な README.md ファイルを作成しました。
README ファイルにあると便利なコアコンポーネントについて学んだ。
学習目標
このレッスンで学ぶこと:
ライセンスを選択し、パッケージリポジトリに
LICENSEファイルを追加する方法。パッケージリポジトリに
CODE_OF_CONDUCTファイルを追加する方法。CODE_OF_CONDUCTの出発点として一般的な言語を追加するために、Contributors Covenantのウェブサイトをどのように利用できるか。
ライセンスとは何か?#
ライセンスには、ユーザーがあなたのソフトウェアをどのように使用し、再利用することができるかについての法的な文言が含まれています。あなたのプロジェクトに LICENSE を設定するには、次のようにします:
プロジェクトディレクトリに
LICENSEファイルを作成し、パッケージに選択したライセンスを指定します。Describe your choice of license in your
pyproject.tomldata where metadata are set.
By adding this metadata to your pyproject.toml file, the choice of license will be included in your package's metadata which is used to populate your package's PyPI landing page. The LICENSE file is also used in your GitHub repository's landing page interface.
どのライセンスを使うべきか?#
We suggest that you use a permissive license that accommodates the other most commonly used licenses in the scientific Python ecosystem (MIT[1] and BSD-3-Clause[2]). If you are unsure, use MIT given it's the generally recommended license on choosealicense.com.
科学的Pythonエコシステムのためのライセンス
LICENSE ファイルはどこに置くべきか#
LICENSE ファイルは、パッケージのリポジトリのルートに置く必要があります。 ルートに LICENSE を追加すると、GitHub が魔法のごとく自動的にそれを検出し、GitHub リポジトリ内の LICENSE ファイルへの直接リンクをユーザーに提供します。
GitHubのランディングページのREADME部分の一番上に、 README ファイル、 CODE_OF_CONDUCT ファイル、そしてSunPyが使用するライセンスを指定するタブの3つに直接リンクしていることに注目してください。 これらのファイルは標準的な命名規則を使ってプロジェクトディレクトリのルートに置かれているため、GitHubによって発見されます。#
パッケージディレクトリに LICENSE ファイルを追加する方法#
LICENSE ファイルを追加するにはいくつかの方法があります:
GitHub で新しいリポジトリを作成すると、そのときに
LICENSEファイルを追加するかどうかを尋ねられます。 yes を選ぶと、ファイルを作成してくれます。LICENSEは GitHub のguiから の説明はこちら に従って追加することができます。このレッスンで行っているように、手動でファイルを追加することもできます。
Tip
以下を含む過去のレッスンを修了した場合
は、Python パッケージの中に MIT ライセンスのテキストを含む LICENSE ファイルが既にあるということです。 従って、このチュートリアルの次のセクションの CODE_OF_CONDUCT の追加に進むことができます。
あなたのディレクトリにまだ LICENSE ファイルがない場合は、このまま読み進めてください。
パッケージに LICENSE を追加する方法 - 手動の方法#
まだ LICENSE ファイルがなく、GitHub や GitLab などのプラットフォームを使っていない場合は、次のようにして LICENSE ファイルを作成します。
LICENSEという新しいファイルを作成します。 シェルを使っている場合は:
# Create a `LICENSE` file in your shell
> touch LICENSE
寛容なライセンスを選択する
MITライセンス を使用するよう提案されます。
そのライセンステキストを、上記で作成した
LICENSEファイルにコピーしてください。ファイルを保存します。これで完了です!
科学的Pythonエコシステムにおけるライセンスの概要
pyOpenSci パッケージングガイドブック では、科学的Pythonエコシステムにおけるライセンスの概要を提供します。 なぜライセンスファイルが重要なのか、どのライセンスファイルが科学ソフトウェアに最もよく使われるのか、正しいライセンスを選択する方法についてレビューします。
なぜライセンスがオープンソースソフトウェアを保護するために重要なのか、その大まかな概要をお知りになりたい方は、 法的側面を概観したこのブログ記事をご覧ください
GitHubのインターフェイス内に LICENSE ファイルを追加する手順
GitHub リポジトリを新規作成する際に、GitHub インターフェースから LICENSE ファイルを追加することができます。
新規リポジトリ作成時に LICENSE と README ファイルを追加できる GitHub インターフェイスのイメージ。#
パッケージ用のGitHubリポジトリが既にある場合は、GitHubのインターフェースで新しいファイルを追加することで LICENSE ファイルを追加できます。
GitHubのLICENSEページ の指示に従って、リポジトリにライセンスを選択し追加してください。
LICENSEファイルを追加したら、必ずローカルのgitリポジトリをGitHub.com上のリポジトリと同期してください。これは、git pullを実行してローカルブランチを更新することを意味します。
あなたのプロジェクトのGitHubのランディングページで、選ばれた LICENSE の概要を見ることができます。#
これで、プロジェクトにLICENSEを追加する方法がわかりました。 次は、CODE_OF_CONDUCT.mdファイルと、それをパッケージディレクトリに追加する方法を説明します。
code of conduct ファイルとは何ですか?#
CODE_OF_CONDUCT ファイルは、あなたのコミュニティの人々がどのように交流するかのガイドラインを確立するために使用されます。
このファイルは、あなたのコミュニティが成長するのをサポートするために非常に重要です。 CODE_OF_CONDUCT は:
ソフトウェアリポジトリにおいて、ユーザーやコントリビューターがどのように相互作用するかについてのガイドラインを確立します。
あなたが交流の中で望まない否定的な行動を特定します。
行動規範は、困難な会話をモデレーティングする際に参照できるツールとして使うことができます。
CODE_OF_CONDUCT ファイルに書くべきこと#
どの言語を CODE_OF_CONDUCT ファイルに追加すればよいかわからない場合、 contributor covenant language を出発点として採用することをお勧します。
CODE_OF_CONDUCT.md は、 LICENSE ファイルと同様に、プロジェクトディレクトリのルートに置く必要があります。
パッケージディレクトリに CODE_OF_CONDUCT ファイルを追加する方法。#
CODE_OF_CONDUCT.mdファイルがまだ存在しない場合は、リポジトリのルートに追加してください。
> touch CODE_OF_CONDUCT.md
contributor covenant website を訪れ、
CODE_OF_CONDUCT.mdファイルに the markdown version of their code of conduct を追加します。 プレースホルダーの情報は必ず記入してください。 本文をよく読み、内容を理解し、同意すること!
これであなたのパッケージディレクトリに行動規範が追加されたことになります。
行動規範に関するその他のリソース
まとめ#
このレッスンと 最後のレッスンでは, 以下を追加しました:
READMEファイル;LICENSEファイルとCODE_OF_CONDUCTファイル。
これらはすべての科学的なPythonパッケージリポジトリに必要な基本的なファイルです。 これらのファイルは、ユーザがあなたのパッケージの使い方を理解し、パッケージメンテナとやりとりするのに役立ちます。
これからのレッスンでは、あなたは:
PyPI でのパッケージのビルドと公開をサポートするために
pyproject.tomlファイルにメタデータを追加します 。あなたのPythonパッケージの新しいバージョンをテストPyPIに公開して、更新されたメタデータランディングページをプレビューしてください。