uzullaの日記

本家:about等:Twitter
 | 

2008-03-10

Mysqlのライセンスって奇々怪々です(修正)

02:50

MysqlGPLもしくはMysql商用ライセンスOEMエンタープライズ等)で利用出来ます。

さらに例外もあって、一部のPHPライセンスとかでも利用できます。

うん、なるほどね。


MysqlGPLで使えるから、自由なんですよね?

MysqlってGPLですよね、だからMysqlって商用につかおうが、何に使おうがOKだよね!

動的にライブラリ組み込まなければ、ソース非公開のアプリからMysql叩いたっていいよね!


これが普通の考え方だと思います。


でもね、とにかくよくわからんのよ。

MysqlGPLライセンス説明のページ*1には

「複製、改変、頒布を決して行わないお客様は、無償での使用が可能です」ってあるんよね。つまり自分でDLして使う分には「お客様のアプリケーションGPL ライセンスに基づいているかを問わない」って言ってる。

でも、かたや商用ライセンスのページ*2には

「商用アプリケーションを開発・頒布し、当該アプリケーションの一貫としてエンドユーザが MySQLダウンロードしなければならない場合、お客様 (または、場合によってはエンドユーザ) は、各派生物に対して MySQL サーバおよび (または) MySQL クライアントライブラリの商用ライセンスを取得する必要があります。」とある。


つまり、アプリが何のライセンスであれ

・自社アプリならGPLでつかえる

・他社アプリならGPL不可

という風に読めるんだけど、ホントに?


つまりは

GPLであるかとかどうであるかとかは全部ヨソにおいておいて、MysqlDBとしてエンドユーザが使う(DLするなり、販売元がセットで売るなり)なら、商用ライセンスが必要って、読めた。


でもそれってGPLでもなんでもないじゃんね。


繰り返しになるけど、MysqlGPLで手に入る

「お客様には MySQLバイナリソースコードを複製することが許可されますが、この場合、これらの複製物にも GPL ライセンスが適用されます。」って書いてある。

だからGPLライセンスされたMysqlは手に入れられるし(GPLに反さない限り再配布も当然OKなはずだし)、ローカルのコンピューターで実行できる。

GPLは商用利用しようがなにしようが、別に文句無いはず。


だよね?


矛盾してない?

開発したアプリと、Mysqlというものを「切り離して考えればGPL」なんだけど、

二つをあわせると突然商用になるらしい、ホントにー?

一緒に配布しちゃだめとかそういう訳じゃないの?


勿論ライブラリ云々はわかるよ

GPLである公式のJDBCドライバとか、ああいう動的ライブラリを非公開な製品に組み込んで配布したら、それは問題になる。

これはわかる。

でも…、たとえばPHPみたいに、PHP自体にすでにMysqlライブラリが組み込まれていて、その上で走るPHPスクリプトにはMysqlライセンスが影響するのか?

後は、仮にBSDライセンスJDBCドライバが存在して、それでMysqlを利用する場合、これは動的なリンクとみなされるのか?そしてMysqlライセンスが必要となるのか?

サーバにすでにMysqlインストールされてうごいてたら(レンタルサーバーとかで)別に自分でいれてないんだけど、やっぱりライセンス必要なの?


すんごく素直に、皮肉に読めば

Mysqlサーバーを用いた製品を作るなら、ライセンスはらえや。

という事にしたいので、MysqlサーバーGPLでありながら、コマーシャルユーズにおいては商用のDBである。

と主張していると考えれば収まりがよくなる。


でもね、そういう風に書いてあるわけじゃないんだよねー


そして各ホスティング業者とか、色々な商用ディストリビュージョンに標準でふくまれているMysqlを見ると、どうも違う様じゃんか。

あきらかにあれはGPLソフトウェアだからできてるんでしょ?


さらに言えば、

「商用ライセンスを選択することにより、お客様は GPL ライセンスの広範かつ厳格な要件・制約に縛られることがなくなります。」

という事があり、「GPLであるMysqlGPLに汚染されずに使えますよ、金はらえば」と言っている。


つまりGPLにのっとって使えばコマーシャルでつかっていいって書いてあるような物。


でも…

繰り返しになるけど、

「商用アプリケーションを開発・頒布し、当該アプリケーションの一貫としてエンドユーザが MySQLダウンロードしなければならない場合、お客様 (または、場合によってはエンドユーザ) は、各派生物に対して MySQL サーバおよび (または) MySQL クライアントライブラリの商用ライセンスを取得する必要があります。」

とある。ライブラリだけではなく、サーバ単体でも問題らしい…。


つまりは…

よーわからんわー。

正直そういう風に考える人ってたくさんいるとおもうし、そのツッコミっていままでにたくさん入ってるんだろうけど、それに答えてないMysql ABのやらしさは異常!!ぬ(;´Д`)

まあ、今やってるMysql使う案件では、ライセンス買うって話になりましたけどね。1本5万です。




あー、これかな?

出典を追い切れていないのだけれど、

Mysqlと通信するためのプロトコルGPLであるので、Mysqlと通信するためにはすべからくGPLである」

という事を主張している…らしい*3、ホント?これは原典未確認。*4

つまり

存在するMysqlライブラリはすべてGPLのはず>Mysqlと通信するにはライブラリをつかうはず>つまりMysqlで動くソフトウェアは絶対GPLライブラリを使っている筈>つまりMysqlを利用する全部のソフトはGPLになるはず

という論法で主張するらしい、なるほど。

これならサーバーがどうとかではなく、ソフトウェア側のコネクタに的を絞った話になりますね、わかりやすい。


Mysqlサーバーを、mysqlコマンドだけで使うような場合には問題にならないけど、外部アプリと連携させたらその外部アプリを経由してGPLの汚染(笑)がくるんだろうか。


ってことは、あれじゃん?

大抵のレンタルサーバーとか、PHPはいってて、PHPにはMysqlライブラリリンクされてますやん?

そうなるとクローズドソースなPHPって大概全部アウトじゃね?w

むしろ拡大解釈すればそのPHPがリンクされてるApacheからよびだされるPerlとかもそんなハメに?


えー、そんな話はさすがに聞いたことないんですけど。


PerlGPLだけど、あれの上で動くコードには波及しないじゃん。

…あれ?じゃあPHPスクリプトMysqlの汚染はとどかないのかな?

もしかしてJavaとか、JDBCドライバをいれなきゃいけないような場合に限るわけ?


今解ってないこと

GPLデーモンと通信するプログラムGPLになるの?

もしなるならMysqlサーバーを非公開ソースな物に使う抜け道は無い。でも、これはあり得ない(と思う)。

PHPに組み込まれたMysqlドライバなどは、そのPHPの上で動くアプリにまで影響を及ぼすの?

これと

GPLライセンスに全く違反していなくても「非公開ソースのアプリライセンス買え」ってMysqlは主張しているの?

上がホントなら

GPLって言ってライセンスしたのに、恣意的に後でライセンスを変更させる事ってできるの?

要求はできるけど、権利ってあるの?


っていうか、MysqlGPLはv2ですけど

もしこんなノリでv3とかになった日には、つらいですね、シャレになってない。

ウェブアプリケーションで提供している会社は全員ライセンス買えってことでしょ?

でも採用したいとかって話があるなー…

http://journal.mycom.co.jp/articles/2007/09/18/mysql/index.html


最近SQLite流行ってるのはやっぱりこれの所為なのかな

最近SQliteMysqlを追い出す勢いで、昔のMysqlの位置に入ってきていて、色々なアプリの標準DBになってきている。

これは単にサーバー建てなくていいから楽だしって理由かと思ってたけど、Mysqlのこういう事も理由なのかなー。

一番手軽だった筈なのにねー。

PostgreSQLの認証周りがもうちょっとどうにかなればいいのになw

PicklesPickles2008/03/11 13:03>プロトコルはGPL
これはInternal Manualに書いてあるらしいけど微妙だよね。
http://d.hatena.ne.jp/moriyoshi/20061231/1167573966
にも書いてあるけど実装があってこそのプロトコル。どっちかっていうと特許でカバーだよねぇ。


PHPとかPerlとか実行系はGPLでも、ソーススクリプトにライセンスは影響せず、著作者が選べるということでしょう。GCCでコンパイルしたバイナリがGPLにならないのと一緒のはず。JDBCみたいに明示的にアプリのソースとかコンフィグからリンクした場合がNGなんじゃね?と思う。

>GPLなデーモンと通信するプログラムはGPLになるの?
これは無いでしょう。SendMailとかQMailとかにメール送るためにOutlookがGPLなんて聞いたこと無い。MySQLのプロトコルがGPLってのがいんちきくさいだけだと思う。

PicklesPickles2008/03/11 13:06とかいてどのMTAもGPLじゃないことに気づいたw

uzullauzulla2008/03/11 13:20>プロトコルがGPL
そうだよねえ、実装じゃないよね、プロトコルって。ただ、特許ってのもSambaとか見てる限り怪しいよね。プロトコル互換の物なんて山ほどあるじゃん。

PHP的な意味でスクリプト側にライセンスがいかないなら、PHPとかPerlとか公式にバンドルされてるヤツ経由でつかうならクローズドであろうがなんであろうがMysqlってGPLでつかえますね(ホントかどうかしらんけど)


qmailに送信すると、djb教に入信したものとしてあつかわれますw

 |