web-dev-qa-db-ja.com

コードで複数のライセンスを処理する方法

それで、私が自分のコードを大量に含むスクリプト/小さなアプリを作成し、そのほんの一部のみが他の誰かからのユーティリティで構成されているとしましょう( のような簡単な操作をしましょうゴミ箱にファイルを送信する 、または 通知を送信する )、これは [〜#〜] mit [〜#〜]

次に、スクリプト/アプリを public domain にしたい(またはMITライセンス済み、2つの例を見てみましょう))。

  1. コードでこれをどのように区別しますか? 「コードのこの部分はこのライセンスによって妨げられており、この他の部分は私のライセンスである」と正確にどのように説明しますか?
  2. 配布するすべてのコピーにライセンスを含める必要がありますか?それは、馬鹿げたテキストファイルを渡さなければならないので、本当にばかげている/面倒です。
  3. 次に、両方のファイル(それらと私の)を含める必要がありますか?

3番が私の最大の疑問ですが、コードの各部分を特定の各ライセンスに確実かつ明確にポイントするにはどうすればよいですか?私はこれについて暴言は言いませんが、正直なところ、これはプログラミングの最もストレスの多い部分です。私にとって、ピア間でコードを楽しく共有することはできませんか?上記の例では、これらのアプリはどれも「ミッションクリティカル」ではありませんが、Niceの追加であり、混乱や制限が原因で含まれていないため、残念です。

5
user137369

あなたが与える例では、MITライセンス、それは言う

上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。

したがって、ソフトウェアにそれらが含まれている場合は、「上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします」。

これですべてです。

ライセンスとともに、ライセンスされたソフトウェアを独自のディレクトリに配置することをお勧めします。メインのライセンスファイルでは、どの部分があなたのものであり、どの部分が別のライセンスを持つかを強調する必要があります。

ライセンスなどのドキュメントを保持するメインディレクトリ(プロジェクトのルートディレクトリやドキュメントディレクトリなど)には、README.TXTやLICENSE.TXTなどのファイルが含まれます。それらの1つは次のようなセクションを含む必要があります

このソフトウェアには、サードパーティのオープンソースソフトウェアコンポーネント(Foo、Bar、およびWhatsit)が含まれています。これらの各ソフトウェアコンポーネントには、独自のライセンスがあります。 ./Foo/License.txt、./Bar/License.txt、./Whatsit/License.txtをご覧ください。

主なことは、それらの部分に独自のライセンスがあることを明確にすることです。オープンソース製品では、ほとんどの場合、ソースが利用可能である必要があるため、ソースプロジェクトまたはソース自体へのリンクを提供します。

見ている人に、あなたがライセンスを遵守していることがわかるようにしてください。

5
andy256