SlideShare a Scribd company logo
今さらだけどMySQLとライセンス
(Ver. 0.9.1)
担当: @h141gm
対象者:MySQL の導入でライセンスが不安な人
MySQLを使用するアプリの作成者
レベル:初心者向け
自己紹介
石井と申します。( twitter ID: @h141gm )
前回の"第3回大阪MySQL勉強会"では、「Windows で MySQL入門」というお題
でしゃべりました
http://www.slideshare.net/h141/windowsmysql-14841563
前回の自己紹介でも書いたけど、仕事はPostgreSQLとかその辺ばっかりです
というわけで、次回の勉強会こそ実務でMySQLを使っている方の発表をお願い
します!
個人的には、以下のようなテーマを聞きたい
AWS RDSとかClearDBとかXeroundとかIIJの例のヤツとかMySQLな
DBasS系を使ってる方の体験談
Codeship社Galere Cluster for MySQLでのマルチマスター運用
今回のスライドも、slide shareにアップします
URL: http://h141.github.com/ からどうぞ。
プロローグ(前説)
MySQLってなんかよくライセンスでディスられてるなー
某MS社のGPLへのFUDとかもあったからかなー?
FUD(fear, uncertainty, and doubt 恐怖、不安、疑念)
調べるとなんか人によってGPLの解釈が違うんだけど、ナニコレ?
MySQL関連だけでもライセンスがスッキリ分かる資料を作ろう
…と思って作り始めたけど、甘かった
調べても、調べても、終わらないorz
なんだ、このジャンル…
と言うわけで格好悪いですが、今回の発表はVer.0.9です、ベータです
多分間違ってるところやWikipediaで"[独自研究]"をつけられそうなところも
たくさんあると思います
ご意見、ご感想等はTwitterまでお願いします( twitter ID: @h141gm )
プロローグ2(GPL 風の 注意)
この資料は,準拠法の下で認められる限りにおいて
何らの保証もなされない。
この資料の品質及び性能に関するリスクはすべて
読者が負うものとする。
この資料に瑕疵のあることが明らかになった場合で
も、必要な保守点検,修補,又は修正に要する費用
はすべて読者の負担とする。
目次
第1部 法律編
第2部 ライセンス編
第3部 MySQLのライセンス編
第4部 MySQLとリンク編
第1部 法律編
ライセンスとは?
IT業界でのライセンス
「使用」と「利用」の違い
サブスクリプション
なぜ著作物の「利用」を「許諾」できるのか?
ライセンスの2つの法的根拠
「使用」と「利用」とライセンス
契約とは
日本の法律が適用される?
法・ライセンス インピーダンス・ミスマッチ
日米の法律の違い
著作権
著作者人格権
著作財産権
著作権者って?
著作財産権
職務著作
職務著作の帰属
二次的著作物
ライセンスとは?
そもそもライセンスって何だっけ?
英語だとlicense(イギリスでlicence)のwikipediaでの定義はシンプル
http://en.wikipedia.org/wiki/License
The verb license or grant license means to give permission.
つまり”許可を与えること”
"運転免許証"もlicense
“運転をする” “許可を与える” "証明書類"
IT業界でのライセンス
IT業界でいうライセンスって、何の「許可許可許可許可」なの?
“ソフトウェア”の“使用(実行)”の許可許可許可許可 (実行許諾)
(正確には「契約」により使用が制限された状態の中で、限定的に“許可”されたもの)
無期限のソフトウェア「使用許可」 (永続ライセンス)
購入した商用のパッケージアプリ製品
【MySQL 商用版 OEMライセンス】 組み込みデータベース
期間期限付きのソフトウェア「使用許可」 (→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)
【MySQL 商用版 年間サブスクリプション】
(契約での使用制限がないソフトの「使用」の「自由」)
オープンソースライセンス(【MySQL コミュニティ版】)
(著作権的には契約による制限がなければ自由に「使用」できるため正確には「許可」ではない)
“ソフトウェア”の"利用"の許可許可許可許可 (利用許諾)
無期限のソフトウェア「利用許可」
ほとんど制限がない「利用許可」
オープンソースライセンスソフト(【MySQL コミュニティ版】)
回数、用途、対象などの制限が厳しい「利用許可」
【MySQL 商用版 OEMライセンス】
期間期限付きのソフトウェア「利用許可」(→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)
回数、用途、対象なども制限された「利用許可」
【MySQL 商用版 年間サブスクリプション】
“サービス”を受ける許可許可許可許可
期間期限付きのサービス「使用許可」(→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)
会員サイトでのバイナリやアップデートの入手、サポートサービスなどを受ける許可
【MySQL 商用版 年間サブスクリプション】
RHNサブスクリプション、MSDNなど
「使用」と「利用」の違い
著作物の「使用」 … 著作権法で著作財産権で専有とされた行為「以外の全部」の著作物への行為
例:本を読む、CDを聞く
ソフトウェアの場合:
ソフトウェアを実行する
著作権法では著作物の「使用」に関しては制限の規定が「ほとんど無い」
(というか著作物を使用できる「自由」があるのが当たり前という前提)
著作物の「利用」 … 著作権法の著作財産権により著作権者に専有されると定められた著作物への行為
例:本のコピーをとる、公衆送信、送信可能化、公共の場所で音楽を鳴らす、CDを貸す
ソフトウェアの場合:
ソフトウェアのインストール
ソフトウェアの配布
ソフトウェアを改造して二次的著作物を作る
著作権者以外が著作物を「利用」するには著作権者による「利用」の許可が必要
「利用の許可が必要」には、いくつか例外あり
私的使用のための複製(著作権法第30条)
プログラムの著作物の複製物の所有者による複製等(著作権法第47条の3)
など(著作権法第30条~第50条)
(上記の用語の対象は「著作物」である、 「【著作物】の使用」と 「【著作権】の"行使(=使用)"」を混同しないように)
ただし、日常生活では「使用」と「利用」を特に区別しないことが多い
「使用許諾書」とタイトルにある契約書中で「利用」についてばかり書いてあるのはよくある
MySQLの場合
Comunity Server などのGPLライセンスは、 「利用許諾」
商用版 年間サブスクリプションは、 期限付き「使用許諾」
商用版 OEMライセンスは、 期限なし「使用許諾」
サブスクリプション
ライセンスに類する言葉に"サブスクリプションサブスクリプションサブスクリプションサブスクリプション"があります
サブスクリプション(Subscription) = 雑誌の定期購読
会社や製品によって異なるが、大体以下のような期限付きの許可がセットになったもの
一定期間の「使用許可」
一定期間サポートを受ける許可
一定期間バージョンアップする許可
例:MicroSoftのボリュームライセンスの場合
ライセンス(L)
無期限の「使用許可」
ソフトウェア アシュアランス(SA)
一定期間の「使用許可」
一定期間サポートを受ける許可
一定期間バージョンアップを受ける許可
実際の販売形式 (2013/05 現在)
Open (Open Lisense) … L
Open Value … L & SA
Open Value Subscription … SA
なぜなぜなぜなぜ著作物著作物著作物著作物のののの「「「「利用利用利用利用」」」」をををを「「「「許諾許諾許諾許諾」」」」できるのかできるのかできるのかできるのか?
"ライセンス"で著作物の「利用」の「許可」を与えることができる根拠
著作権法で認められた権利
(著作物の利用の許諾)
【著作権法第63条1項】著作権者は、他人に対し、その著作物の利
用を許諾することができる。
【著作権法第63条2項】前項の許諾を得た者は、その許諾に係る
利用方法及び条件の範囲内において、その許諾に係る著作物を
利用することができる。
【著作権法第63条3項】第一項の許諾に係る著作物を利用する権
利は、著作権者の承諾を得ない限り、譲渡することができない。
この”著作物の利用の許諾”は、”著作権の譲渡”とは別である
”著作「物物物物」の利用許諾”を得ただけでは、”著作「権権権権」を行使”することはできない
(著作権の譲渡)
【著作権法61条1項】著作権は、その全部又は一部を譲渡することができる。
【著作権法61条2項】著作権を譲渡する契約において、第27条又は第28条に規定する権利が譲渡の目的とし
て特掲されていないときは、これらの権利は、譲渡した者に留保されたものと推定する。
(翻訳権、翻案権等)
【著作権法27条】著作者は、その著作物を翻訳し、編曲し、若しくは変形し、又は脚色し、映画化し、その他翻案
する権利を専有する。
(二次的著作物の利用に関する原著作者の権利)
【著作権法28条】二次的著作物の原著作物の著作者は、当該二次的著作物の利用に関し、この款に規定する
権利で当該二次的著作物の著作者が有するものと同一の種類の権利を専有する。
ライセンスの2つの法的根拠
ライセンスの法的根拠は大きくは2つあります
「著作権」を元にした「著作物利用の許諾」 という側面
「契約」や「約款(普通取引約款の略)」を根拠にする「使用」や「利用」の制限 という側面
(大雑把に言うと、「約款」は多数と締結するためのテンプレによる「契約」のこと)
前述したが、 「著作物の使用」は「著作権」を根拠とした制限が難しい
従って「ソフトウェア使用許諾契約書」などの文面では、
「「「「著作権著作権著作権著作権」」」」を根拠に「著作物著作物著作物著作物のののの利用利用利用利用」の条件を定め
(著作権法第63条2項「許諾に係る利用方法及び条件の範囲」を指定できる)
「著作物著作物著作物著作物のののの使用使用使用使用」については「契約契約契約契約((((約款約款約款約款))))」で、「著作物の使用」の「全面制限全面制限全面制限全面制限」をしたうえで、
ピンポイントで「許可許可許可許可」される場所を指定
という形で書くことができる
ただし「契約」は、契約が成立しているかどうかの確定が面倒です
”承諾の意思表示の確認しているか”
”適法か”
”社会的妥当性があるか”
…などなど
詳しくはアメリカの例ですが「シュリンクラップ契約裁判」等を参考
「シュリンクラップ契約」とは
市販パッケージソフトの表面に「封を開けたら以下の条項に同意したものとみなす」
などと書かれている例のアレ
承諾の意思表示確認が弱いので、これが「契約」に当たるかどうか意見が分かれる
この点、GPLなどのオープンソースライセンスは「著作物利用の許諾」に特化している文章となっている
このため「契約」には頼らずに「著作権法」だけを根拠にすることができる
(一応、GPL v2 の第5条では契約としての受諾を強制しています)
「使用」
「利用」
「使用」と「利用」とライセンス
「使用」
「利用」
「白白白白」はその行為が「可能可能可能可能」
「黒黒黒黒」は「不可不可不可不可」であることを示すとする
■素の著作物
「使用」
「利用」
「使用」
「利用」
■オープンソースライセンス
■商用ライセンス(プロプライエタリ)
「使用」
「利用」
「使用」は全面可能
「利用」は全面不可
(私的複製など一部は
許されている)
①「著作物利用の許諾」で
「利用」を基本全面許可
②「利用」に一部条件を付ける
例:コピーレフト、宣伝条項
①「契約」で
「使用」に全面的な制限をつける
②「契約」により
指定された「使用」を許可
インストールなど必要な「利用」も許可
完成
完成
契約とは
「契約」とは「当事者間で結ぶ法的拘束力を持つ合意」のこと
…法律の素人が説明するには荷が重い…
民法だけで千条を越えるし…
前述したとおりGPLだと関係ないし…
と言うわけで、省略します。
ごめんなさい
日本の法律が適用される?
ここまで、この資料では著作権について日本の法律「著作権法」を引用しながら説明をしてきた
Q: MySQLは、著作権者が外国人の著作物だが、外国の法律に従わなくていいの?
U.S.Code,Title17とか ミッ○ーマウス保護(著作権延命)法とか デジタルミレニアム(DMCA)法とか
A: いいんです。
著作権は行為が行われる国の法律に従います。これを”属地主義”といいます。
【ベルヌ条約第5条1項】 (1) 著作者は、この条約によつて保護される著作物に関し、その著作物の本国以外の同盟国に
おいて、その国の法令が自国民に現在与えており又は将来与えることがある権利及びこの条約が特に与える権利を享有
する。
【ベルヌ条約第5条2項 】(2) (1)の権利の享有及び行使には、いかなる方式の履行をも要しない。その享有及び行使は、
著作物の本国における保護の存在にかかわらない。したがつて、保護の範囲及び著作者の権利を保全するため著作者
に保障される救済の方法は、この条約の規定によるほか、専ら、保護が要求される同盟国の法令の定めるところによる。
参照: http://www.mofa.go.jp/mofaj/gaiko/treaty/pdfs/B-S50-0113_1.pdf
これであっているはずです、 … 多分
本当は「本国法説」、「保護国法説(≒属地主義)」「法廷地法説」とかがあって面倒くさいようだ
が、おおむね、これで合ってるはず
余談:条約は憲法よりは下だが法律より優先されます
【日本国憲法第98条2項】日本国が締結した条約及び確立された国際法規は、これを誠実に遵守することを必要と
する。
従って、MySQLでも「日本国内での行為」は「日本国」の「著作権法」が準拠法(適用すべき法律)となります
オープンソースライセンスの中には、準拠法を指定しているものもあります
例:Mozilla Public License (MPL) v 1.1 の"11. Miscellaneous" で、 カリフォルニア州法を指定
この場合でも指定された法律は判断基準の参考にはなりますが(理由は後述)、準拠法にはなりません
法・ライセンス インピーダンス・ミスマッチ(余談)
タイトルは、ORマッパーで話題になる”オブジェクトリレーショナルインピーダンスミスマッチ”
(=2つの間にギャップがありフィットしないこと)から連想した、てきとーな造語です
GPLなどのオープンソースライセンスを書いた人はアメリカの人が多い
アメリカのアメリカのアメリカのアメリカの著作権法著作権法著作権法著作権法をををを念頭念頭念頭念頭においてライセンスのにおいてライセンスのにおいてライセンスのにおいてライセンスの文面文面文面文面をををを書書書書いているいているいているいている
用語とか概念も日本の著作権法とは、ずれている
(「派生物」と「二次的著作物」とか、「著作者人格権」の有無とか)
だからだからだからだから日本人日本人日本人日本人にはにはにはにはGPLとかのライセンスがとかのライセンスがとかのライセンスがとかのライセンスが分分分分かりにくいかりにくいかりにくいかりにくい
(んじゃないかなあ)
とは言うものの
日本人がソフトを作成して、上記のような既存のライセンスを使用すると決めた場合、
そのライセンスのそのライセンスのそのライセンスのそのライセンスの文章文章文章文章をををを書書書書いたいたいたいた人人人人のののの意図意図意図意図したところをしたところをしたところをしたところを受受受受けけけけ入入入入れたかられたかられたかられたから選択選択選択選択したとみなされしたとみなされしたとみなされしたとみなされ
その人の書いた解説文解説文解説文解説文などもなどもなどもなども、、、、ライセンスライセンスライセンスライセンス解釈解釈解釈解釈のののの根拠根拠根拠根拠としてとしてとしてとして有効有効有効有効になるになるになるになる
と思われます …多分
したがって、法廷では、おそらくですが
GNUのFAQ等のドキュメントに書かれて公開されている解釈も、有効
前述したMPL v 1.1でのカリフォルニア州法とかも、ある程度有効
となるかも?
それが嫌なら、オレオレライセンスを書けと言う事ですね(違
日米の法律の違い (1/2) (余談)
日本 = 大陸法系(シビル・ロー Civil Law)
制定法主義主義主義主義 、成文法主義
ローマ法
+サリカ法(ゲルマン法)
+カノン法(教会法)
(小説だけど佐藤賢一『王妃の離婚』オススメ)
アメリカ = 英米法系(コモン・ロー Common Law)
判例法主義主義主義主義 、不文法主義
(狭義の)コモンロー(判例法)
+エクイティ(判例法で足りないところの補完)
+商慣習法
+カノン法(教会法)
イングリッシュブレックファストとコンチネンタルブレックファストの差以上に違う
大陸法と英米法は「著作権」でも違いがある
大陸法:
著作者の権利 (right of the author)という認識
余談:JASRAC(日本音楽著作権協会) のRAの部分は上記から来ている
著作者人格権あり
著作者人格権は人格に由来し切り離せない(一身専属性)ため、放棄できない
以前、これにより日本ではPDS(パブリックドメイン)を宣言できないかが話題になった
無方式主義(届出不要)
英米法:
複製権(copyright)(=コピー(copy)する権利(right))と言う認識
著作者人格権なし
登録制(届出必要)
→このため、アメリカはベルヌ条約(大陸法)に加盟できなかった
1988年に著作権法を根本的に改正してベルヌ条約加盟した
それでも著作者人格権を追加しなかったので、議論の対象となっている
日米の法律の違い (2/2) (余談)
著作権とは
改めて、著作権とは何か?
知的財産権(無体財産権)の一種
大きく分けると「著作者人格権著作者人格権著作者人格権著作者人格権」と「著作権(著作財産権著作財産権著作財産権著作財産権)」からなる
知的財産権
著作権
産業財産権
(旧名:工業所有権 )
その他
著作者人格権著作者人格権著作者人格権著作者人格権
著作権(著作財産権)
著作隣接権
特許権特許権特許権特許権
実用新案権
意匠権
商標権商標権商標権商標権
回路配置利用権、育成者権、営業秘密等
翻訳権
二次的著作物利用権
など
複製権
公衆送信権権
送信可能化権
譲渡権
貸与権
産業財産権には、
「申請」「登録」などの手続きが必要
音楽などでの演奏者の権利
正確にはコレも「人格権」と「財産権」がある
公表権
氏名表示権
同一性保持権
名誉声望保持権
著作者人格権
「著作者人格権」 … 著作者の人格的利益(名声や信頼のこと)を保護するための権利
以下の権利から構成される
(ある権利が複数の権利の束で構成されている場合その構成要素の1つ1つの権利を支分権と呼ぶ)
公表権
まだ公表されていない著作物を公表する権利(著作権法第18条)
「まだ公表されていない」には「同意なしに公表された」も含む
(違法にリークされたような場合を想定)
氏名表示権
著作者名を実名、変名(=ペンネーム)、匿名で表示できる権利(著作権法第19条)
匿名は、著作者名を表示しない ということ
同一性保持権
著作物が著作者の意に反した著作物やタイトルの改変を禁止する権利 (著作権法第20条)
ただし、第20条第2項第3号で著作物がプログラムの場合は以下の制限があります
移植、デバッグ、改良などが目的の改変は禁止する権利 がありません
また、この「同一性保持権」はGPLなどの「コピーレフト」との相性が悪い
コピーレフトでは著作権者の意に反した改変でも許さなければいけないため
「ひこにゃん」の裁判で話題になったのはこの「同一性保持権」です
名誉声望保持権
著作物の改変を伴わないが著作者の名誉又は声望を害する方法によりその著作物を利用する行為
(著作権法第113条6項)
風俗のチラシに既存の漫画を使った場合など(著作財産権を譲渡してしまっていてもOK)
著作者人格権は人格に由来し切り離せないため(一身専属性) 、放棄できない
投稿サイトなどの規約で「投稿者は著作者人格権を行使しない」としている場合もありますが
適法でない規約の場合、契約が成立していないと判断される可能性があります
著作財産権
「著作権(著作財産権)」…著作者の財産的利益を保護するための権利、copyrightの事
以下の権利から構成される
以下の○○権は専有なので、「著作権者の許諾なしに○○をすることは禁止」と読むと理解しやすい(許諾権という)
複製権
著作物を複製する権利の専有(著作権法第21条)
プログラムのインストールは「複製」と考えられている
公衆送信権
著作物について公衆送信を行う権利の専有(著作権法第23条1項)
公衆に通信で著作物を送ること
送信可能化権
著作物について送信可能化を行う権利の専有(著作権法第23条1項)
2011年の著作権法改正で導入された
「公衆送信権」では、ダウンロード用サーバへのアップロードが含まれないため
譲渡権
著作物の譲渡により公衆に提供する権利を専有 (著作権法第26条2項)
著作権法61条の"著作権"の譲渡とは別
これがプログラムの頒布にあたる
貸与権
著作物の貸与により公衆に提供する権利を専有 (著作権法第26条3項)
翻訳権・翻案権
著作物を翻訳し、編曲し、若しくは変形し、又は脚色し、映画化し、その他翻案する権利を専有 (著作権法第27条)
これがプログラムの改変にあたる
二次的著作物利用権 (二次的著作物の利用に関する原著作者の権利)
原著作物の著作権者は二次的著作物の利用に関して、二次的著作物の著作者と同等の権利を有する(著作権法第
28条)
「キャンディ・キャンディ」 裁判参照
そのほか、ソフトウェアとは関係の薄い権利も列挙する 上演権,演奏権,上映権,口述権, 展示権,頒布権(←映画用)
著作権者って?
基本書いた人が著作権者(創作者主義)
【著作権法第2条1項2号】著作者 著作物を創作する者をいう。
【著作権法第17条1項】著作者は、次条第1項、第19条第1項及び第20条第1項に規定する権利(以下「著作者人格権」という。)並び
に第21条から第28条までに規定する権利(以下「著作権」という。)を享有する。
ただし「著作権(著作財産権)」は譲渡できるため、“著作者”(=著作物を創作した者)と”著作権者”(=著作
権(著作財産権)を有している者)が違う人と言うこともありえる(著作権法第61条(著作権の譲渡))
著作権者になるのに、届出は不要(無方式主義)
【著作権法第17条2項】 著作者人格権及び著作権の享有には、いかなる方式の履行をも要しない。
名前を書かず変名や匿名で発表しても著作権は認められる
ただし、著作権の保護期間は短くなる
実名の場合著作者の死後死後死後死後50年年年年
無名や匿名の場合公表後公表後公表後公表後50年年年年(法人と同じ期間)
著作権を登録することも可能です(著作権法第77条,第78条)
登録することは、以下のような利点がある
変名や匿名で発表したもの実名を確定させ、保護期間を実名発表と同じにできる
創作年月日を確定させる
文化庁・著作権登録制度 :http://www.bunka.go.jp/chosakuken/touroku_seido/index.html
文化庁・著作権登録状況検索システム: http://www.bunka.go.jp/eGenbo4/
ここで著作者の氏名”ナムコ”とかを検索すると楽しいです
複数人で作成して分離できない場合、共同著作物となります
【著作権法第2条1項12号】共同著作物 二人以上の者が共同して創作した著作物であつて、その各人の寄与を分離して個別的に利
用することができないものをいう。
分離できないくらい混ざってないと駄目です、章ごとに書いた人が違う本の場合は章ごとに別の著作物になります
テーマを提示しただけとか抽象的なヒントを提供しただけでは共同著作権者とならない
助手も共同著作権者とならない
仕事で作ったものは法人が著作権者となります(法人著作、職務著作)
詳細、後述
職務著作
仕事で作ったものは法人が著作権者となります(法人著作、職務著作)
(法人…"自然人(=個人のこと)"では無いが法では「人」と同じ扱いをするもの、例:会社、自治体、国など)
【著作権法第15条1項】法人その他使用者(以下この条において「法人等」という。)の発意に基づきそ
の法人等の業務に従事する者が職務上作成する著作物(プログラムの著作物を除く。)で、その法人
等が自己の著作の名義の下に公表するものの著作者は、その作成の時における契約、勤務規則その
他に別段の定めがない限り、その法人等とする。
【著作権法第15条2項】法人等の発意に基づきその法人等の業務に従事する者が職務上作成するプ
ログラムの著作物の著作者は、その作成の時における契約、勤務規則その他に別段の定めがない限
り、その法人等とする。
上記の仕事で作ったプログラムが法人著作になる条件をまとめると
(1)法人等法人等法人等法人等のののの発意発意発意発意にににに基基基基づくづくづくづく
(2)法人等法人等法人等法人等のののの業務業務業務業務にににに従事従事従事従事するするするする者者者者がががが職務上作成職務上作成職務上作成職務上作成するするするする
(4)作成時作成時作成時作成時のののの契約契約契約契約、、、、勤務規則勤務規則勤務規則勤務規則にににに別段別段別段別段のののの定定定定めがないめがないめがないめがない
(プログラムに関しては、"(3)法人等が自己の名義で公表する"の対象外)
簡単に言うと「従業員従業員従業員従業員がががが会社会社会社会社のののの仕事仕事仕事仕事でででで作作作作ったらだいたいったらだいたいったらだいたいったらだいたい職業著作職業著作職業著作職業著作」
職務著作(著作権)は職務発明(特許権) とは異なる
職務発明は、個人として登録後、会社へ譲渡する形となる
⇒ 青色LED裁判(2004年)を参照
職務著作の帰属
著作権は、請負契約でも委任契約でも帰属は開発者(開発会社)となります
(1)自社作成してそのまま自社利用の場合 → 著作権は自社
人材派遣を受けての開発の場合もここに含まれます
派遣された人も"法人等の業務に従事する者"に当たるため
(2)開発請負契約 → 著作権著作権著作権著作権はははは開発者開発者開発者開発者
成果物を発注者に引き渡すことを約束する契約
完成義務、瑕疵担保責任がある
【民法第632条】請負は、当事者の一方がある仕事を完成することを約し、相手方がその仕事の結果に対
してその報酬を支払うことを約することによって、その効力を生ずる。
(3)開発委任契約 (≒委託開発(受託開発)) → 著作権著作権著作権著作権はははは開発者開発者開発者開発者
ただし「実質的に雇用関係が存在」として発注者に帰属の判決が出たことがある
開発する労力の提供の契約
完成義務、瑕疵担保責任はない
【民法第643条】委任は、当事者の一方が法律行為をすることを相手方に委託し、相手方がこれを承諾す
ることによって、その効力を生ずる。
ちなみに、民法と著作権法で意見が食い違った場合、著作権に関しては民法より著作権法が優先します
相対的に適用対象が広い方を"一般法"と呼び、より専門的な方を”特別法”と呼ぶ。
特別法は一般法に優先する(特別法優先の原則)
(受託や委託は基本的には法律では使われない用語)
二次的著作物
二次的著作物とは…
【著作権法第2条1項】この法律において、次の各号に掲げる用語の定義は、
当該各号に定めるところによる。
【著作権法第2条1項11号】11.二次的著作物 著作物を翻訳し、編曲し、若し
くは変形し、又は脚色し、映画化し、その他翻案することにより創作した著作
物をいう。
二次的著作物利用権…
【著作権法第28条】二次的著作物の原著作物の著作者は、当該二次的著作
物の利用に関し、この款に規定する権利で当該二次的著作物の著作者が有
するものと同一の種類の権利を専有する。
二次的著作物は、GPL v2 の文中にも出てくる「派生物(derivative work)」にあ
たる
しかし、日米の法律で違いがあるため完全に同じ概念ではない。
どういった場合が「派生物」になるとみなすかは、ライセンスごとの定義による
(余談)誤字に注意
頒布(はんぷ)
品物や資料などを、広く配ること
× 領(りょう)
○ 頒(はん)
たまに”りょうふ”だと思っている人がいます、注意
第2部 ライセンス編
MySQL Community Serverのライセンス
GPLとは?
オープンソースライセンスって?
具体的にオープンソースの定義は?
オープンソースライセンスの分類
GPLとは?(再び)
フリーソフトウェア
コピーレフト
ソースの改変と「派生物」
GPLと結合
スクリプト言語とGPL
RedHatとGPL(余談)
MySQL Community Serverのライセンス
MySQL Community Serverのライセンス
GPL v2です
公式のダウンロードページ
http://dev.mysql.com/downloads/mysql/
MySQL open source software is provided under the GPL License.
OEMs, ISVs and VARs can purchase commercial licenses.
MySQL-server-5.6.*-*.rpmの中にも提示されている
/usr/share/doc/MySQL-server-5.6.*/COPYING
… GPL v2のライセンス文章
/usr/share/doc/MySQL-server-5.6.*/README
… 著作権表示
GPLとは?
GPLとは
オープンソースライセンスの一種
実際はGPLより後にオープンソースライセンスが発表されている
1989年 GPLv1発表
1989年 BSDL発表
…
1998年 "オープンソース"発表
詳細は、後述
オープンソースライセンス
GPL
LGPL
MPL
Artistic License
BSDL
Apache License
PHP License
OpenSSL License
MITL
Zlib License
など
オープンソースライセンスって?
OSIによる「オープンソースの定義(後述)」を守っているライセンスのこと
下記のOSI認定ライセンス(OSI-approved licenses)はすべてオープンソースライセンス
http://opensource.org/licenses/category
現在69種類が認定されています
Apache License, 2.0 (Apache-2.0)
BSD 3-Clause "New" or "Revised" license (BSD-3-Clause)
BSD 2-Clause "Simplified" or "FreeBSD" license (BSD-2-Clause)
GNU General Public License (GPL)
GNU Library or "Lesser" General Public License (LGPL)
MIT license (MIT)
Mozilla Public License 2.0 (MPL-2.0)
Common Development and Distribution License (CDDL-1.0)
Eclipse Public License (EPL-1.0)
などなど
有名なライセンスはほとんど入っています
オープンソースの歴史
1998年2月 ネットスケープ社がブラウザのソースコードを公開した(Mozilla)
このときにMPL(Mozilla Public License )というライセンスと
”オープンソース”という用語がビジネス上の都合で作られた
Goodbye, "free software"; hello, "open source"
http://www.catb.org/~esr/open-source.html
1998年2月下旬 エリック・レイモンドエリック・レイモンドエリック・レイモンドエリック・レイモンドらによりOpen Source Initiative(OSI)という団体も作られた
具体的にオープンソースの定義は?
OSIによるオープンソースの定義(Open Source Definition、OSDとも呼ぶ)がある
原文: http://opensource.org/osd
日本語訳: http://www.opensource.jp/osd/osd-japanese.html
上記の八田真行さんの訳 を参照にまとめた
1. 再頒布をしてもよいこと
販売しても、無料でもよい
2. ソースコードを同梱する、または入手可能なこと
3. 派生ソフトウェアを作成しその派生物も同じライセンスで頒布することを許さなければいけない
4. .差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
パッチはちゃんと当たる様にしろ位のことか?
この項目は、OSDの元ネタのGFDEL(Debianフリーソフトウェアガイドライン)で
TeXの配布方式の扱いに困ってできた妥協案なので、なんかわかりにくいらしい
5. 特定の個人やグループに対する差別の禁止
6. 適用する分野に対する差別の禁止
商用に使うのも可
7. 再配布において追加ライセンスを必要としないこと
利用者に応じたライセンス料とかの禁止
8. 特定製品でのみ有効なライセンスの禁止
9. 他のソフトウェアを制限するライセンスの禁止
10. ライセンスは技術中立的でなければならない
OSIがこの定義に準拠しているかをチェックして「OSI認定ライセンス」を定めている
オープンソースライセンスの分類
大きくReciprocal(互恵の)ライセンスとPermissive(寛容な)ライセンスに分かれる
Reciprocal(互恵の)=コピーレフト (後述)
どこから「派生物」とみなすかの基準が「改変の基準」となる
再頒布可能 改変可能 改変の基準 改変ソース
開示義務
ライセンス例
GPL類 ○ ○ 書換・追加
静的リンク
動的動的動的動的リンクリンクリンクリンク
○
Reciprocal
(互恵の)
GPL
LGPL類 ○ ○ 書換・追加
静的リンク
LGPL
MPL類 ○ ○ 書換・追加 MPL
Artistic License
Ruby License(非OSI認)
BSDL類 ○ ○ (なし) ×
Permissive
(寛容な)
BSDL
Apache License
PHP License
OpenSSL License
MITL
Zlib License
「改変の基準」は一般的に言われている基準を書いています(後述)
GPLって?(再び)
GPLとは
GNU一般公有利用許諾契約 (GNU General Public License)のこと
リチャード・ストールマン(RMS)が、FreeSoftware(自由ソフトウェア)の配布のために作ったライセンス
GPLにはバージョンがある
現在の最新はGPL v3、以前より用語が正確になり、またライセンス回避の穴をふさぐ条項が増えた
MySQLはGPLv2の下に頒布されている。またGPLv3へ移行しないと説明されている
従って、このドキュメントはGPL v2専用とさせていただきます
GPL v2は、英語版が正。八田真行さんによる参考用の非公式な日本語訳もある
英語版GPLv2: http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
GPL v2の日本語訳: http://www.opensource.jp/gpl/gpl.ja.html.euc-jp
GPL v2 ライセンス概要(ざっくりとした不正確なまとめです):
著作権は放棄しない
無保証である
以下の条件にしたがっているなら、利用(=複製や頒布、改変)を許可する(=著作権を行使しない)
(1)著作権表示は保持しなければならない
(2)無保証であることも表記する
改変した場合は更に以下も追加
(3)変更したということと変更した日時を表記する
(4)ソースコードを改変した場合は改変部分を開示する
GPLソフトウェアの派生物もGPLで配布する
など
右の図は"GNU Head"と呼ばれるGNUプロジェクトのロゴ、ヌーの顔です
GNUについて協力的で正確に述べる文脈で使うのであれば、許可なく使うことが可能です
フリーソフトウェア
フリー(FREE)なソフトウェアのこと、"自由ソフトウェア"とも呼ぶ
http://www.gnu.org/philosophy/free-sw.html
英語のFREEには2つの意味がある
1.自由 (仏:libre)
2.無料 (仏:gratuitement)
フリーソフトウェアのフリー(FREE)は”自由”のほう
「ビール飲み放題(free beer)」の「フリー」ではなく「言論の自由 (free speech)」の「フリー」
英語のFree Softwareが無料のソフトと誤解されるので、FLOSSと言う用語もある
FLOSS = Free/Libre and Open Source Software
ストールマン(RMS)自身は、日本語では紛らわしい”フリーソフトウェア”は使わずに
”自由ソフトウェア”と呼んで欲しいといっていた
GNUによる4つの自由が保証されたソフトウェア
第0の自由. プログラム実行の自由
(いかなる目的に対しても、プログラムを実行する自由)
第1の自由. ソースコードを入手して改造できる自由
(プログラムがどのように動作しているか研究し、必要に応じて改造する自由)
第2の自由. 再頒布の自由
(身近な人を助けられるよう、コピーを再配布する自由)
第3の自由. 改変した版を他に配布する自由
(プログラムを改良し改良点を公開し、それによってコミュニティ全体が恩恵を受けられるようにする自由)
コピーレフト
「著作物の利用の許諾」での「許諾に係る利用方法及び条件の範囲」での制限として、
以下の制約を守っている場合のみのみのみのみ利用を許諾するという次のようなライセンスを想定する
ライセンス
著作物の利用を制限しない(改変による派生物の作成する権利を含む)
派生物の再配布を制限しない
配布先に派生物の利用を制限させない
配布先で派生物の更に派生物が作れるように情報をすべて渡す(ソースの開示)
派生物にも原著作物と同一のこのライセンスを適用し、明記する
上記のような初期条件を与えて著作物の配布をすると、
自己増殖的に派生物から更にその派生物へと同じライセンスが引き継がれていき、
著作権(copyするright)が原著作物から派生物へと無限に残って(left)いくこととなる
これをコピーレフト(copyleft)と呼ぶ
ソースの改変と「派生物」
「派生物」とは日本の著作権法での「二次的著作物」に当たるもののこと(大体)
GPL v2の第0条での定義では、 「派生物」は以下のようになる
http://www.gnu.org/licenses/gpl-2.0.html
http://www.opensource.jp/gpl/gpl.ja.html
a work containing the Program or a portion of it, either verbatim or with
modifications and/or translated into another language.
『プログラム』かその一部を、全く同一のままか、改変を加えたか、あるいは 他の言語
に翻訳された形で含む著作物のことである
一般的な「派生物」や「ソースの改変」という言葉の響きからすると、
下記の(1). だけが該当するように思えてしまう
(1). ソースコードそのものの改変
ソースコードそのものの修正
ソースコードそのものの削除
ソースコードそのものの追加
(2). ソフトウェアをリンクした
(3). ソフトウェアの依存性を持つ
しかし、GPL v2では、(1). ~ (3). の全部が「ソースの改変」で、
その成果物は「派生物」となる
GPLと結合(1/2)
「ソースの改変」や「派生物」の判断基準として重要な「結合」
GPLなライブラリとアプリとの「結合」について、一般的に言われている解釈をまとめる
結合ごとの強さを密結合→疎結合 の順に並べる(私的な基準です)
【【【【静的静的静的静的リンクリンクリンクリンク】】】】
実行バイナリを作るときに取り込まれ一体となる
【【【【動的動的動的動的リンクリンクリンクリンク】】】】
実行時にリンクされる
【【【【スクリプトスクリプトスクリプトスクリプト経由経由経由経由ででででGPLモジュールにリンクするモジュールにリンクするモジュールにリンクするモジュールにリンクする】】】】
【【【【別別別別プロセスだがプロセスだがプロセスだがプロセスだがIPC経由経由経由経由でのでのでのでの協調協調協調協調をしてをしてをしてをして1つのつのつのつの動作動作動作動作をするをするをするをする】】】】
OracleやPostgreSQLのようなマルチプロセスアプリ
SystemV IPCやPOSIX IPC
共有メモリ
セマフォ
メッセージキュー
【【【【名前付名前付名前付名前付きパイプきパイプきパイプきパイプ、、、、パイプパイプパイプパイプ、、、、FIFO、、、、コマンドラインコマンドラインコマンドラインコマンドライン引数引数引数引数】】】】
rlwarpというコマンドラインアプリは、微妙な立ち位置
標準入出力をGPLライブラリのreadlineへ渡すだけのラッパ
こういうのは反則っぽくって微妙
【【【【リモートオブジェクトリモートオブジェクトリモートオブジェクトリモートオブジェクト((((DCOM、、、、CORBA))))】】】】
【【【【ソケットソケットソケットソケット通信通信通信通信】】】】
【【【【Webサービスサービスサービスサービス】】】】
一般的な解釈では
GPLでは
ここまでが
「派生物派生物派生物派生物」とされる
一般的な解釈では
GPLでは
ここは
「集積物集積物集積物集積物」とされる
密密密密
疎疎疎疎
GPLと結合 (2/2)
しかしGPL FAQで結合については、以下のようになっている
別プロセスでも、密なデータのやり取りをしてひとつのもののように動く場合結合とみなすと書かれている
http://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregation
Q:「集積物」とそのほかの種類の「改変されたバージョン」の違いは何ですか?
A: (前略)
逆に、パイプパイプパイプパイプ、、、、ソケットソケットソケットソケット、、、、コマンドラインコマンドラインコマンドラインコマンドライン引数引数引数引数は通常二つの分離分離分離分離したプログラムしたプログラムしたプログラムしたプログラムの間で使われるコミュニ
ケーションメカニズムです。ですからそれらがコミュニケーションのために使われるときには、モジュール
は通常別々のプログラムです。しかしコミュニケーションのセマンティクスが親密であったり、複雑な内
部データ構造を交換したりする場合は、それらも二つの部分がより大規模大規模大規模大規模なプログラムになプログラムになプログラムになプログラムに結合結合結合結合されていされていされていされてい
るるるると考える基準となりうるでしょう。
逆に動的ライブラリのプラグインであってもグレーである場合もあると書かれている
http://www.gnu.org/licenses/gpl-faq.ja.html#GPLAndPlugins
Q: GPLのもとでリリースされていたプログラムがプラグインを使うとして、プラグインのライセンスにはど
のような条件がありますか?
A: (前略)
プログラムがプラグインと動的動的動的動的にリンクされているがにリンクされているがにリンクされているがにリンクされているが、それらの間のコミュニケーションはいくつかのオプ
ションとともにプラグインの「main」関数を呼び出して返値を待つだけという場合は、境界線上境界線上境界線上境界線上でででで微妙微妙微妙微妙なななな
ケースケースケースケースとなります。
つまり前ページにまとめたような【【【【技術的技術的技術的技術的なななな疎密疎密疎密疎密だけだけだけだけ】】】】で、「派生物」(=改変されたバージョン)かどうか
を決決決決めることはできないめることはできないめることはできないめることはできないと言うことを示している。
正直、面倒くさい話ですが…
スクリプト言語とGPL
スクリプトは、実行するインタープリンタバイナリのライセンスがGPLであっても影響は受けません
GPL FAQ ”GNUライセンスに関してよく聞かれる質問"
http://www.gnu.org/copyleft/gpl-faq.html#IfInterpreterIsGPL
Q:
プログラミング言語のインタープリタがGPLのもとでリリースされていた場合、そのインタープリタで
解釈されるように書かれたプログラムは、GPLと両立するライセンスでなければならないでしょうか?
A:
インタープリタが単に言語を解釈するだけならば、答はノーです。解釈されるプログラムは、
インタープリタにとっては単なるデータに過ぎません。GPLのような著作権法にもとづく
自由ソフトウェアのライセンスは、あなたがインタープリタ上で利用するデータの種類を
限定することはできません。あなたは、好きなデータ(この場合解釈されるプログラム)を使って、
好きなようにインタープリタを実行することができますし、そのデータを誰かにライセンシング
することについて必要とされる条件は何もありません。
実のところ、現在のメジャーなスクリプト言語はGPLより寛容な(Permissive)ライセンスで配布されている
PHP … PHP License … BSDL系
Perl … デュアルライセンス(GPL、 Artistic License) … MPL系
Python … Python Software Foundation License … BSDL系
Ruby … デュアルライセンス(BSDL、 Rubyライセンス) … BSDL系
Ruby1.9.2まではGPLとRubyライセンスのデュアルライセンス
しかし、GPL FAQでは、以下のように続きます。
しかし、インタープリタが他の機能(多くの場合ライブラリですが、ライブラリである必要はありません)
への「バインディング」を提供するように拡張されている場合、解釈されるプログラムはバインディングを
使うことによって事実上それらの機能とリンクされることになります。ですから、もしそういった機能が
GPLのもとでリリースされているならば、機能を利用している解釈されるプログラムはGPLと両立する形で
リリースされなければなりません。
RedHatとGPL(余談)
ここまでのGPLの説明を見ると、入手したバイナリは再配布が自由だし、
RedHat社とかGPLで儲けることができないように思うんだけど、どうなってるの?
Q: RedHatから入手したRHELのGPLのバイナリをAnonymous FTPとかでみんなに配布
していいの?
A: できません。バイナリの中にRedHat社の商標権の混ざっています。
「商標権」を取り除くと動かなくなるかもと脅迫が混ざっています
公開すると、弁護士から「商標権の侵害」警告メールが来るらしいです
Q: RedHatのRHELのGPLのバイナリを複製して自社内の複数のサーバに入れるというのは?
A: これは”サービス”の方の購入時の契約違反となり、RHNサービスを辞めないといけませ
ん。 従って更新が入手できなくなります。
でも、ソフトウェアそのものはGPLなので、使い続けられるし。
100台にコピーしても動かすのも自由です。
でも再契約の際には、その分のお金を取られます
結論:RedHat社、頭いいですね。
第3部 MySQLのライセンス編
デュアルライセンス
MySQLでのデュアルライセンス
著作権者の自由?
コミュニティ版と商用版
商用版 年間サブスクリプション の期限切れ
コミュニティ版 商用版 パッケージの違い
MySQLの著作権
MySQLとライセンス年表
MySQL AB末期の黒歴史
デュアルライセンス
著作権者著作権者著作権者著作権者によるによるによるによる自由自由自由自由
にににに基基基基づくづくづくづく判断判断判断判断
GPL 商用ライセンス
MySQLは、デュアルライセンス
デュアルライセンスとは
1つのソフトウェアを異なる複数の種類のライセンスに基づき頒布すること
何故、そんなことができるの?
『オープンソースソフトウェアの育て方』 Karl Fogel (著), 高木 正弘 (翻訳), 高岡 芳成 (翻訳)から引用
http://producingoss.com/ja/download/producingoss-ja.txt
「GPL の条件は、著作権者が他人に課すものです。
よって、著作権者著作権者著作権者著作権者にはにはにはには GPL のののの条件条件条件条件をををを課課課課さずにさずにさずにさずに独占的独占的独占的独占的なななな条件条件条件条件のみをのみをのみをのみを課課課課すすすす自由自由自由自由もあるもあるもあるもあるのです。」
(中略)
著作権者がソフトウェアのコピーを無限に在庫として持っていると考えるとよいでしょう。
彼らはソフトウェアのコピーを一つ取り出して世に送り出すたびに、 どのライセンスを付けるか、
つまり GPL なのか、 独占的なライセンスか、それ以外かを決めることができるのです。
ライセンスを選んで決める権利は、 GPL や他のオープンソースライセンスが課しているものでは
ありません。 単に著作権に関する法律が与えたものなのです。
つまり、「GPL」や「商用ライセンス」より優位な「著作権者によるメタなルールや判断」で、
どのライセンスで配布するかを決めることができるということです
MySQLでのデュアルライセンス
前述の「著作権者による判断」はMySQLのマニュアルで、以下のように明文化されている
http://dev.mysql.com/doc/refman/5.6/en/introduction.html
The MySQL software is Dual Licensed. Users can choose to use the MySQL software as
an Open Source product under the terms of the GNU General Public License
(http://www.fsf.org/licenses/) or can purchase a standard commercial license from Oracle.
See http://www.mysql.com/company/legal/licensing/ for more information on our licensing
policies.
意訳:ユーザーは以下のいずれかを選択できる
MySQLをGPLを元にしたオープンソース製品として使用する
MySQLをOracleから商用ライセンスを購入して使用する
「商用目的」だとどうか、そういう規定は一切無し
オープンソースじゃなくなるかどうかを著作権者(=Oracle)に握られるなんて嫌?
大丈夫、一旦オープンソースで出した分に関しては引っ込めることはできません
急にOracleがトチくるってクローズドにするとかのヘボい経営判断をしたら、
見捨ててforkすりゃいいんです
…この発表は日本オラクル株式会社西日本支社の会場をお借りして行っておりますが、
【【【【出禁出禁出禁出禁】】】】をくらわないか非常に心配です
実際にそうしてforkしたオープンソースが発展している身近な例があります
Firebird の歴史
http://www.geocities.jp/kimura804/rdb/cvalde/IbRoadmap_j.htm
ボーランドがInterbaseをオープンソース化した
FirebirdはInterbaseからforkされたデータベース
ボーランドは、2年後に撤回してクローズドに戻した
FirebirdはオープンソースのままInterbaseと別の道を歩んで発展している
いつforkするの?
(今でしょ)
今じゃないです。急いで移動する意味は、実はあまり無い
GPLだけで商用版が無いというのは、かなり選択肢が狭まります
(GPLからforkしたら元のライセンスを引き継ぐため、GPL版のみで商用版は作成できない)
著作権者の自由?
コミュニティ版と商用版
(注:表ではMySQL Clusterを関連は省略しています。)
コミュニティ版 MySQL Community Database 制限期限なく著作物の「使用」は自由
GPLによる
ほぼ制限のない著作物の「利用許可」
MySQL Community Edition
商用版 年間サブスクリプション
MySQL Database
著作物の期限付き「使用許可」
サービス(アップデートとサポート)の期限付き「使用許諾」
(Oracle Software Update License & Support )
MySQL Standard Edition
MySQL Enterprise Edition
OEMライセンス
MySQL Embedded Database
著作物の期限なし「使用許可」 MySQL Classic Edition
MySQL Standard Edition
MySQL Enterprise Edition
具体的には、MySQLは以下の3形態のライセンスで頒布されている
「コミュニティ版」
http://www-jp.mysql.com/products/community/
「商用版・年間サブスクリプション」
http://www-jp.mysql.com/products/
「商用版・ OEMラインス」
http://www-jp.mysql.com/oem/
(更にLicense、ASFU、ESLなどの契約形態がある?)
商用版 年間サブスクリプション の期限切れ
「MySQL 商用版 年間サブスクリプション」の使用期限が切れたらどうなる?
契約に従って処理をする必要がある
使用許可を含むすべての権利を失う
→プログラムを削除する必要がある
データはそのまま使える
→コミュニティ版をインストールして使用し続けることができる
ただし、コミュニティ版に無いEneteprise Editionの機能は
使用できなくなる
MySQL Enterprise Monitor
MySQL Enterprise Backup
MySQL Enterprise Security
MySQL Enterprise Audit
MySQL Enterprise Scalability
MySQL Enterprise High-Availability
など
MySQLの著作権
デュアルライセンスのための絶対的な条件として、
Oracle社が全ソースコードの著作権を持っている必要がある
ただし、以下のものは除く
BSDL系のソースの使用 (zlibなど)
MPL系をそのまま使用
(LGPL系について)
以前のMySQLでは、コマンド引数の処理にLGPL の"GNU getopt"ライブラリが使われていた
LGPLは動的リンクではコピーレフト伝播しないはずだが、安全のためか
今は"mysys/my_getopt.c"という独自コードに置き換えられている
Oracle社が、ソースコードの著作権を確保するためにしていること
無駄なようだが「車輪の再発明」をしている
上記のようなGPL版やLGPL版と同じような動作をするライブラリのクリーンルーム作成など
ソースコードツリーへのコミットはOracle社員しか行えないようになっている
主に、著作権を持たないソースコードの混入を防ぐため
また、MySQL Bugsへのソースコードのcontribute(寄稿)には
投稿者にOCA“The Oracle Contributor Agreement”への同意をさせ、著作権を確保している
http://www.oracle.com/technetwork/goto/oca
http://www.oracle.com/technetwork/oca-faq-405384.pdf
商用版には”知財補償”がある
http://www-jp.mysql.com/why-mysql/isv-oem-corner/
免責補償
MySQLの商標、著作権、知的財産のすべてはオラクルが所有しています。そのため、対象となる
知的財産権の侵害請求が万が一起きた場合の懸念点を最小限に抑えて潜在的なリスクを軽減す
るために、MySQLの知的財産に関する免責補償を適用できます。
* MySQLとライセンス年表(1/6)
MySQLのライセンス形態が、どういう変遷を経て
今のような形態になったかを年表形式でまとめます
【【【【MySQL AB以前以前以前以前】】】】(((( ~~~~ 1995年年年年))))
1985年10月 FSF(Free Software Foundation, フリーソフトウェア財団)が設立
1989年02月 FSFがGPLv1発表
1989年06月 UCBのCSRGが4.3BSD Net/1をBSDライセンスで発表
4.3BSDのAT&Tのライセンスが必要なソースを置き換えたもの
この当時のBSDライセンスには宣伝条項あり
1991年06月 FSF GPLv2, LGPLv2発表
MySQLとライセンス年表(2/6)
【【【【MySQL AB時代初期時代初期時代初期時代初期】】】】((((1995年年年年~~~~2001年年年年))))
1995年辺り MySQL 1.0、MySQL AB設立
1996年年年年03月月月月 MySQL 3.11.1 がががが、、、、インターネットにインターネットにインターネットにインターネットに公開公開公開公開
当時当時当時当時ははははTcX社独自社独自社独自社独自のライセンスのライセンスのライセンスのライセンス( MySQL FREE PUBLIC LICENSE )
参照 http://www.mysql.com/about/legal/licensing/mypl.html
1998年02月 Netscape社により"オープンソース"という用語とMPL1.0が誕生
1999年07月 UCBがBSDライセンスから宣伝条項(第3条項)の除外を宣言
修正BSDライセンス(New BSD License,3-clause BSD license)
1999年08月 MySQLの古いバージョンをGPLとしてリリース、最新版最新版最新版最新版はははは対象外対象外対象外対象外
http://ascii.jp/elem/000/000/300/300333/
2000年年年年06月月月月 商用商用商用商用ライセンスとライセンスとライセンスとライセンスとGPLのデュアルライセンスになるのデュアルライセンスになるのデュアルライセンスになるのデュアルライセンスになる(3.23.19~~~~現在現在現在現在)
(このこのこのこの時時時時のクライアントライブラリのライセンスはのクライアントライブラリのライセンスはのクライアントライブラリのライセンスはのクライアントライブラリのライセンスはLGPL)
http://ascii.jp/elem/000/000/300/300994/
2001年01月 MySQL3.23 GAリリース
MySQLとライセンス年表(3/6)
【【【【MySQL AB時代中期時代中期時代中期時代中期】】】】((((2001年年年年~~~~2004年年年年))))
2001年xx月 ローレンス=レッシグ達がCC(クリエイティブ・コモンズ)を設立
GPL的な思想を文書、動画、音楽、写真などへ発展
2001年07月 MySQL ABがNuSphere社をGPL違反で提訴(後に和解)
http://www.itmedia.co.jp/enterprise/articles/0504/29/news003_2.html
2003年03月 MySQL4.0 GAリリース
このころ?GPL版のビジネス用途使用を許可(デュアルライセンス適用範囲の変更)?
クライアントライブラリクライアントライブラリクライアントライブラリクライアントライブラリ(libmysqlclient.so)のライセンスのライセンスのライセンスのライセンスLGPLからからからからGPLへへへへ変更変更変更変更
プロプライエタリなソフトの一部がMySQLを適切でない形で利用していたため、変更された?
この方針変更に、MySQLクライアントライブラリをバンドルして配布していた
PHP開発団体のThe PHP Groupが反発する
2003年06月 PHP4.3.x~ MySQLクライアントライブラリのバンドルを停止
代替としてSQLite(ライセンス:PDS)の推奨
2004年年年年03月月月月 MySQL AB社社社社クライアントライブラリライセンスにクライアントライブラリライセンスにクライアントライブラリライセンスにクライアントライブラリライセンスにFOSS例外追加例外追加例外追加例外追加
PHPライセンスの下でMySQLクライアントライブラリバンドルPHP配布が可能な状態に戻る
2004年10月 MySQL4.1 GAリリース
2004年07月 PHP5.0リリース
MySQLとライセンス年表(4/6)
【【【【MySQL AB時代末期時代末期時代末期時代末期((((迷走期迷走期迷走期迷走期))))】】】】 ((((2005年年年年~~~~2007年年年年))))
2005年02月 MySQL、法人向けにもGPLを採用
http://japan.cnet.com/news/ent/20080701/
2005年年年年02月月月月 有償有償有償有償サポートサポートサポートサポートMySQL Network((((サブスクリプションサブスクリプションサブスクリプションサブスクリプション))))をををを発表発表発表発表
http://itpro.nikkeibp.co.jp/members/ITPro/oss/20050320/157712/
2005年10月 MySQL5.0 GAリリース
2005年10月 公式ドキュメントにプロトコルはGPLと記載して非難を浴びる
→(後述、MySQL黒歴史)
2006年年年年10月月月月 有償有償有償有償サーバサーバサーバサーバMySQL Enterprise のののの発表発表発表発表、、、、ソースコードのソースコードのソースコードのソースコードの分岐分岐分岐分岐をををを宣言宣言宣言宣言
2007年01月 MySQL 5.0/5.1 は「GPL v2以降」から「GPL v2のみ」に変更を表明
http://news.mynavi.jp/articles/2007/01/22/mysql/
2007年06月 FSFがGPLv3発表
* MySQLとライセンス年表(5/6)
【【【【サン・マイクロシステムズサン・マイクロシステムズサン・マイクロシステムズサン・マイクロシステムズ時代時代時代時代】】】】 ((((2008年年年年~~~~ 2009年年年年))))
2008年02月 サン・マイクロシステムズによる買収
2008年12月 MySQL5.1 GAリリース
2009年06月 PHP5.3.0 独自のライブラリmysqlndに対応(デフォルトはlibmysqlのまま)
MySQLとライセンス年表(6/6)
【【【【オラクルオラクルオラクルオラクル時代時代時代時代】】】】((((2010年年年年~~~~現在現在現在現在))))
2010年01月 オラクルに吸収合併
2010年12月 MySQL5.5 GAリリース
MySQL のサブスクリプション価格を改定
Basic Editionの廃止
2012年年年年01月月月月 商用版商用版商用版商用版パッケージパッケージパッケージパッケージ配布配布配布配布のののの統廃合統廃合統廃合統廃合
これ以前は商用ライセンスでもMySQL CSC(Customer Support Center)サイトで
GPL版のrpmが配布され、希望者にのみ商用パッケージを配布するという
なんだかよく分からん方法だった
MySQL-server-enterprise-gpl-*.rpm (Basic,Silver GPL版 CSC配布)
MySQL-server-advanced-gpl-*.rpm (Gold,Platinum GPL版CSC配布)
MySQL-server-enterprise-*.rpm (Basic,Silver 商用版、希望者のみ)
MySQL-server-advanced-*.rpm (Gold,Platinum 商用版、希望者のみ)
MySQL-server-*.rpm (Comunity Server GPL版)
これ以降、www.mysql.comでGPL版、My Oracle Support (MOS)で商用版を配布する形となった。
MySQL-server-advanced-*.rpm (商用版)
MySQL-server-*.rpm (Comunity Server GPL版)
Standard EditionとEnterprise Editionパッケージを1つに統一させ、
紳士協定でライセンスの持ってない機能は使用しないというOracleDBと同じ方式となった
「「「「スッキリスッキリスッキリスッキリ!!」!!」!!」!!」したしたしたした
2012年03月 PHP5.4がリリース
ソースからのビルド時のデフォルトがmysqlndに変更
2013年02月 MySQL5.6 GAリリース
MySQL AB末期の黒歴史
MySQL AB末期((((2005年年年年~~~~2007年年年年))))は、以下のようにMySQLプロジェクトの迷走で有名な時期です
5.0の次の5.1以外に5.2やら5.4やら6.0やらブランチを乱立させる
法人向けにもGPLを採用
Enterpriseをフォークさせると発表、その後取りやめ
ストレージエンジンfalconへの切り替えを表明、その後取りやめ
などなど…
実はライセンス関連でもポカをやらかしています。
ドキュメント"MySQL Internals Manual"のMySQL Client/Server Protocolに"Licensing Notice"として
以下のようなことを書いてしまい、ユーザーから総スカンを食らった
The MySQL Protocol is part of the MySQL Database Management System. As such, it falls under the
provisions of the GNU Public License (GPL). A copy of the GNU Public License is available on MySQL's
web site, and in the product download.
Because this is a GPL protocol, any product which uses it to connect to a MySQL server, or to emulate
a MySQL server, or to interpose between any client and server which uses the protocol, or for any
similar purpose, is also bound by the GPL. Therefore if you use this description to write a program, you
must release your program as GPL. Contact MySQL AB if you need clarification of these terms or if you
need to ask about alternative arrangements.
意訳:MySQLプロトコルもMySQL DBMSの一部だから、GPLの規定に含まれる
,一-、
/ ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
■■-っ < んなこたーない
´∀`/ \__________
__/|Y/\.
Ё|__ | / |
| У.. |
現在、この文章は無くなりました。
http://dev.mysql.com/doc/internals/en/client-server-protocol.html
第4部 MySQLとリンク編
公式のライブラリ(MySQL Connectors)
MySQL Connectorsのライセンス
"FOSSライセンス例外" 対象ライセンスリスト
FOSSライセンス例外を有効にする条件
C/C++でMySQL
JavaでMySQL
スクリプト言語とGPL(復習)
スクリプト言語とFOSS例外
RubyでMySQL
PHPでMySQL
PerlでMySQL
PythonでMySQL
mariaDBについて
* 公式のライブラリ(MySQL Connectors) (1/2)
MySQL Connectors … MySQL公式で配布しているMySQLサーバへの接続用ドライバ
URL : http://www.mysql.com/products/connector/ (英語版ページ)
Connector/NET(ADO.NET Driver for MySQL ) … .NET Framework クラス ライブラリ
複数のmysql.*.dllファイル
(UNIX系上のmonoも.dllファイルで動作します)
Connector/ODBC(ODBC Driver for MySQL) …ODBCドライバ
動的リンクライブラリ
libmyodbc5w.soファイル(UNIX系用)
myodbc5S.dllファイルとmyodbc5w.dllとそれぞれの.libファイル(Windows用)
Connector/Python(Python Driver for MySQL ) … Python接続用モジュール
大量の *.py , *.pyc , *.pyo ファイルからなる (ピュアPyhon)
pycとpyoはPythonで実行時の速度を上げるためのバイトコードのファイル
(何故か日本語版のwww-jp.mysql.comには載っていません)
Connector/C++(C++ Driver for MySQL ) … C++用の動的、静的リンクライブラリのセット
C++用の動的リンクライブラリと静的リンクライブラリと.hヘッダファイル
libmysqlcppconn.soとlibmysqlcppconn-static.aと複数の.hファイル (UNIX系用)
libmysqlcppconn.dllとlibmysqlcppconn-static.libと複数の.hファイル (Windows用)
公式のライブラリ(MySQL Connectors) (2/2)
Connector/J … JDBCドライバ
OS依存なし(Javaなので)
mysql-connector-java-*.*.*-bin.jarファイルとそのソース(複数の.javaファイル)のセット
実行には上記.jarファイルをClasspathに配置する
.jarファイルは、複数の.Classファイルとリソースをアーカイブしたもの
JDBC 3.0 Type4 ドライバ、 ピュアJava
Oracle Databaseでいうとthinドライバにあたる
参照:JDBCドライバのタイプ
Type1:JDBC-ODBCブリッジドライバ
Type2:ネイティブブリッジドライバ (Oracle DatabaseでのOCIドライバ)
Type3:ネットプロトコルドライバ
Type4:ネイティブプロトコルドライバ(Oracle Databaseでのthinドライバ)
Connector/C … リンクライブラリ
UNIX系用パッケージは、共有パッケージ(shared)と開発パッケージ(devel)と分かれている
共有パッケージ(shared):動的リンクライブラリ
libmysqlclient.soとlibmysqlclient_r.so (UNIX系用)
開発パッケージ(devel) : 静的リンクライブラリ,複数の.hヘッダファイル
libmysqlclient.aとlibmysqlclient_r.aと複数の.hヘッダファイル(UNIX系用)
Windows用のパッケージは、共有と開発が1つのパッケージになっている
libmysql.dll、libmysql.lib、libmysql.pdb
mysqlclient.lib、mysqlclient.pdb
複数の.hファイル
Connector/C のsharedパッケージは、動的リンクライブラリlibmysqlclient.soを含むため特に重要
MySQL Connectorsのライセンス
接続用ドライバMySQL Connectorsのライセンスは以下の2つのデュアルライセンス
商用版ライセンス (年間サブスクリプションまたはOEMライセンス)
(FOSSライセンス例外規定付き)GPL v2
"FOSSライセンス例外(FOSS License Exception)" とは?
http://www.mysql.com/about/legal/licensing/foss-exception/
上記URLの"FOSS License List" にリストされてるオープンソースライセンス
の元でソフトウェアを頒布する場合(正確な条件については後述)は、
GPL版のMySQL Connectorsをバインディング(リンクなど)していても
GPLに従わなくてもよい
注意:
MySQLサーバやコマンドラインクライアントにはFOSSライセンス例外はない
あくまでもMySQL Connectorsだけの例外規定
FAQ:
Q2: Does the FOSS License Exception apply to all Oracle software
products, including the MySQL database server?
A: No. The FOSS License Exception does not apply to Oracle’s
MySQL database server or any Oracle or MySQL software other than
the GPL-licensed MySQL Client Libraries.
"FOSSライセンス例外" 対象ライセンスリスト
"FOSSライセンス例外" の対象となるFOSSライセンスのリスト( February 23, 2012 )
http://www.mysql.com/about/legal/licensing/foss-exception/
Academic Free License 2.0
Apache Software License 1.0/1.1/2.0
Apple Public Source License 2.0
Artistic license From Perl 5.8.0
BSD license "July 22 1999"
Common Development and Distribution License (CDDL) 1.0
Common Public License 1.0
Eclipse Public License 1.0
European Union Public License (EUPL)1 1.1
GNU Affero General Public License (AGPL) 3.0
GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1/3.0
GNU General Public License (GPL) 3.0
IBM Public License 1.0
Jabber Open Source License 1.0
MIT License (As listed in file MIT-License.txt)
Mozilla Public License (MPL) 1.0/1.1
Open Software License 2.0
OpenSSL license (with original SSLeay license) "2003" ("1998")
PHP License 3.0/3.01
Python license (CNRI Python License)
Python Software Foundation License 2.1.1
Sleepycat License "1999"
University of Illinois/NCSA Open Source License
W3C License "2001"
X11 License "2001"
Zlib/libpng License
Zope Public License 2.0
FOSSライセンス例外を有効にする条件
"FOSSライセンス例外" を有効にする条件
http://www.mysql.com/about/legal/licensing/foss-exception/
A FOSS application developer ("you" or "your") may distribute a Derivative Work provided that
you and the Derivative Work meet all of the following conditions:
a). You obey the GPL in all respects for the Program and all portions (including modifications) of the Program included in the Derivative Work
(provided that this condition does not apply to Independent Works);
b). The Derivative Work does not include any work licensed under the GPL other than the Program;
c). You distribute Independent Works subject to a license listed in the section below titled "FOSS License List";
d). You distribute Independent Works in object code or executable form with the complete corresponding machine-readable source code on the
same medium and under the same FOSS license applying to the object code or executable forms;
e). All works that are aggregated with the Program or the Derivative Work on a medium or volume of storage are not derivative works of the
Program, Derivative Work or FOSS Application, and must reasonably be considered independent and separate works.
参考訳、無保証です
FOSSアプリケーション開発者は、次に示す条件をすべて満たすなら派生物を配布することができます:
(訳注:下記の"このプログラム"("the Program")は、MySQLクライアントライブラリを指す)
a). "派生物"中に含まれる"このプログラム(=MySQLクライアントライブラリ)"及び "このプログラム"から分割された一部分(修
正されている場合も含める)はすべて、何処までもGPLに従うこと
(この条件は"独立した作品"には適用されないと規定される)
b). "派生物"中に、GPLの下でライセンスされた著作物は含めてはいけない
(”このプログラム(=MySQLクライアントライブラリ)”は除く)
c). “FOSSライセンスリスト” にリストされた中のどれか1つのライセンスの下に”独立した作品”を配布すること。
d). "独立した作品"をオブジェクトコードや実行可能形式で配布するときには、同じ媒体を使い、同じFOSSライセンスの下で、
コンピュータで読み取り可能な完全なソースコードも一緒に配布すること。
e).同一メディア上や同一ストレージボリューム上に"このプログラム(=MySQLクライアントライブラリ)"や"このプログラムの派
生物"と共に集積された著作物は、すべてが"このプログラム"や"派生物"やFOSSアプリの派生物なわけではなく、独立した
別々のモノであると合理的に考えなければならない。
(訳注: なんかよく分からない… … )
C/C++でMySQL
C++で開発するときは、Connector/C++を使用する
Cで開発するときは、 Connector/Cを使用する
接続ライブラリへ動的リンクや静的リンクすることでプログラムを構築することができる
libmysqlclientライブラリを使用【する】
◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
制限なし
JavaでMySQL
JavaでMySQLへ接続するにはConnector/Jの使用がデファクトスタンダード (多分)
使い方
mysql-connector-java-*.*.*-bin.jarをclasspathに置きます
libmysqlclientライブラリを使用【しない】
Connector/Jを使用【する】
Connector/Jのライセンスもlibmysqlclientライブラリと同じく以下のデュアルライセンス
商用版ライセンス (年間サブスクリプションまたはOEMライセンス)
(FOSSライセンス例外規定付き)GPL v2
◆ GPL版Connector/J使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版Connector/J使用時 スクリプトのライセンスの選択肢:
制限なし
スクリプト言語とGPL(復習)
スクリプトは、実行するインタープリンタバイナリのライセンスがGPLであっても影響は受けません
GPL FAQ ”GNUライセンスに関してよく聞かれる質問"
http://www.gnu.org/copyleft/gpl-faq.html#IfInterpreterIsGPL
Q:
プログラミング言語のインタープリタがGPLのもとでリリースされていた場合、そのインタープリタで
解釈されるように書かれたプログラムは、GPLと両立するライセンスでなければならないでしょうか?
A:
インタープリタが単に言語を解釈するだけならば、答はノーです。解釈されるプログラムは、
インタープリタにとっては単なるデータに過ぎません。GPLのような著作権法にもとづく
自由ソフトウェアのライセンスは、あなたがインタープリタ上で利用するデータの種類を
限定することはできません。あなたは、好きなデータ(この場合解釈されるプログラム)を使って、
好きなようにインタープリタを実行することができますし、そのデータを誰かにライセンシング
することについて必要とされる条件は何もありません。
実のところ、現在のメジャーなスクリプト言語はGPLより寛容な(Permissive)ライセンスで配布されている
PHP … PHP License … BSDL系
Perl … デュアルライセンス(GPL、 Artistic License) … MPL系
Python … Python Software Foundation License … BSDL系
Ruby … デュアルライセンス(BSDL、 Rubyライセンス) … BSDL系
Ruby1.9.2まではGPLとRubyライセンスのデュアルライセンス
しかし、GPL FAQでは、以下のように続きます。
しかし、インタープリタが他の機能(多くの場合ライブラリですが、ライブラリである必要はありません)
への「バインディング」を提供するように拡張されている場合、解釈されるプログラムはバインディングを
使うことによって事実上それらの機能とリンクされることになります。ですから、もしそういった機能が
GPLのもとでリリースされているならば、機能を利用している解釈されるプログラムはGPLと両立する形で
リリースされなければなりません。
スクリプト言語とFOSS例外
『あなたのスクリプト」が"「バインディング」"を命じた結果、"事実上それらの機能(=GPLライブラリ)と
リンクされる"ことが重要なので、間に寛容なライセンスのライブラリが多段に入っていても
「バインディング」とリンクに因果関係があればスクリプトにGPLまたはFOSSライセンスを選択する必要がある
あなたの
スクリプト
ライブラリB
(MPL)
libmysqlclient.so (FOSS例外付き GPLv2)
rubyインタープリタ (BSDL)
バインディング
リンク
require
(バインディング)
あなたの
スクリプト
ライブラリA
(MPL)
バインディング
ライセンス選択へ
影響なし
ライセンス選択へ
影響なし
GPL or
任意のFOSS
ライセンス
ライセンス選択へ
影響なし
GPL or
任意のFOSS
ライセンス
require
(バインディング)
RubyでMySQL (1/2)
RubyからMySQLへの接続は、以下の3つが有名
(廃止)MySQL/Ruby(mysql)
作者:とみたさん @tmtms (開発停止)
ライセンス: Rubyライセンス(OSI認定ライセンスではない)
libmysqlclientライブラリを使用【する】
Rails1,2のActiveRecordの下のデフォルトとして使われていた
2009年に開発終了
◆ クライアントライブラリ不要なので スクリプトのライセンスの選択肢:
制限なし
Ruby/MySQL(ruby-mysql)
作者:とみたさん @tmtms https://github.com/tmtm/ruby-mysql
ライセンス: Rubyライセンス(OSI認定ライセンスではない)
Pure Ruby
libmysqlclientライブラリを使用【しない】
遅い(1/5~1/50くらい?)
http://tmtms.hatenablog.com/entry/20120503/ruby_mysql
rubyライセンスは、 PerlのArtistic Licenseを参考にしたMPL系のライセンス
rubyライセンスのモジュールと組み合わせる場合、
読み込み元の自分で開発したスクリプトに任意のライセンスを適用することが可能
http://www.ruby-lang.org/en/about/license.txt
◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
制限なし
RubyでMySQL (2/2)
mysql2
作者: @brianmario https://github.com/brianmario/mysql2
ライセンス:MITライセンス (OSI認定ライセンス)
旧mysqlの置き換え用として開発?
libmysqlclientライブラリを使用【する】
Rails3,4でよく使われる
◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
制限なし
ちなみに、Ruby DBI 用のDBD MySQL は、上記のモジュールいずれかのラッパとして動作する。
PHPでMySQL (1/2)
PHPのバージョン及び、ビルド時のオプションの指定により使用されるMySQL接続ライブラリが変化します。
決まるのは、PHPバイナリの"ビルド時"です
PHP 5.2以前:
libmysqlclientリンクPHPしかビルドできない
PHP 5.3:
デフォルトではlibmysqlclientリンクPHPをビルド
PHPのビルド時にmysqlnd組み込みを選択できるようになった
PHP 5.4:
デフォルトで、mysqlnd組み込みPHPがビルドされる
オプションで指定すればlibmysqlclientリンクPHPをビルド可能
参考資料:PHPマニュアル / どのライブラリを選ぶか
http://www.php.net/manual/ja/mysqlinfo.library.choosing.php
mysqlnd組み込みPHP
libmysqlclientリンクPHP
libmysqlclient.so
動的リンク
MySQL Server
PHP
スクリプト
mysqli.so mysql.so pdo_mysql.so
mysqli.somysql.sopdo_mysql.so
require
mysqlnd.so
require
PHPでMySQL (2/2)
"libmysqlclient リンクPHP" 上でスクリプトを使用する場合
libmysqlclientライブラリを使用【する】
ライセンス:PHP License 3.01 (OSI 認定 ライセンス、BSDL系の寛容なライセンス)
FOSS例外規定によりPHP自身のライセンスは上記のようになる
◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
制限なし
"mysqlnd (MySQL ネイティブドライバ )組み込みPHP"で使用する場合
libmysqlclientライブラリを使用【しない】
ライセンス:PHP License 3.01 (OSI 認定 ライセンス、BSDL系の寛容なライセンス)
機能上の特徴
mysqlndには、更にプラグインを使用して機能を追加できます
ロードバランス機能 (mysqlnd_ms)
クライアントキャッシュ機能 (mysqlnd_qc)
各種処理をフックするユーザハンドラ (mysqlnd_uh)
→mysqlnd_msについては第2回MySQL勉強会大阪で宗近さんが発表しています
実行環境に応じて作成したスクリプトのライセンスの選択肢が変化する
この場合、これこれの環境限定のスクリプトとしてリリースしますとかの宣言を記載すればいい
…と思うのですが、ご存知の方、ご教示ください。
◆ クライアントライブラリ不要なので スクリプトのライセンスの選択肢:
制限なし
PerlでMySQL
CPANのDBD::mysqlの組み合わせがデファクトスタンダード
作者:Patrick Galbraith http://search.cpan.org/dist/DBD-mysql/
ライセンス: The Perl 5 License (以下のデュアルライセンス)
Artistic License 1.0
OSI認定ライセンス
GPL 1
libmysqlclientライブラリを使用【する】
(正確にはDBD::mysqlのmake時にオプションで変化する模様)
◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
a. GPL v2ライセンス
b. FOSSライセンス (FOSSライセンス例外規定)
◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:
制限なし
DBD::mysqlのビルドや動作には、mysqlのC用ライブラリが必要
ビルド時にforce-embedded オプションを選択した場合
libmysqld.a (組み込み用静的リンクライブラリ)を使うのでライセンス等も変化する
FOSSライセンス例外規定は、クライアントライブラリに限定される
DBD::mysql では、Artistic License 1.0(MPL系のライセンス)を選択すればよい
Artisticライセンスのモジュールと組み合わせる場合、
読み込み元の自分で開発したスクリプトに任意のライセンスを適用することが可能
http://www.opensource.jp/artistic/ja/Artistic-ja.html
PythonでMySQL
次の2種類のドライバが有名?(多分)
Connector/Python
MySQL公式のドライバ
ライセンス … デュアルライセンス
商用ライセンス (年間サブスクリプションまたはOEMライセンス)
(FOSSライセンス例外規定付き)GPL v2
Python Database API Specification v2.0 に準拠
ピュアPythonで書かれている
libmysqlclientライブラリを使用【しない】
URL: http://dev.mysql.com/downloads/connector/python/
MySQL for Python (MySQLdb)
コミュニティによるOSSのドライバ
Zope(Webアプリケーションフレームワーク )関連の人たちにメンテされている
libmysqlclientライブラリを使用【する】
ライセンス … マルチライセンス?
GPL v2 (OSI認定ライセンス)
Python License (CNRI Python License) (OSI認定ライセンス)
Zope Public License (OSI認定ライセンス)
URL: http://sourceforge.net/projects/mysql-python/
mariaDBについて
mariaDB とは、MySQLからfork(派生)したRDBMS
GPL配布のソースからForkしたからGPL版のみ
商用版は無し
mariaDBの公式ライブラリはJDBC用とC用のみ
MariaDB Client Library for Java Applications
MariaDB Client Library for C
このライブラリのライセンスはLGPL
「GPLからforkしたのにライセンス違反じゃね?」と思われるかもしれないが
プロトコルはGPLではないので、同じ動作をするクローンを作ることはできる
これを「クリーンルームクリーンルームクリーンルームクリーンルーム実装実装実装実装」という
著作権はアイディアを保護する特許権とは違うためである
過去には、RubyでのAppleによるライセンス不明パッチ事件なんてのもあった
http://d.hatena.ne.jp/nishiohirokazu/20100819/1282200581
ちなみに完全に0から作っているのではない模様
LGPLだった頃のMySQL 3.23のクライアントライブラリをベースに作っている
LGPLライブラリを使ったソフトウェアをLGPL以外のライセンスで配布する際の注意点
動的リンクにすること
LGPLライブラリを同梱しないほうがいいこと
リバースエンジニアリング禁止規定を入れないこと
おわり
参考資料
ワン モア シング
参考資料 (1/5) 書籍
書籍『知る、読む、使う! オープンソースライセンス』
可知豊 (著) 達人出版会
http://tatsu-zine.com/books/osslicense/
書籍『フリーソフトウェアと自由な社会 ―Richard M. Stallmanエッセイ集』
Richard M. Stallman (著), 長尾 高弘 (翻訳) アスキー社
http://www.amazon.co.jp/dp/4756142818
書籍『オープンソースソフトウェアの育て方』
Karl Fogel (著), 高木 正弘 (翻訳), 高岡 芳成 (翻訳) オライリー社
http://www.amazon.co.jp/dp/4873114128
CCなので、Karl Fogel自身のサイトでも全文公開されています(日本語版も)
http://producingoss.com/ja/
書籍『伽藍とバザール』 (OSS4部作「ノウアスフィアの開墾」「魔法のおなべ」も参照)
Eric S. Raymond (著), 山形浩生 (翻訳) 光芒社
http://www.amazon.co.jp/dp/4895421686
(イベント"Tech Lion" 主催でおなじみ) USP研究所から新版も出ています
http://www.amazon.co.jp/dp/4904807022
山形浩生さんのサイトで全文公開中: http://cruel.org/freeware/cathedral.html
(ちなみに、同サイトに某MSの「ハロウィーン文書」の翻訳もあり)
参考資料 (2/5) ドキュメント
GNU
http://www.gnu.org/
フリーウェア運動の総本山
GNU GNUライセンスに関してよく聞かれる質問 【重要!】
http://www.gnu.org/licenses/gpl-faq.ja.html
OSI(The Open Source Initiative)
http://opensource.org/
オープンソース運動の総本山
オープンソースグループ・ジャパン(OSG-JP)のサイト
http://www.opensource.jp/
オープンソース文化の普及や啓蒙を目的とする非営利の任意団体
OSI関連の日本語訳が豊富
ネコにも分かる知的財産権
http://www.iprchitekizaisan.com/chosakuken/chosakuken.html
入門にピッタリ
MySQLのライセンスのドキュメント
日本語版: http://www-jp.mysql.com/about/legal/
英語版: http://www.mysql.com/about/legal/
参考資料 (3/5) 勉強会など
一般社団法人 オープンソースライセンス研究所( OSLL )のサイト
http://www.osll.jp/
毎月第4水曜日に東京で勉強会が開催されているようです
http://www.osll.jp/news/
弁護士の大堀健太郎さんのセミナー資料がとても参考になります
2013年5月16日(木)に、”OSLL主催セミナーin大阪”が開催されました
http://www.osll.jp/jon9zublf-10/
関西著作権・ライセンス勉強会
公式サイトは、なし?
関西Debian勉強会参加者中心に企画開催されているようです
2013年5月16日"第2回 関西著作権・ライセンス勉強会"開催
http://atnd.org/event/E0015394
2012年12月24日 "第1回 関西著作権・ライセンス勉強会"開催
http://atnd.org/event/E0011627
日本Linux協会(JLA )のサイト
http://jla.linux.or.jp/
オープンソースカンファレンス等でOSSライセンスの講演をされているようです
JLA理事の姉崎章博さんが担当されているようです
参考資料 (4/5) 行政
独立行政法人 情報処理推進機構(IPA)のOSSライセンス関連情報
http://www.ipa.go.jp/osc/osclegal/
文化庁
http://www.bunka.go.jp/chosakuken/text/
"著作権テキスト~初めて学ぶ人のために~ 平成25年度版"
総務省 "e-Gov[イーガブ]" >> "法令データ提供システム"
http://law.e-gov.go.jp/
法令の情報ポータルサイト
この資料でも著作権などの条文の引用に使用しています
ただし、そのまま使用するのではなく読みやすいように
漢数字を算用数字に整形したりしています
第十七条 著作者は、次条第一項、第十九条第一項及び第二十条第一項に規定す
る権利(以下「著作者人格権」という。)並びに第二十一条から第二十八条までに規定
する権利(以下「著作権」という。)を享有する。
【著作権法第17条1項】著作者は、次条第1項、第19条第1項及び第20条第1項に規定
する権利(以下「著作者人格権」という。)並びに第21条から第28条までに規定する権
利(以下「著作権」という。)を享有する。
項番号の第1項は普通表記しませんが、引用時には分かりやすいように表記さ
せたりしなかったりしています
ちなみに憲法その他の法令や裁判所の判決等の文章は著作権保護の対象外
(著作権法第13条)
参考資料 (5/5) ブログ
可知 豊さん( @y_catch )のサイト "オープンソース・ライセンスの談話室"
http://www.catch.jp/oss-license/
OpenOffice.org日本ユーザー会 で活躍
かと思うとPoserの入門書かいてたりして、芸の幅が広い
リンク集 【必読!】
http://www.catch.jp/oss-license/links/
のがたじゅんさん( @nogajun ) のサイト"Days of Speed"
http://www.nofuture.tv/diary/
"姫路IT系勉強会"の主催者
"姫路IT系勉強会" や"WordBench Osaka"でGPLの解説をされているようです
夏井高人さんのブログ "Cyberlaw サイバー法ブログ"
http://cyberlaw.cocolog-nifty.com/
明治大学法学部教授・弁護士
研究分野はサイバー法(ネットワークやコンピュータの法律関係)
「(日本での)コンピュータ関連判例の紹介」も参照
http://www.isc.meiji.ac.jp/~sumwel_h/doc/juris/
岡村久道さん( @Lawcojp )のブログ”情報法学日記”
http://hougakunikki.air-nifty.com/hougakunikki/
弁護士・国立情報学研究所客員教授・近畿大学産業・法律情報研究所非常勤講師
専門は知的財産法、情報法
おまけ
Twitter上での4月4日の とみたまさひろ( @tmtms )さんの発言
https://twitter.com/tmtms/status/319825393194520577
MySQL のドキュメントをオープンソースにするって約束が4年前にあったとな。
http://www.computerworld.com.au/article/457551/dead_database_walking_mysql_creato
r_why_future_belongs_mariadb/
google translateでMySQLドキュメントの翻訳したいけど、招待できなくてボッチでさびしいなぁ
オープンソースにならないかなぁー
|ω・`) チラ

More Related Content

今さらだけどMySQLとライセンス