小さなオープンソースプロジェクトをGitHubで公開したい。 MITまたはApacheライセンスのいずれかでリリースします。
プロジェクトには、JUnitライブラリを使用する単体テストがあります。 JUnitはEclipse Public License v1.0でリリースされています。 JUnitはプロジェクトでは配布されません-ビルド時にビルドツールであるMavenによってダウンロードされ、使用されます。
プロジェクトで使用されているが、一緒に配布されていないライブラリのライセンスに拘束されますか?ある場合、Eclipse Public LicenseでリリースされたライブラリをMITまたはApacheライセンスプロジェクトで使用できますか?
私自身の考え(最も悲観的なシナリオ)
ユニットテストはJUnitを使用するため、JUnitは配布されていませんが、プロジェクトはJUnitの派生物です。プロジェクトを自動的に配布するとは、JUnitを配布することを意味します。
Eclipse Public License(JUnitのライセンス)はこう述べています:
コントリビューターは、独自の使用許諾契約に基づいてオブジェクトコード形式でプログラムを配布することを選択できます。ただし、その使用許諾契約は、
ささいなことのように聞こえるかもしれませんが、MITおよびApacheのライセンスですべての保証を否認し、追加の条項に関する声明を放棄する)ソースコードの可用性に関する声明)。
したがって、Eclipse Public LicenseはMITおよびApacheライセンスと互換性がなく、JUnitを使用できない場合があります。
原則として、他人のコードを配布しない場合は、独自のコードを配布するときに、そのライセンス条項のいずれも義務付けられていません。責任は、コードが実際にマージされた時点で発生します。
AがBが使用するコードを作成して配布し、AのプログラムはCによって作成されたコードを使用しているが、Aはそのいずれも配布していないとします。次に、Cのライセンスへの準拠の責任は、AのコードがCのコードとマージされる時点で、ユーザーであるBにあります。 Bはこの責任について警告を受ける必要があります。
それが複雑な場合は申し訳ありませんが、明確に説明することは容易ではありません。重要なのは、著作権法は主にコピー(配布)に関するものであり、使用(消費)に関するものではないということです。
私が繰り返し人々に言うように、あなたがそれからお金を稼いで誰にも害を及ぼさないならば、あなたは最善を尽くし、あまり心配しないでください。製品やサービスからお金を稼ぐ場合や、誰かに損害を与える可能性がある場合は、適切な法的助言を受けなければなりません。それはあなたを保護しませんが、それはあなたに危険とおそらくそれらを軽減する方法について警告します。
あなたの他の質問について、ApacheとMITはEPLの下でリリースされた作品と互換性があるが、必ずしもその逆ではないようです。どちらもGPLに適合しませんが、一部ではLGPLに適合します。混合ライセンスは確かに王室の苦痛です。