別のライブラリの小さな関数を使用したいと思うことがよくありますが、別の依存関係を取得する価値がないため、最終的には使用しません。
BSD/MITライセンスを考えると、別のパッケージから関数をコピー/貼り付けするだけの場合、コードをライセンスする際の法的要件は何でしょうか?また、netiquetteの問題として、元の作者にクレジットを与えるための好ましい方法は何でしょうか?
これは、各状況の特定の状況に依存することを理解しています。安全な方法は、常に上流の作者に何が欲しいかを尋ねることですが、これが頻繁に発生するため、上流の作者にデフォルトの命題があると、やり取りがスムーズになります。
1正直、それだけです。
引用するライセンス(BSD、MIT)の場合、ライセンス条項には、モジュール全体を使用する必要があるとの記載はありません。実際、これらのライセンスはどちらも、提案していることを実行する明示的な許可をユーザーに与えます。
[〜#〜] mit [〜#〜]
ソフトウェアのコピーを使用、コピー、変更、マージ、公開、配布、サブライセンス、および/または販売する権利を含むがこれに限定されない
[〜#〜] bsd [〜#〜]
変更の有無にかかわらず、ソースおよびバイナリ形式での再配布および使用が許可されています...
したがって、ライブラリ全体への依存関係の作成を回避するために、必要なモジュールからこれらの関数を削除してください。
しかし、あなたができないことは、あなたが使用したコードのソースを特定することに失敗することです。どちらのライセンスでも、ライセンスのコピーと著作権表示を含める必要があります。
つまり、コピーするモジュールの周りにプロローグを付け、著作権の帰属を提供する必要があるということです。または、コードのどの部分がどこから供給されたかを明示的に呼び出すために、ライセンスファイルを変更する必要がある場合があります。それはあなたのプロジェクトとあなたがどれだけ借りたかの程度に依存するでしょう。
あなたも言った:
安全な方法は、常に上流の作者に何が欲しいか尋ねることです
しかし、それは真実ではありません。上流の作者は、彼らが彼らのコードをリリースしたというライセンス条項を通してあなたに彼らの意図をすでにはっきりと伝えています。ライセンスの条件外で何かしたい場合は、上流の作者に連絡するだけです。