コードのオープンソースライセンスは後で制限されますか?


29

便利なライブラリを開発し、それをオープンソースとして公開することにしたとします。しばらくして、オープンソースライセンスに準拠しない何かをする必要があります。許可してもらえますか?

所有権を保持し、将来ライブラリを使用することを妨げない方法で、ソフトウェアをどのように公開する必要がありますか?

少なくとも理論的には、他の開発者が私のオープンソースプロジェクトに貢献することを決定する可能性があることに留意してください。元の開発者が自分の貢献の所有権を取得することをライセンスで指定できますか?ここで誤解しないでください、私は悪で他の仕事の所有権を取得しようとはしていません-私の所有権を保持したいだけで、誰かが重要なバグ修正を投稿した場合、元のコードを使用できないようにすることができます私も彼の作品を使用しています。


6
1つのライセンスでリリースしても、他のライセンスでリリースすることを妨げることはありません。結局、あなたはまだコードを所有しています。ソースコードは常にデュアルライセンス(または3つ以上)です。
自己への注意-

回答:


44

あなたは常にオープンソースライセンスの下で所有権を保持します。作成した作品はあなたの所有物であり、他の人がオープンソースライセンスの条件の下でそれを使用できるようにするなど、あなたはそれで何でもできます(もちろん、法的制限内で)。プロプライエタリなプロジェクトに使用したい場合は、契約によって他の人に完全に権利を引き渡さない限り、自由に使用できます。しかし、これはオープンソースライセンスが行うことではありません。所有権を放棄することではなく、有用性を共有することです。

他の人々が貢献し始めると、物事は少しステッカーになります。それはあなたの仕事ではなく、彼らの仕事であり、あなたは彼らの許可を得る必要があります。できることの1つは、デュアルライセンスでライブラリを公開することです。それが、SDLの主要な作成者であり保守者であるSam Lantinga が行うことです。AppleはiOSのダイナミックリンクライブラリを好まないため、静的にリンクされたアプリでLGPLに準拠することは価値以上に面倒なので、彼はLGPLと静的なiPhoneアプリの商用ライセンスの両方でSDLを公開しています。誰かがパッチを提出するとき、彼は両方のライセンスの下でライブラリにパッチを展開する許可を明示的に求め、彼らがそれを好まない場合、彼はそれをコードベースに追加しません。

編集:私の例はもはや正確ではありません。しばらく前、Samはモデルを変更し(理由はわかりません。多分、管理の面倒にうんざりしていたのかもしれません)、今では非常に寛容なzlibスタイルのライセンスでSDLのライセンスを取得しています。しかし、彼はそれをこのようにしていた。


1
特に、他の著者からの投稿を処理する方法を示すために。
フランクシェラー

5

私は弁護士ではなく、これは法的助言ではありません。法的保証が必要な場合は、弁護士を雇ってください。

ソフトウェアの二重ライセンスは絶対にできます。TrolltechはQtで長年それを行い、Linden LabはSecondLifeクライアントでそれを行いました。

任意のライセンスを使用できます。一部のライセンスは、Mozilla MPL、MITおよびBSDライセンス、SunのCDDLおよびApacheライセンスなど、閉鎖的な商用環境と互換性があります。

ただし、ソフトウェアをオープンソースプロジェクトとクローズドソース製品の両方としてリリースする柔軟性が必要な場合は、元の作者としてそれを行うことが絶対に許可されます。唯一の問題は、ユーザーの投稿の問題です。著作権を合法的にリリースしない限り、他の人の貢献をソフトウェアの商用バージョンに組み込むことはできません。GNUは、将来ライセンスを更新するという唯一の理由でこれを行います。

ユーザーや特に貢献者はおそらくこれを好まないので、プロジェクト周辺のコミュニティに悪影響を与える可能性があることに注意してください。

繰り返しますが、詳細については弁護士に相談してください。


MIT、別名「あなたがやりたいことは何でも」ライセンス。
エヴァンプライス14

2

私も弁護士ではありませんが...

GPLのような制限付き(それを使用する各プロジェクトを強制的にオープンソースにする)ライセンスの他に、Lesser GPLまたはApache License(2.0 ?)。したがって、制限のない条件でソフトウェアを簡単にリリースできます。


2
GPLはコードの所有権を変更しません。GPLでコードを公開する場合、それはコードを使用する他の人に適用されます-私は好きな許可があり、私は好きなことを何でもすることができますGPLで)。
マチェイピエチョトカ

2
制限的とは、GPLはライブラリのユーザーにGPL互換ライセンスの下でソフトウェアのリリースを強制するのに対して、L-GPL、Apache、...(BSD?)などのライセンスはそうしないことです。今、あなたがあなたのコードをGPLで編集し、誰かがそれに対して変更をコミットした場合、何も起こらなかったかのように単に商業的にリリースできるかどうかはわかりません。最初に追加を削除する必要があると思います...しかし、ライブラリ/フレームワークがL-GPLライセンスである場合、他のユーザーと同じように商用アプリケーションで使用できます。理にかなっているといいのですが。
パウェウダイダ

これはまさに、ライブラリを作成するときに行うことです。商用ライブラリをリリースすることはあまり意味がありません。通常、その方法でリリースされるのはエンドユーザーアプリケーションであり、制限のないライセンスであれば、プロジェクトでライブラリを使用できます。そして、私がそれを書いたとしても、他の誰かが書いたとしても、それは問題ではありません。
ゴランジョヴィック

@Goran、どのライセンスの下にあるかに関係なく、自分のプロジェクトでライブラリを使用できます。それはあなたのライブラリであり、あなたのプロジェクトです。ライセンスはあなたではなく他の人に適用されます。
TRiG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.