最近まで、法的な頭痛の種であるため、アプリケーションでのオープンソースコードの使用は常に避けていました。私はかなりの金額を費やし、帰属について心配する必要はありません(ほとんどの商用コンポーネントはそれを必要としないため)。
ただし、無視するのは恥ずべきことですが、そこにはたくさんのコードがあります。また、オープンソースソリューションの品質が商用ソリューションよりも優れている場合もあります。
私が最も遭遇し、把握するのが最も難しいと思うライセンスは、MPLです。すべてのFAQには、コードへの変更が利用可能である限り、コードをクローズドソースアプリケーションにコンパイルすることは問題ないと記載されています。コードに変更を加えないと仮定すると、他に覚えておくべきことは何ですか?たとえば、著作権表示と帰属。さまざまな著作権表示をすべて含む一連のファイルを含める必要がありますか? [バージョン情報]ダイアログのサイズを2倍にし、すべてのオープンソースコンポーネントをベンダーのWebサイトなどとともに一覧表示する必要がありますか?これにどのように対処しますか?
コードの作者に彼らがふさわしいクレジットを与えることに問題はないことに注意してください。何が合理的かを知りたいだけなので、実用的な方法で対処でき、少なくともMPLを恐れることはありません。
あなたの経験を期待しています。
私の質問をより明確にするために、私はアナロジーを使用します。私が本Aを書くつもりで、他の誰かが書いた本Bの一部を使用したいとします。私が彼の功績を認める限り、Bの作者はこれで問題ありません(MPLの条項に非常によく似ています)。しかし、どうすればよいですか?私は彼の名前を私の表紙に、および/または私が彼からの完全な段落を使用する、および/または私が彼からの完全な文を使用する、および/または私が彼からのいくつかの単語を使用するすべてのページの余白に置くのですか? /またはソースのある専用セクションにありますか?あるいは、彼の名前を黒いページに黒い文字で印刷するか、フォントサイズ.00001で印刷するだけで十分でしょうか?幸いなことに、本の場合、ソフトウェアの場合ほど多くの方法はなく、確立された慣習がいくつかあります。ソフトウェアの分野ではまだ発見していないので、何か見落としがあったかどうかをここで尋ねます。重要なのは、帰属をできるだけ少なくすることではありませんが、許容できる公正なものを探しています。各ページが帰属で半分埋められている本を書きたくありません...
アトリビューションは、私が具体化するのが難しいと思う用語の1つにすぎません。何も変更しなかった場合、コードとライセンステキストを利用できるようにするのはどうですか?著者のウェブサイトにリンクしますか、それとも自分でミラーリングしてリンクしますか、それともインストーラーに入れますか?そして、たとえば、Firebirdプロジェクトから、ほとんどのファイルが1つの場所にありますが、いくつかのDLLがアプリケーションのフォルダーに分散しています。ライセンステキストを含む単一のフォルダを作成し、それぞれに関連するファイルを一覧表示することをお勧めしますか?それで十分?もっと良い方法はありますか?
完全な回答は、MPLのすべての要件に対応しています。 :)
MPLは、独自のコードを保護するために設計されたオープンソースライセンスです。 MPLコードを変更する場合は、それらの変更をMPLで公開する必要があります。それがライセンスの焦点です。残りのコードのライセンス条項に影響を与える「バイラル」要件はありません。
帰属要件の考え方は、人々にコードを認識させることです。したがって、あなたが言うように、「私は何を回避できるか」ではなく、公正なことを探しているのであれば、おそらくあなたの帰属を「アバウトボックス」または類似の機能に入れるべきです。ここでの最良のガイドは黄金律です。MPLコードを記述した場合、それを使用した開発者がプログラムでアトリビューションを提供するためにどのように望んでいますか?