デュアル(またはトリプル、またはnタプル)ライセンスを取得する必要があります。どのライセンスでも、リリースしても問題ありません。デュアルライセンスとは、ユーザーがプログラムを使用するライセンスを選択できるということです。
GPLはデュアルライセンスの下で非常に頻繁に使用されます。ほとんどのプログラムは「GPLv2以降」でライセンスされています。これは、現時点ではGPLv2またはGPLv3を意味します。GPLとMPLまたは同様のライセンスの下でデュアルライセンスされているソフトウェアもたくさんあります(通常、関連するすべてのライセンスには「またはそれ以降」があるため、実際には通常は多方向ライセンスです)。
もちろん、MPLは(LGPLのような)弱いコピーレフトライセンスであり、GPLのような強いコピーレフトではありません。したがって、MPLでデュアルライセンスを使用している場合、コード自体の変更をリリースする必要がありますが、コードは他のプロプライエタリプログラムで使用される可能性があります。
「gpl-like*ライセンスを使用するFOSSソフトウェアに組み込む場合は、そのライセンスに再ライセンスすることができます。それ以外の場合は、ライセンスを変更することはできません。gpl-likeはFOSSです。プロジェクト全体が同じライセンスの下にあることを要求するライセンス」は、関心のあるライセンスの競合のほとんどがそのようなGPLのようなライセンスではなく(GPL以外の他の強力なコピーレフトフリーソフトウェアライセンスがあります)、代わりにMPLのようなものであるということですライセンス; つまり、GPLではプログラム全体をGPLの条件に基づいて配布する必要がありますが、MPLでは、その部分を追加の制限なしにMPLで配布する必要があり、競合が発生します。そして、それをMPLの下で配布することを許可すれば、人々はそれを独自のプログラムで使用することができます。
ですから、あなたは自分が何に興味を持っているのかを自問する必要があります。あなたは自分のプログラムやライブラリが自由ソフトウェアでのみ使用されていることに興味がありますか?次に、互換性を最大化するためにGPLv2以降を使用します。ライブラリを常に無料で維持することに興味がありますが、GPLと互換性のないプログラム(潜在的にプロプライエタリプログラムを含む)にリンクできるようにしたいですか?次に、LGPL、MPL、または同様のライセンス、あるいはデュアルまたはトリプルライセンス(GPLv2以降、MPL v1.1以降、またはほとんどのMozillaソースコードのようにLGPL v2.1以降など)を使用します。誰もがやりたいことを何でもできるようにしたいですか?次に、X11 / MITライセンス(BSDよりも短くて単純)またはWTFPLv2(これまでに見た中で最も短く、最も明確なライセンス)を使用します。
そして、本当に寛大だと感じている場合は、SQLiteのようなパブリックドメインにコードをリリースできます。SQLiteには、各ファイルにライセンスではなく、祝福があります。
あなたが善を行い、悪を行わないように。
あなたが自分自身のために許しを見つけ、他の人を許し
ますように。
私はいつも、ほとんどのライセンスに含まれる長くて退屈で恐ろしい法的通知よりもはるかに楽しいと感じています。