自分のフレームワークにBSD-3ライセンスのコードを使用する
Djangoフレームワークのconfモジュールに本当に興味があります。それはかなりよくできていて、いくつかの変更を加えることで私のプロジェクトに完全に適合します。私が探しているコードはinitファイルにあります:https://github.com/django/django/blob/bf6d07730c41ae23836d8dae98626fe8614307e2/django/conf/__init__.py
彼らがしていることとはまったく異なるPythonで自分のフレームワークに取り組んでいますが、ライセンスを追加する必要がありますか?
DjangoプロジェクトはBSD-3ライセンスの下にあります。
ライセンスを含める必要がある場合、ファイルの上に直接追加できますか?それとも、プロジェクトのルートに配置する必要がありますか?
最後になりましたが、自分の作品(オープンソース)を公開する必要がある場合、プロジェクトをBSD-3の下に置く必要がありますか?
回答
どこかからコードを取得する場合は、そのライセンス要件に従う必要があります。そのため、「すべき」ではなく、「どのように」または「組み合わせた製品を出荷することを許可されているか/ライセンスに互換性があるか」の問題です。あなたはあなた自身について言及していないので、それは誰も答えることができない質問です。
ライセンスが必要なものを反映するように、製品のライセンスを取得する必要があります。互換性のあるライセンスもたくさんあるので、「BSDを使うべきか」という質問に対する意見のない答えはありません。BSDは非常に寛容なライセンス(弱いコピーレフト)であるため、GPLのような強力なコピーレフトを含め、BSDライセンスのコードベースから派生した独自の作業に対して多くの選択肢があります。確かに、BSDはオープンソースライセンスの有効で確立された選択肢です。
ライセンスの表示に関しては、多くのアプローチがあります。IMHOの最も簡単な方法は次のとおりです。Djangoと同じライセンスを選択する場合は、プロジェクトのルートにライセンスを配置します。別のライセンスを選択する場合は、コピーしたファイルの先頭に短いライセンス情報を保持するか、それら専用の別のサブディレクトリを作成します。 。選択したライセンスに関係なく、常に既存の著作権情報をファイルの先頭に保持してください。あなたがそれらに変更を加えるとき、あなたもそこにあなたのものを加えるかもしれません
最も簡単なことは、プロジェクトをBSD-3にすることです。私たちは私の会社でライセンス監査を行っていますが、誰もが最後に対処したいのは、2つの異なるプロジェクトでセグメント化されたプロジェクトです。