web-dev-qa-db-ja.com

GPL2プロジェクトのソースコードとMITの別のソースコードを使用する場合、何を選択しますか?

いくつかのシナリオ:

  1. GPL 2ライセンスプロジェクトのソースコードを使用するプロジェクトと、MITライセンスプロジェクトのソースコードの別のセットがある場合、プロジェクト全体を何としてライセンスするのですか?
  2. 1つのモジュールがGPL2プロジェクトのソースコードを使用し、別のモジュールがMIT(またはプロジェクト全体が同じライセンスの下にある必要があることを示す別のライセンス)のソースコードを使用する複数のモジュールを持つプロジェクトがある場合はどうなりますか? )、しかしどちらのモジュールも互いに「相互作用」しませんか?
  3. MITライセンスされたソースコードをGPL2ライセンスプロジェクトのソースコードを使用するように変更した場合、プロジェクトは何を使用する必要がありますか(または、プロジェクト全体が下にある必要があることを示す2つのライセンスがあるとします)同じライセンス)?
1
Ben

TLDR;あなたがそれをリリースしようとしていると仮定して、あなたはGPLの下であなたのコードをリリースします。


ライセンスを混合する場合、最初の質問は一般的に互換性がありますか?この場合(IIRC)、そうです。したがって、MITとGPLのコードを使用することは、同じプロジェクトで許可されています。

2つ目のポイントは、あなたにはどのような義務がありますか。使用されているコードを承認する-問題のライセンスを考えると、これは通常、元のライセンステキストの帰属と包含です。

3番目の問題は、どのライセンスでコードをリリースできるかです。 GPLを考えると、コードは同じGPLライセンスの下でリリースされる必要があります。 GPLはこれについてかなり明確です。これもGPLの本来の意図の1つだったと思います-GPLを使用するコードがGPLのままであることを確認してください

3
Niall
  1. GPL 2ライセンスプロジェクトのソースコードを使用するプロジェクトと、MITライセンスプロジェクトのソースコードの別のセットがある場合、プロジェクト全体を何としてライセンスするのですか?

GPLコードから派生した作品は、「全体として」GPLの下にある必要があります。 MITライセンスコードはこれを変更しません(何がそうあるべきだとあなたに信じさせるのか)?MITあなたはあなたの部分の元の著作権とライセンステキストに言及する必要があります) GPLと矛盾しない再利用です。

  1. 1つのモジュールがGPL2プロジェクトのソースコードを使用し、別のモジュールがMIT(またはプロジェクト全体が同じライセンスの下にある必要があることを示す別のライセンス)のソースコードを使用する複数のモジュールを持つプロジェクトがある場合はどうなりますか? )、しかしどちらのモジュールも互いに「相互作用」しませんか?

モジュール1もGPLの下にある必要があり、モジュール2は、MITと互換性がある限り、任意のライセンスの下にある必要があります。これらの2つのモジュールが相互にリンクされておらず、相互作用しない場合、それらは2つの別個の製品です。それらを同じデータ記憶媒体に置くか、両方を一緒に販売するだけでは、両方にGPLが必要であるとは限りません( FSFのGPLFAQ に記載されています)。ただし、必要に応じて、2つのモジュールを使用する複合製品を作成し、両方をリンクします。1を参照してください。

  1. MITライセンスソースコードを変更して、GPL 2ライセンスプロジェクトのソースコードを使用する場合、プロジェクトは何を使用する必要がありますか(または、プロジェクト全体が下にある必要があることを示す2つのライセンスがあるとします)同じライセンス)?

これは、「GPL2ライセンスプロジェクトのソースコードを使用する」の意味によって異なります。 MITライセンスソースをlinkにGPLコードと一緒に変更して、インプロセス通信を可能にすると、結合された作業は、1と同じようにGPLの下にある必要があります。

ここでSOについてさらに質問する前に、ライセンステキストを自分で読んでください。不明な点がある場合は、 GPLを読んでください。 FAQ 。まだ質問が残っている場合は、searchここで最初にプログラマーで誰かが過去に同様の質問をしたことがある場合(非常に類似した質問が何十もあったと確信しています)あなたへの質問)。そして、答えが見つからなかった場合にのみ、ここで新しい質問をしてください。

1
Doc Brown