ライセンス

最終更新日:2024-11-24 | ページの編集

所要時間: 5分

概要

質問

  • 自分の作品にはどのようなライセンス情報を含めるべきですか?

目的

  • リポジトリにライセンス情報を追加する重要性を説明する。
  • 適切なライセンスを選ぶ。
  • ライセンスの違いと社会的期待を説明する。

ソースコード、原稿、またはその他の創作物を含むリポジトリが公開されるときは、リポジトリのルートディレクトリに LICENSE または LICENSE.txt というファイルを含め、コンテンツがどのライセンスの下で利用可能かを明確に記載する必要があります。
これは、創作物が自動的に知的財産権(したがって著作権)の保護対象となるためです。ライセンスがない状態で創作物を再利用することは危険であり、著作権侵害で訴えられる可能性があります。

ライセンスはこの問題を解決します。ライセンスは、他者(ライセンシー)に本来は持たない権利を付与します。
付与される権利とその条件はライセンスごとに異なりますが、その違いはわずかです。実際には、いくつかのライセンスが特に人気であり、choosealicense.com を使えば、自分のニーズに合った一般的なライセンスを見つけることができます。重要な考慮事項には以下が含まれます:

  • 特許権に関する取り扱いを明記したいか。
  • 派生物を配布する際にソースコードも配布することを要求するか。
  • ライセンスするコンテンツがソースコードかどうか。
  • コードをライセンスする意図があるかどうか。

一般的に使用されているライセンスを選ぶことで、貢献者や利用者にとっての利便性が向上します。
これらのライセンスに精通している可能性が高く、複雑な用語を読む手間が省けるからです。
Open Source Initiative と Free Software Foundation の両方が、推奨されるライセンスのリストを維持しています。

この記事 は、科学者がコードを書く際の視点から見たライセンスとそのオプションについての優れた概要を提供しています。

最終的に重要なのは、ライセンスが明確に記載されていることです。また、リポジトリが公開されていなくても、ライセンスは早期に選定するのが最善です。決定を後回しにすると、後に複雑化する可能性があります。新しいコラボレーターが参加するたびに、その人も著作権を持つことになり、ライセンス選定時に承認を得る必要があるからです。

オープンライセンスを適用できますか?

自分のソフトウェアにオープンライセンスを適用できるかどうかを確認してください。 単独でこれを行うことができますか、それとも所属機関の誰かの許可が必要ですか?
もし許可が必要なら、それは誰ですか?

自分が既に受け入れているライセンスは?

私たちが日常的に使用している多くのソフトウェアツール(このワークショップでも使用されているものを含む)は、オープンソースソフトウェアとして公開されています。以下のリストからGitHubのプロジェクトを1つ選ぶか、自分で選んだプロジェクトを使ってください。そのライセンス(通常は LICENSE または COPYING というファイルに記載されています)を見つけ、そのライセンスがソフトウェアの使用方法をどのように制限しているかについて話し合ってください。そのライセンスはこのセッションで議論したものの1つですか?どう違いますか?

  • Git: ソースコード管理ツール
  • CPython: Python言語の標準実装
  • Jupyter: WebベースのPythonノートブックを提供するプロジェクト
  • EtherPad: リアルタイム共同編集エディタ

まとめ

  • リポジトリの内容を他の人がどのように使用できるかを示すために、LICENSELICENSE.md、または LICENSE.txt ファイルがよく使用されます。
  • 一般公衆利用許諾契約書(GPL)ソフトウェアを自分のソフトウェアに組み込む場合、そのソフトウェアもGPLライセンスの下で公開する必要があります。他のほとんどのオープンライセンスにはこの要件がありません。
  • Creative Commons のライセンスファミリーでは、帰属、派生作品の作成、さらなる共有、商業利用に関する要件と制限を組み合わせることができます。
  • 法律の専門家でない人は、ライセンスを一から作成するべきではありません。