質問

私の知る限り、MySQL などの GPL コードを使用してデスクトップ/サーバー アプリを構築する場合、ソフトウェアのソース コードを GPL に基づいてリリースする必要があります。

MySQL を使用して Web アプリを開発したい場合、コードは MySQL ライブラリに対してリンクします。この状況では、GPL に準拠するために Web アプリのソースコードをリリースする必要がありますか?

役に立ちましたか?

解決

サーバーのみを保持する(したがって、「プライベート」)場合は、GPLとしてリリースする必要はありません。 ただし、パブリックデスクトップに到達するとすぐに、内部ビルドとは見なされなくなるため、ソースコードが必要になります。

次のことができます:

  • GPLとしてコードをリリースします
  • MySQLの商用バージョンを購入する
  • サーバーのみにしてください。

他のヒント

ソースを (GPL に基づいて) リリースするか、MySQL のプロプライエタリ ライセンスの料金を支払って、プロプライエタリな製品が使用するライセンスに適したライセンスの下で MySQL バイナリを配布する権利を取得する必要があります。ただし、この種の質問は弁護士に相談するのが最善です。

到着予定時刻:少し明確にしておきます。有線プロトコルを使用して MySQL と通信する独自​​のライブラリを作成した場合、常に 100% 平文のままになります。同様に、(例として) BSD ライセンスを取得しているが、それを実行するライブラリを使用する場合も、ソケット接続を介して MySQL と通信しているだけであり、実際には呼び出していないため、暗号化されていないことになります。 GPLコードに変換します。MySQL プロトコルに対して BSD ライセンスを取得したインターフェイスがあるかどうかはすぐにはわかりませんが、どこかにインターフェイスがある可能性は確かにあります。

Webアプリケーションを自分で実行していて、アプリケーションとして配布していない場合は、ソースをリリースする必要はありません。 Webアプリケーションへのアクセスを許可することは、配布とは見なされません。

編集:興味がある場合は、 Affero General Public License をご覧ください。 AGPLソフトウェアのネットワークユーザーがソースを利用できるようにします(たとえば、Webアプリケーションに適用されます)。

アプリケーションでMySQLを使用するために必ずしもMySQLライブラリにリンクする必要はありません。あなたがしなければならないのは、「話す」だけです。 MySQLプロトコルを使用したMySQLサーバーへ。その場合、クライアントとして、つまりユーザーとしてMySQLサーバーに接続し、GNU GPLライセンスの下でソフトウェアをリリースする必要はありません。

問題は、プログラムがどのようにMySQLプロトコルを話すことができるかということです。 1つの可能性は、公式のMySQLクライアントライブラリ(コネクタ)を使用することです。これは GPLです。これを行うと、プログラムがGPLのライブラリに静的にリンクされるため、GPLの下でソフトウェアをリリースする必要があります。

別の方法として、別のライセンスを使用して、サードパーティのクライアントライブラリにリンクすることもできます。たとえば、 MariaDB Client Library を使用できます。これはLGPLに対応しています(したがって互換性があります)独自のソフトウェアを使用して)、元のMySQLクライアントライブラリと同じAPIを提供します。詳細とアドバイスについては、MySQLにも適用される MariaDBライセンスに関するよくある質問をご覧ください。

MySQLサーバーをソフトウェアと一緒に配布するのは難しい場合があります。顧客にMySQLをダウンロードしてインストールするように顧客に要求するか、ソフトウェアと共に配布する単純なダウンローダーを開発することができます。

MySQLはデュアルライセンスを使用します。彼らが言ったように-あなたが自由なら、私たちは自由です。

したがって、私の知る限り、MySQL JDBCコネクタのみを使用する場合は、コードにライセンスまたはGPLが必要です。

GPLを適用したソフトウェアから派生および/または配布しない限り、安全でなければなりません。

MySQLクライアントライブラリへのリンクは、派生物でも配布物でもありません。

更新:考えてみてください。ライブラリにリンクする方法(動的または静的)は違いをもたらします。静的リンクは配布ですが、動的にリンクし、クライアントがコネクタ自体をダウンロードする場合、それは配布ではないため安全です。

ああ、そしてIANAL。

  

MySQLを使用してWebアプリを開発する場合、コードはMySQLライブラリにリンクします。 GPLに準拠するために、この状況でwebappのソースコードをリリースする必要がありますか?

  1. 他の人が言ったように、アプリを他の人に配布しないのであれば、まったく問題はありません。

  2. 通常、標準のデータベースAPIに対して開発し、ユーザーがアプリに接続するデータベースを決定できるようにします。この場合、問題はありません。 “あなたのコード” libmysqlclientにリンクしませんが、libmysqlclientにリンクするデータベースアクセスモジュールと組み合わせることができます。

  3. アプリケーションとlibmysqlclientを一緒にセットアップするインストーラーを配布したい場合、おそらくそれは“単なる集約”としてカウントされないので、アプリケーションを以下で配布する必要がありますオープンソースライセンス。ただし、必ずしもGPLである必要はありません —  MySQL FOSSライセンスの例外

  4. アプリケーションとMySQLサーバー自体をセットアップするインストーラーを配布する場合、例外は適用されないため、GPLのみに制限されます。

当然IANALであり、特に動的リンクに関しては、派生とみなされるものについては確かにまだいくつかの不確実性があります。ただし、上記はライセンスに関するMySQL ABの従来の位置に関する私の理解であり、Sun買収後の変化については聞いていません。

残念ながら、それほどクリーンなカットではありません。GPLは、すべての「派生製品」のソースを提供することなく、配布を禁止しています。配布とは、公式に使用するために1台のコンピューターから1台以上のコンピューターにソースを転送する行為として法的に定義されています。

残念なことに、サーバークラスタ、QAボックス、開発ボックスなどでの使用も含めることができます。現代の開発ショップでは、コードを複数のフロントエンド/バックエンドボックスにリリースするだけで技術的に配布されます(法の目)。

Free Software Foundationが何を考えているかは関係ありません。それを行うために誰か/企業が訴えられたら、少数の裁判官が何を考えるかが重要です。

それが、最近のGPLの主要な顧客が、競合他社がコードをフォークしないようにしたい企業である理由の1つです。他のすべての人は、MITやCreative Commons Attributionライセンスのようなはるかに少ないライセンスを考慮する必要があります。

まず、私は弁護士ではありません。ここでアドバイスを得る前に相談してください。

さらに、Webアプリを配布しない場合、変更をリリースする必要はないでしょう。 Webアプリをホストする場合、Webアプリを他のユーザーが使用できるようにすることができます。

同じパッケージにMySqlが含まれてインストールされているディストリビューションの場合、商用ライセンスが必要です。

しかし、単に" MySqlが必要です"だけでコードを配布する場合通知とインストールスクリプト(テーブルの作成/設定)については、問題ないはずです。

もちろん、IANAL。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top