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

  • 70,184 views
Uploaded on

(↓間違いの訂正アリ↓)第4回大阪MySQL勉強会資料 …

(↓間違いの訂正アリ↓)第4回大阪MySQL勉強会資料
06/03 修正
◆@y_catch さん @yoku0825 さんに教えていただいた誤謬の修正
・「使用権」は誤解を招くと教えていただいたので
"「使用」と「利用」""ライセンスの2つの法的根拠"などを修正
また、使用が権利でないことの理解の一助となるよう
"「使用」と「利用」とライセンス"のページを追加
・GPLのバージョンについての情報を追加して、用語はGPLv2へ統一(したつもり)
・"MySQLの著作権"について、教えていただいた情報を元に修正
◆また、以下も修正
・発表直前に書き上げたため、推敲せず話の繋ぎがうまくいってない箇所や
分かりにくい説明、見にくいところなどを修正
・[GNUによる4つの自由]で自由の保障で勘違いしてたところを削除
・オープンソースライセンスの定義を正しいものに修正
・時間がなくて機械翻訳のままだった"FOSSライセンス例外を有効にする条件"を修正
・"第2部 ライセンス編"で、時間がなくて完成をあきらめたページが目次にだけ残っていたので削除
「LGPLについての追記」/「GPLのバージョンごとの違い」/「GPLv2の全条項の解説」
(他にも「GPLv2で頒布するには」「集積物」「envelopeライセンス」「GPLよくある疑問」とか
間に合わなくてカットしたので、いずれちゃんとした資料を作りたい!)
(法律も「インセンティブ論(規制理論)と自然権論」「著作権法の変遷」
「裁定制度」「みなし侵害」「DRM回避」とかを考慮した資料にしないと…)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
70,184
On Slideshare
0
From Embeds
0
Number of Embeds
19

Actions

Shares
Downloads
98
Comments
0
Likes
29

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 今さらだけどMySQLとライセンス(Ver. 0.9.1)担当: @h141gm対象者:MySQL の導入でライセンスが不安な人MySQLを使用するアプリの作成者レベル:初心者向け
  • 2. 自己紹介石井と申します。( 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/ からどうぞ。
  • 3. プロローグ(前説)MySQLってなんかよくライセンスでディスられてるなー某MS社のGPLへのFUDとかもあったからかなー?FUD(fear, uncertainty, and doubt 恐怖、不安、疑念)調べるとなんか人によってGPLの解釈が違うんだけど、ナニコレ?MySQL関連だけでもライセンスがスッキリ分かる資料を作ろう…と思って作り始めたけど、甘かった調べても、調べても、終わらないorzなんだ、このジャンル…と言うわけで格好悪いですが、今回の発表はVer.0.9です、ベータです多分間違ってるところやWikipediaで"[独自研究]"をつけられそうなところもたくさんあると思いますご意見、ご感想等はTwitterまでお願いします( twitter ID: @h141gm )
  • 4. プロローグ2(GPL 風の 注意)この資料は,準拠法の下で認められる限りにおいて何らの保証もなされない。この資料の品質及び性能に関するリスクはすべて読者が負うものとする。この資料に瑕疵のあることが明らかになった場合でも、必要な保守点検,修補,又は修正に要する費用はすべて読者の負担とする。
  • 5. 目次第1部 法律編第2部 ライセンス編第3部 MySQLのライセンス編第4部 MySQLとリンク編
  • 6. 第1部 法律編ライセンスとは?IT業界でのライセンス「使用」と「利用」の違いサブスクリプションなぜ著作物の「利用」を「許諾」できるのか?ライセンスの2つの法的根拠「使用」と「利用」とライセンス契約とは日本の法律が適用される?法・ライセンス インピーダンス・ミスマッチ日米の法律の違い著作権著作者人格権著作財産権著作権者って?著作財産権職務著作職務著作の帰属二次的著作物
  • 7. ライセンスとは?そもそもライセンスって何だっけ?英語だとlicense(イギリスでlicence)のwikipediaでの定義はシンプルhttp://en.wikipedia.org/wiki/LicenseThe verb license or grant license means to give permission.つまり”許可を与えること”"運転免許証"もlicense“運転をする” “許可を与える” "証明書類"
  • 8. IT業界でのライセンスIT業界でいうライセンスって、何の「許可許可許可許可」なの?“ソフトウェア”の“使用(実行)”の許可許可許可許可 (実行許諾)(正確には「契約」により使用が制限された状態の中で、限定的に“許可”されたもの)無期限のソフトウェア「使用許可」 (永続ライセンス)購入した商用のパッケージアプリ製品【MySQL 商用版 OEMライセンス】 組み込みデータベース期間期限付きのソフトウェア「使用許可」 (→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)【MySQL 商用版 年間サブスクリプション】(契約での使用制限がないソフトの「使用」の「自由」)オープンソースライセンス(【MySQL コミュニティ版】)(著作権的には契約による制限がなければ自由に「使用」できるため正確には「許可」ではない)“ソフトウェア”の"利用"の許可許可許可許可 (利用許諾)無期限のソフトウェア「利用許可」ほとんど制限がない「利用許可」オープンソースライセンスソフト(【MySQL コミュニティ版】)回数、用途、対象などの制限が厳しい「利用許可」【MySQL 商用版 OEMライセンス】期間期限付きのソフトウェア「利用許可」(→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)回数、用途、対象なども制限された「利用許可」【MySQL 商用版 年間サブスクリプション】“サービス”を受ける許可許可許可許可期間期限付きのサービス「使用許可」(→サブスクリプションサブスクリプションサブスクリプションサブスクリプション)会員サイトでのバイナリやアップデートの入手、サポートサービスなどを受ける許可【MySQL 商用版 年間サブスクリプション】RHNサブスクリプション、MSDNなど
  • 9. 「使用」と「利用」の違い著作物の「使用」 … 著作権法で著作財産権で専有とされた行為「以外の全部」の著作物への行為例:本を読む、CDを聞くソフトウェアの場合:ソフトウェアを実行する著作権法では著作物の「使用」に関しては制限の規定が「ほとんど無い」(というか著作物を使用できる「自由」があるのが当たり前という前提)著作物の「利用」 … 著作権法の著作財産権により著作権者に専有されると定められた著作物への行為例:本のコピーをとる、公衆送信、送信可能化、公共の場所で音楽を鳴らす、CDを貸すソフトウェアの場合:ソフトウェアのインストールソフトウェアの配布ソフトウェアを改造して二次的著作物を作る著作権者以外が著作物を「利用」するには著作権者による「利用」の許可が必要「利用の許可が必要」には、いくつか例外あり私的使用のための複製(著作権法第30条)プログラムの著作物の複製物の所有者による複製等(著作権法第47条の3)など(著作権法第30条~第50条)(上記の用語の対象は「著作物」である、 「【著作物】の使用」と 「【著作権】の"行使(=使用)"」を混同しないように)ただし、日常生活では「使用」と「利用」を特に区別しないことが多い「使用許諾書」とタイトルにある契約書中で「利用」についてばかり書いてあるのはよくあるMySQLの場合Comunity Server などのGPLライセンスは、 「利用許諾」商用版 年間サブスクリプションは、 期限付き「使用許諾」商用版 OEMライセンスは、 期限なし「使用許諾」
  • 10. サブスクリプションライセンスに類する言葉に"サブスクリプションサブスクリプションサブスクリプションサブスクリプション"がありますサブスクリプション(Subscription) = 雑誌の定期購読会社や製品によって異なるが、大体以下のような期限付きの許可がセットになったもの一定期間の「使用許可」一定期間サポートを受ける許可一定期間バージョンアップする許可例:MicroSoftのボリュームライセンスの場合ライセンス(L)無期限の「使用許可」ソフトウェア アシュアランス(SA)一定期間の「使用許可」一定期間サポートを受ける許可一定期間バージョンアップを受ける許可実際の販売形式 (2013/05 現在)Open (Open Lisense) … LOpen Value … L & SAOpen Value Subscription … SA
  • 11. なぜなぜなぜなぜ著作物著作物著作物著作物のののの「「「「利用利用利用利用」」」」をををを「「「「許諾許諾許諾許諾」」」」できるのかできるのかできるのかできるのか?"ライセンス"で著作物の「利用」の「許可」を与えることができる根拠著作権法で認められた権利(著作物の利用の許諾)【著作権法第63条1項】著作権者は、他人に対し、その著作物の利用を許諾することができる。【著作権法第63条2項】前項の許諾を得た者は、その許諾に係る利用方法及び条件の範囲内において、その許諾に係る著作物を利用することができる。【著作権法第63条3項】第一項の許諾に係る著作物を利用する権利は、著作権者の承諾を得ない限り、譲渡することができない。この”著作物の利用の許諾”は、”著作権の譲渡”とは別である”著作「物物物物」の利用許諾”を得ただけでは、”著作「権権権権」を行使”することはできない(著作権の譲渡)【著作権法61条1項】著作権は、その全部又は一部を譲渡することができる。【著作権法61条2項】著作権を譲渡する契約において、第27条又は第28条に規定する権利が譲渡の目的として特掲されていないときは、これらの権利は、譲渡した者に留保されたものと推定する。(翻訳権、翻案権等)【著作権法27条】著作者は、その著作物を翻訳し、編曲し、若しくは変形し、又は脚色し、映画化し、その他翻案する権利を専有する。(二次的著作物の利用に関する原著作者の権利)【著作権法28条】二次的著作物の原著作物の著作者は、当該二次的著作物の利用に関し、この款に規定する権利で当該二次的著作物の著作者が有するものと同一の種類の権利を専有する。
  • 12. ライセンスの2つの法的根拠ライセンスの法的根拠は大きくは2つあります「著作権」を元にした「著作物利用の許諾」 という側面「契約」や「約款(普通取引約款の略)」を根拠にする「使用」や「利用」の制限 という側面(大雑把に言うと、「約款」は多数と締結するためのテンプレによる「契約」のこと)前述したが、 「著作物の使用」は「著作権」を根拠とした制限が難しい従って「ソフトウェア使用許諾契約書」などの文面では、「「「「著作権著作権著作権著作権」」」」を根拠に「著作物著作物著作物著作物のののの利用利用利用利用」の条件を定め(著作権法第63条2項「許諾に係る利用方法及び条件の範囲」を指定できる)「著作物著作物著作物著作物のののの使用使用使用使用」については「契約契約契約契約((((約款約款約款約款))))」で、「著作物の使用」の「全面制限全面制限全面制限全面制限」をしたうえで、ピンポイントで「許可許可許可許可」される場所を指定という形で書くことができるただし「契約」は、契約が成立しているかどうかの確定が面倒です”承諾の意思表示の確認しているか””適法か””社会的妥当性があるか”…などなど詳しくはアメリカの例ですが「シュリンクラップ契約裁判」等を参考「シュリンクラップ契約」とは市販パッケージソフトの表面に「封を開けたら以下の条項に同意したものとみなす」などと書かれている例のアレ承諾の意思表示確認が弱いので、これが「契約」に当たるかどうか意見が分かれるこの点、GPLなどのオープンソースライセンスは「著作物利用の許諾」に特化している文章となっているこのため「契約」には頼らずに「著作権法」だけを根拠にすることができる(一応、GPL v2 の第5条では契約としての受諾を強制しています)
  • 13. 「使用」「利用」「使用」と「利用」とライセンス「使用」「利用」「白白白白」はその行為が「可能可能可能可能」「黒黒黒黒」は「不可不可不可不可」であることを示すとする■素の著作物「使用」「利用」「使用」「利用」■オープンソースライセンス■商用ライセンス(プロプライエタリ)「使用」「利用」「使用」は全面可能「利用」は全面不可(私的複製など一部は許されている)①「著作物利用の許諾」で「利用」を基本全面許可②「利用」に一部条件を付ける例:コピーレフト、宣伝条項①「契約」で「使用」に全面的な制限をつける②「契約」により指定された「使用」を許可インストールなど必要な「利用」も許可完成完成
  • 14. 契約とは「契約」とは「当事者間で結ぶ法的拘束力を持つ合意」のこと…法律の素人が説明するには荷が重い…民法だけで千条を越えるし…前述したとおりGPLだと関係ないし…と言うわけで、省略します。ごめんなさい
  • 15. 日本の法律が適用される?ここまで、この資料では著作権について日本の法律「著作権法」を引用しながら説明をしてきた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" で、 カリフォルニア州法を指定この場合でも指定された法律は判断基準の参考にはなりますが(理由は後述)、準拠法にはなりません
  • 16. 法・ライセンス インピーダンス・ミスマッチ(余談)タイトルは、ORマッパーで話題になる”オブジェクトリレーショナルインピーダンスミスマッチ”(=2つの間にギャップがありフィットしないこと)から連想した、てきとーな造語ですGPLなどのオープンソースライセンスを書いた人はアメリカの人が多いアメリカのアメリカのアメリカのアメリカの著作権法著作権法著作権法著作権法をををを念頭念頭念頭念頭においてライセンスのにおいてライセンスのにおいてライセンスのにおいてライセンスの文面文面文面文面をををを書書書書いているいているいているいている用語とか概念も日本の著作権法とは、ずれている(「派生物」と「二次的著作物」とか、「著作者人格権」の有無とか)だからだからだからだから日本人日本人日本人日本人にはにはにはにはGPLとかのライセンスがとかのライセンスがとかのライセンスがとかのライセンスが分分分分かりにくいかりにくいかりにくいかりにくい(んじゃないかなあ)とは言うものの日本人がソフトを作成して、上記のような既存のライセンスを使用すると決めた場合、そのライセンスのそのライセンスのそのライセンスのそのライセンスの文章文章文章文章をををを書書書書いたいたいたいた人人人人のののの意図意図意図意図したところをしたところをしたところをしたところを受受受受けけけけ入入入入れたかられたかられたかられたから選択選択選択選択したとみなされしたとみなされしたとみなされしたとみなされその人の書いた解説文解説文解説文解説文などもなどもなどもなども、、、、ライセンスライセンスライセンスライセンス解釈解釈解釈解釈のののの根拠根拠根拠根拠としてとしてとしてとして有効有効有効有効になるになるになるになると思われます …多分したがって、法廷では、おそらくですがGNUのFAQ等のドキュメントに書かれて公開されている解釈も、有効前述したMPL v 1.1でのカリフォルニア州法とかも、ある程度有効となるかも?それが嫌なら、オレオレライセンスを書けと言う事ですね(違
  • 17. 日米の法律の違い (1/2) (余談)日本 = 大陸法系(シビル・ロー Civil Law)制定法主義主義主義主義 、成文法主義ローマ法+サリカ法(ゲルマン法)+カノン法(教会法)(小説だけど佐藤賢一『王妃の離婚』オススメ)アメリカ = 英米法系(コモン・ロー Common Law)判例法主義主義主義主義 、不文法主義(狭義の)コモンロー(判例法)+エクイティ(判例法で足りないところの補完)+商慣習法+カノン法(教会法)イングリッシュブレックファストとコンチネンタルブレックファストの差以上に違う
  • 18. 大陸法と英米法は「著作権」でも違いがある大陸法:著作者の権利 (right of the author)という認識余談:JASRAC(日本音楽著作権協会) のRAの部分は上記から来ている著作者人格権あり著作者人格権は人格に由来し切り離せない(一身専属性)ため、放棄できない以前、これにより日本ではPDS(パブリックドメイン)を宣言できないかが話題になった無方式主義(届出不要)英米法:複製権(copyright)(=コピー(copy)する権利(right))と言う認識著作者人格権なし登録制(届出必要)→このため、アメリカはベルヌ条約(大陸法)に加盟できなかった1988年に著作権法を根本的に改正してベルヌ条約加盟したそれでも著作者人格権を追加しなかったので、議論の対象となっている日米の法律の違い (2/2) (余談)
  • 19. 著作権とは改めて、著作権とは何か?知的財産権(無体財産権)の一種大きく分けると「著作者人格権著作者人格権著作者人格権著作者人格権」と「著作権(著作財産権著作財産権著作財産権著作財産権)」からなる知的財産権著作権産業財産権(旧名:工業所有権 )その他著作者人格権著作者人格権著作者人格権著作者人格権著作権(著作財産権)著作隣接権特許権特許権特許権特許権実用新案権意匠権商標権商標権商標権商標権回路配置利用権、育成者権、営業秘密等翻訳権二次的著作物利用権など複製権公衆送信権権送信可能化権譲渡権貸与権産業財産権には、「申請」「登録」などの手続きが必要音楽などでの演奏者の権利正確にはコレも「人格権」と「財産権」がある公表権氏名表示権同一性保持権名誉声望保持権
  • 20. 著作者人格権「著作者人格権」 … 著作者の人格的利益(名声や信頼のこと)を保護するための権利以下の権利から構成される(ある権利が複数の権利の束で構成されている場合その構成要素の1つ1つの権利を支分権と呼ぶ)公表権まだ公表されていない著作物を公表する権利(著作権法第18条)「まだ公表されていない」には「同意なしに公表された」も含む(違法にリークされたような場合を想定)氏名表示権著作者名を実名、変名(=ペンネーム)、匿名で表示できる権利(著作権法第19条)匿名は、著作者名を表示しない ということ同一性保持権著作物が著作者の意に反した著作物やタイトルの改変を禁止する権利 (著作権法第20条)ただし、第20条第2項第3号で著作物がプログラムの場合は以下の制限があります移植、デバッグ、改良などが目的の改変は禁止する権利 がありませんまた、この「同一性保持権」はGPLなどの「コピーレフト」との相性が悪いコピーレフトでは著作権者の意に反した改変でも許さなければいけないため「ひこにゃん」の裁判で話題になったのはこの「同一性保持権」です名誉声望保持権著作物の改変を伴わないが著作者の名誉又は声望を害する方法によりその著作物を利用する行為(著作権法第113条6項)風俗のチラシに既存の漫画を使った場合など(著作財産権を譲渡してしまっていてもOK)著作者人格権は人格に由来し切り離せないため(一身専属性) 、放棄できない投稿サイトなどの規約で「投稿者は著作者人格権を行使しない」としている場合もありますが適法でない規約の場合、契約が成立していないと判断される可能性があります
  • 21. 著作財産権「著作権(著作財産権)」…著作者の財産的利益を保護するための権利、copyrightの事以下の権利から構成される以下の○○権は専有なので、「著作権者の許諾なしに○○をすることは禁止」と読むと理解しやすい(許諾権という)複製権著作物を複製する権利の専有(著作権法第21条)プログラムのインストールは「複製」と考えられている公衆送信権著作物について公衆送信を行う権利の専有(著作権法第23条1項)公衆に通信で著作物を送ること送信可能化権著作物について送信可能化を行う権利の専有(著作権法第23条1項)2011年の著作権法改正で導入された「公衆送信権」では、ダウンロード用サーバへのアップロードが含まれないため譲渡権著作物の譲渡により公衆に提供する権利を専有 (著作権法第26条2項)著作権法61条の"著作権"の譲渡とは別これがプログラムの頒布にあたる貸与権著作物の貸与により公衆に提供する権利を専有 (著作権法第26条3項)翻訳権・翻案権著作物を翻訳し、編曲し、若しくは変形し、又は脚色し、映画化し、その他翻案する権利を専有 (著作権法第27条)これがプログラムの改変にあたる二次的著作物利用権 (二次的著作物の利用に関する原著作者の権利)原著作物の著作権者は二次的著作物の利用に関して、二次的著作物の著作者と同等の権利を有する(著作権法第28条)「キャンディ・キャンディ」 裁判参照そのほか、ソフトウェアとは関係の薄い権利も列挙する 上演権,演奏権,上映権,口述権, 展示権,頒布権(←映画用)
  • 22. 著作権者って?基本書いた人が著作権者(創作者主義)【著作権法第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号】共同著作物 二人以上の者が共同して創作した著作物であつて、その各人の寄与を分離して個別的に利用することができないものをいう。分離できないくらい混ざってないと駄目です、章ごとに書いた人が違う本の場合は章ごとに別の著作物になりますテーマを提示しただけとか抽象的なヒントを提供しただけでは共同著作権者とならない助手も共同著作権者とならない仕事で作ったものは法人が著作権者となります(法人著作、職務著作)詳細、後述
  • 23. 職務著作仕事で作ったものは法人が著作権者となります(法人著作、職務著作)(法人…"自然人(=個人のこと)"では無いが法では「人」と同じ扱いをするもの、例:会社、自治体、国など)【著作権法第15条1項】法人その他使用者(以下この条において「法人等」という。)の発意に基づきその法人等の業務に従事する者が職務上作成する著作物(プログラムの著作物を除く。)で、その法人等が自己の著作の名義の下に公表するものの著作者は、その作成の時における契約、勤務規則その他に別段の定めがない限り、その法人等とする。【著作権法第15条2項】法人等の発意に基づきその法人等の業務に従事する者が職務上作成するプログラムの著作物の著作者は、その作成の時における契約、勤務規則その他に別段の定めがない限り、その法人等とする。上記の仕事で作ったプログラムが法人著作になる条件をまとめると(1)法人等法人等法人等法人等のののの発意発意発意発意にににに基基基基づくづくづくづく(2)法人等法人等法人等法人等のののの業務業務業務業務にににに従事従事従事従事するするするする者者者者がががが職務上作成職務上作成職務上作成職務上作成するするするする(4)作成時作成時作成時作成時のののの契約契約契約契約、、、、勤務規則勤務規則勤務規則勤務規則にににに別段別段別段別段のののの定定定定めがないめがないめがないめがない(プログラムに関しては、"(3)法人等が自己の名義で公表する"の対象外)簡単に言うと「従業員従業員従業員従業員がががが会社会社会社会社のののの仕事仕事仕事仕事でででで作作作作ったらだいたいったらだいたいったらだいたいったらだいたい職業著作職業著作職業著作職業著作」職務著作(著作権)は職務発明(特許権) とは異なる職務発明は、個人として登録後、会社へ譲渡する形となる⇒ 青色LED裁判(2004年)を参照
  • 24. 職務著作の帰属著作権は、請負契約でも委任契約でも帰属は開発者(開発会社)となります(1)自社作成してそのまま自社利用の場合 → 著作権は自社人材派遣を受けての開発の場合もここに含まれます派遣された人も"法人等の業務に従事する者"に当たるため(2)開発請負契約 → 著作権著作権著作権著作権はははは開発者開発者開発者開発者成果物を発注者に引き渡すことを約束する契約完成義務、瑕疵担保責任がある【民法第632条】請負は、当事者の一方がある仕事を完成することを約し、相手方がその仕事の結果に対してその報酬を支払うことを約することによって、その効力を生ずる。(3)開発委任契約 (≒委託開発(受託開発)) → 著作権著作権著作権著作権はははは開発者開発者開発者開発者ただし「実質的に雇用関係が存在」として発注者に帰属の判決が出たことがある開発する労力の提供の契約完成義務、瑕疵担保責任はない【民法第643条】委任は、当事者の一方が法律行為をすることを相手方に委託し、相手方がこれを承諾することによって、その効力を生ずる。ちなみに、民法と著作権法で意見が食い違った場合、著作権に関しては民法より著作権法が優先します相対的に適用対象が広い方を"一般法"と呼び、より専門的な方を”特別法”と呼ぶ。特別法は一般法に優先する(特別法優先の原則)(受託や委託は基本的には法律では使われない用語)
  • 25. 二次的著作物二次的著作物とは…【著作権法第2条1項】この法律において、次の各号に掲げる用語の定義は、当該各号に定めるところによる。【著作権法第2条1項11号】11.二次的著作物 著作物を翻訳し、編曲し、若しくは変形し、又は脚色し、映画化し、その他翻案することにより創作した著作物をいう。二次的著作物利用権…【著作権法第28条】二次的著作物の原著作物の著作者は、当該二次的著作物の利用に関し、この款に規定する権利で当該二次的著作物の著作者が有するものと同一の種類の権利を専有する。二次的著作物は、GPL v2 の文中にも出てくる「派生物(derivative work)」にあたるしかし、日米の法律で違いがあるため完全に同じ概念ではない。どういった場合が「派生物」になるとみなすかは、ライセンスごとの定義による
  • 26. (余談)誤字に注意頒布(はんぷ)品物や資料などを、広く配ること× 領(りょう)○ 頒(はん)たまに”りょうふ”だと思っている人がいます、注意
  • 27. 第2部 ライセンス編MySQL Community ServerのライセンスGPLとは?オープンソースライセンスって?具体的にオープンソースの定義は?オープンソースライセンスの分類GPLとは?(再び)フリーソフトウェアコピーレフトソースの改変と「派生物」GPLと結合スクリプト言語とGPLRedHatとGPL(余談)
  • 28. 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… 著作権表示
  • 29. GPLとは?GPLとはオープンソースライセンスの一種実際はGPLより後にオープンソースライセンスが発表されている1989年 GPLv1発表1989年 BSDL発表…1998年 "オープンソース"発表詳細は、後述オープンソースライセンスGPLLGPLMPLArtistic LicenseBSDLApache LicensePHP LicenseOpenSSL LicenseMITLZlib Licenseなど
  • 30. オープンソースライセンスって?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.html1998年2月下旬 エリック・レイモンドエリック・レイモンドエリック・レイモンドエリック・レイモンドらによりOpen Source Initiative(OSI)という団体も作られた
  • 31. 具体的にオープンソースの定義は?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認定ライセンス」を定めている
  • 32. オープンソースライセンスの分類大きくReciprocal(互恵の)ライセンスとPermissive(寛容な)ライセンスに分かれるReciprocal(互恵の)=コピーレフト (後述)どこから「派生物」とみなすかの基準が「改変の基準」となる再頒布可能 改変可能 改変の基準 改変ソース開示義務ライセンス例GPL類 ○ ○ 書換・追加静的リンク動的動的動的動的リンクリンクリンクリンク○Reciprocal(互恵の)GPLLGPL類 ○ ○ 書換・追加静的リンクLGPLMPL類 ○ ○ 書換・追加 MPLArtistic LicenseRuby License(非OSI認)BSDL類 ○ ○ (なし) ×Permissive(寛容な)BSDLApache LicensePHP LicenseOpenSSL LicenseMITLZlib License「改変の基準」は一般的に言われている基準を書いています(後述)
  • 33. 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.htmlGPL v2の日本語訳: http://www.opensource.jp/gpl/gpl.ja.html.euc-jpGPL v2 ライセンス概要(ざっくりとした不正確なまとめです):著作権は放棄しない無保証である以下の条件にしたがっているなら、利用(=複製や頒布、改変)を許可する(=著作権を行使しない)(1)著作権表示は保持しなければならない(2)無保証であることも表記する改変した場合は更に以下も追加(3)変更したということと変更した日時を表記する(4)ソースコードを改変した場合は改変部分を開示するGPLソフトウェアの派生物もGPLで配布するなど右の図は"GNU Head"と呼ばれるGNUプロジェクトのロゴ、ヌーの顔ですGNUについて協力的で正確に述べる文脈で使うのであれば、許可なく使うことが可能です
  • 34. フリーソフトウェアフリー(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の自由. 改変した版を他に配布する自由(プログラムを改良し改良点を公開し、それによってコミュニティ全体が恩恵を受けられるようにする自由)
  • 35. コピーレフト「著作物の利用の許諾」での「許諾に係る利用方法及び条件の範囲」での制限として、以下の制約を守っている場合のみのみのみのみ利用を許諾するという次のようなライセンスを想定するライセンス著作物の利用を制限しない(改変による派生物の作成する権利を含む)派生物の再配布を制限しない配布先に派生物の利用を制限させない配布先で派生物の更に派生物が作れるように情報をすべて渡す(ソースの開示)派生物にも原著作物と同一のこのライセンスを適用し、明記する上記のような初期条件を与えて著作物の配布をすると、自己増殖的に派生物から更にその派生物へと同じライセンスが引き継がれていき、著作権(copyするright)が原著作物から派生物へと無限に残って(left)いくこととなるこれをコピーレフト(copyleft)と呼ぶ
  • 36. ソースの改変と「派生物」「派生物」とは日本の著作権法での「二次的著作物」に当たるもののこと(大体)GPL v2の第0条での定義では、 「派生物」は以下のようになるhttp://www.gnu.org/licenses/gpl-2.0.htmlhttp://www.opensource.jp/gpl/gpl.ja.htmla work containing the Program or a portion of it, either verbatim or withmodifications and/or translated into another language.『プログラム』かその一部を、全く同一のままか、改変を加えたか、あるいは 他の言語に翻訳された形で含む著作物のことである一般的な「派生物」や「ソースの改変」という言葉の響きからすると、下記の(1). だけが該当するように思えてしまう(1). ソースコードそのものの改変ソースコードそのものの修正ソースコードそのものの削除ソースコードそのものの追加(2). ソフトウェアをリンクした(3). ソフトウェアの依存性を持つしかし、GPL v2では、(1). ~ (3). の全部が「ソースの改変」で、その成果物は「派生物」となる
  • 37. GPLと結合(1/2)「ソースの改変」や「派生物」の判断基準として重要な「結合」GPLなライブラリとアプリとの「結合」について、一般的に言われている解釈をまとめる結合ごとの強さを密結合→疎結合 の順に並べる(私的な基準です)【【【【静的静的静的静的リンクリンクリンクリンク】】】】実行バイナリを作るときに取り込まれ一体となる【【【【動的動的動的動的リンクリンクリンクリンク】】】】実行時にリンクされる【【【【スクリプトスクリプトスクリプトスクリプト経由経由経由経由ででででGPLモジュールにリンクするモジュールにリンクするモジュールにリンクするモジュールにリンクする】】】】【【【【別別別別プロセスだがプロセスだがプロセスだがプロセスだがIPC経由経由経由経由でのでのでのでの協調協調協調協調をしてをしてをしてをして1つのつのつのつの動作動作動作動作をするをするをするをする】】】】OracleやPostgreSQLのようなマルチプロセスアプリSystemV IPCやPOSIX IPC共有メモリセマフォメッセージキュー【【【【名前付名前付名前付名前付きパイプきパイプきパイプきパイプ、、、、パイプパイプパイプパイプ、、、、FIFO、、、、コマンドラインコマンドラインコマンドラインコマンドライン引数引数引数引数】】】】rlwarpというコマンドラインアプリは、微妙な立ち位置標準入出力をGPLライブラリのreadlineへ渡すだけのラッパこういうのは反則っぽくって微妙【【【【リモートオブジェクトリモートオブジェクトリモートオブジェクトリモートオブジェクト((((DCOM、、、、CORBA))))】】】】【【【【ソケットソケットソケットソケット通信通信通信通信】】】】【【【【Webサービスサービスサービスサービス】】】】一般的な解釈ではGPLではここまでが「派生物派生物派生物派生物」とされる一般的な解釈ではGPLではここは「集積物集積物集積物集積物」とされる密密密密疎疎疎疎
  • 38. GPLと結合 (2/2)しかしGPL FAQで結合については、以下のようになっている別プロセスでも、密なデータのやり取りをしてひとつのもののように動く場合結合とみなすと書かれているhttp://www.gnu.org/licenses/gpl-faq.ja.html#MereAggregationQ:「集積物」とそのほかの種類の「改変されたバージョン」の違いは何ですか?A: (前略)逆に、パイプパイプパイプパイプ、、、、ソケットソケットソケットソケット、、、、コマンドラインコマンドラインコマンドラインコマンドライン引数引数引数引数は通常二つの分離分離分離分離したプログラムしたプログラムしたプログラムしたプログラムの間で使われるコミュニケーションメカニズムです。ですからそれらがコミュニケーションのために使われるときには、モジュールは通常別々のプログラムです。しかしコミュニケーションのセマンティクスが親密であったり、複雑な内部データ構造を交換したりする場合は、それらも二つの部分がより大規模大規模大規模大規模なプログラムになプログラムになプログラムになプログラムに結合結合結合結合されていされていされていされているるるると考える基準となりうるでしょう。逆に動的ライブラリのプラグインであってもグレーである場合もあると書かれているhttp://www.gnu.org/licenses/gpl-faq.ja.html#GPLAndPluginsQ: GPLのもとでリリースされていたプログラムがプラグインを使うとして、プラグインのライセンスにはどのような条件がありますか?A: (前略)プログラムがプラグインと動的動的動的動的にリンクされているがにリンクされているがにリンクされているがにリンクされているが、それらの間のコミュニケーションはいくつかのオプションとともにプラグインの「main」関数を呼び出して返値を待つだけという場合は、境界線上境界線上境界線上境界線上でででで微妙微妙微妙微妙ななななケースケースケースケースとなります。つまり前ページにまとめたような【【【【技術的技術的技術的技術的なななな疎密疎密疎密疎密だけだけだけだけ】】】】で、「派生物」(=改変されたバージョン)かどうかを決決決決めることはできないめることはできないめることはできないめることはできないと言うことを示している。正直、面倒くさい話ですが…
  • 39. スクリプト言語とGPLスクリプトは、実行するインタープリンタバイナリのライセンスがGPLであっても影響は受けませんGPL FAQ ”GNUライセンスに関してよく聞かれる質問"http://www.gnu.org/copyleft/gpl-faq.html#IfInterpreterIsGPLQ:プログラミング言語のインタープリタが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と両立する形でリリースされなければなりません。
  • 40. RedHatとGPL(余談)ここまでのGPLの説明を見ると、入手したバイナリは再配布が自由だし、RedHat社とかGPLで儲けることができないように思うんだけど、どうなってるの?Q: RedHatから入手したRHELのGPLのバイナリをAnonymous FTPとかでみんなに配布していいの?A: できません。バイナリの中にRedHat社の商標権の混ざっています。「商標権」を取り除くと動かなくなるかもと脅迫が混ざっています公開すると、弁護士から「商標権の侵害」警告メールが来るらしいですQ: RedHatのRHELのGPLのバイナリを複製して自社内の複数のサーバに入れるというのは?A: これは”サービス”の方の購入時の契約違反となり、RHNサービスを辞めないといけません。 従って更新が入手できなくなります。でも、ソフトウェアそのものはGPLなので、使い続けられるし。100台にコピーしても動かすのも自由です。でも再契約の際には、その分のお金を取られます結論:RedHat社、頭いいですね。
  • 41. 第3部 MySQLのライセンス編デュアルライセンスMySQLでのデュアルライセンス著作権者の自由?コミュニティ版と商用版商用版 年間サブスクリプション の期限切れコミュニティ版 商用版 パッケージの違いMySQLの著作権MySQLとライセンス年表MySQL AB末期の黒歴史
  • 42. デュアルライセンス著作権者著作権者著作権者著作権者によるによるによるによる自由自由自由自由にににに基基基基づくづくづくづく判断判断判断判断GPL 商用ライセンスMySQLは、デュアルライセンスデュアルライセンスとは1つのソフトウェアを異なる複数の種類のライセンスに基づき頒布すること何故、そんなことができるの?『オープンソースソフトウェアの育て方』 Karl Fogel (著), 高木 正弘 (翻訳), 高岡 芳成 (翻訳)から引用http://producingoss.com/ja/download/producingoss-ja.txt「GPL の条件は、著作権者が他人に課すものです。よって、著作権者著作権者著作権者著作権者にはにはにはには GPL のののの条件条件条件条件をををを課課課課さずにさずにさずにさずに独占的独占的独占的独占的なななな条件条件条件条件のみをのみをのみをのみを課課課課すすすす自由自由自由自由もあるもあるもあるもあるのです。」(中略)著作権者がソフトウェアのコピーを無限に在庫として持っていると考えるとよいでしょう。彼らはソフトウェアのコピーを一つ取り出して世に送り出すたびに、 どのライセンスを付けるか、つまり GPL なのか、 独占的なライセンスか、それ以外かを決めることができるのです。ライセンスを選んで決める権利は、 GPL や他のオープンソースライセンスが課しているものではありません。 単に著作権に関する法律が与えたものなのです。つまり、「GPL」や「商用ライセンス」より優位な「著作権者によるメタなルールや判断」で、どのライセンスで配布するかを決めることができるということです
  • 43. MySQLでのデュアルライセンス前述の「著作権者による判断」はMySQLのマニュアルで、以下のように明文化されているhttp://dev.mysql.com/doc/refman/5.6/en/introduction.htmlThe MySQL software is Dual Licensed. Users can choose to use the MySQL software asan 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 licensingpolicies.意訳:ユーザーは以下のいずれかを選択できるMySQLをGPLを元にしたオープンソース製品として使用するMySQLをOracleから商用ライセンスを購入して使用する「商用目的」だとどうか、そういう規定は一切無し
  • 44. オープンソースじゃなくなるかどうかを著作権者(=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版のみで商用版は作成できない)著作権者の自由?
  • 45. コミュニティ版と商用版(注:表ではMySQL Clusterを関連は省略しています。)コミュニティ版 MySQL Community Database 制限期限なく著作物の「使用」は自由GPLによるほぼ制限のない著作物の「利用許可」MySQL Community Edition商用版 年間サブスクリプションMySQL Database著作物の期限付き「使用許可」サービス(アップデートとサポート)の期限付き「使用許諾」(Oracle Software Update License & Support )MySQL Standard EditionMySQL Enterprise EditionOEMライセンスMySQL Embedded Database著作物の期限なし「使用許可」 MySQL Classic EditionMySQL Standard EditionMySQL 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などの契約形態がある?)
  • 46. 商用版 年間サブスクリプション の期限切れ「MySQL 商用版 年間サブスクリプション」の使用期限が切れたらどうなる?契約に従って処理をする必要がある使用許可を含むすべての権利を失う→プログラムを削除する必要があるデータはそのまま使える→コミュニティ版をインストールして使用し続けることができるただし、コミュニティ版に無いEneteprise Editionの機能は使用できなくなるMySQL Enterprise MonitorMySQL Enterprise BackupMySQL Enterprise SecurityMySQL Enterprise AuditMySQL Enterprise ScalabilityMySQL Enterprise High-Availabilityなど
  • 47. 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/ocahttp://www.oracle.com/technetwork/oca-faq-405384.pdf商用版には”知財補償”があるhttp://www-jp.mysql.com/why-mysql/isv-oem-corner/免責補償MySQLの商標、著作権、知的財産のすべてはオラクルが所有しています。そのため、対象となる知的財産権の侵害請求が万が一起きた場合の懸念点を最小限に抑えて潜在的なリスクを軽減するために、MySQLの知的財産に関する免責補償を適用できます。
  • 48. * 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発表
  • 49. 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.html1998年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リリース
  • 50. 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.html2003年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リリース
  • 51. 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発表
  • 52. * MySQLとライセンス年表(5/6)【【【【サン・マイクロシステムズサン・マイクロシステムズサン・マイクロシステムズサン・マイクロシステムズ時代時代時代時代】】】】 ((((2008年年年年~~~~ 2009年年年年))))2008年02月 サン・マイクロシステムズによる買収2008年12月 MySQL5.1 GAリリース2009年06月 PHP5.3.0 独自のライブラリmysqlndに対応(デフォルトはlibmysqlのまま)
  • 53. 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リリース
  • 54. 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 theprovisions of the GNU Public License (GPL). A copy of the GNU Public License is available on MySQLsweb 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 emulatea MySQL server, or to interpose between any client and server which uses the protocol, or for anysimilar purpose, is also bound by the GPL. Therefore if you use this description to write a program, youmust release your program as GPL. Contact MySQL AB if you need clarification of these terms or if youneed to ask about alternative arrangements.意訳:MySQLプロトコルもMySQL DBMSの一部だから、GPLの規定に含まれる,一-、/ ̄ l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄■■-っ < んなこたーない´∀`/ \____________/|Y/\.Ё|__ | / || У.. |現在、この文章は無くなりました。http://dev.mysql.com/doc/internals/en/client-server-protocol.html
  • 55. 第4部 MySQLとリンク編公式のライブラリ(MySQL Connectors)MySQL Connectorsのライセンス"FOSSライセンス例外" 対象ライセンスリストFOSSライセンス例外を有効にする条件C/C++でMySQLJavaでMySQLスクリプト言語とGPL(復習)スクリプト言語とFOSS例外RubyでMySQLPHPでMySQLPerlでMySQLPythonでMySQLmariaDBについて
  • 56. * 公式のライブラリ(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用)
  • 57. 公式のライブラリ(MySQL Connectors) (2/2)Connector/J … JDBCドライバOS依存なし(Javaなので)mysql-connector-java-*.*.*-bin.jarファイルとそのソース(複数の.javaファイル)のセット実行には上記.jarファイルをClasspathに配置する.jarファイルは、複数の.ClassファイルとリソースをアーカイブしたものJDBC 3.0 Type4 ドライバ、 ピュアJavaOracle 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.pdbmysqlclient.lib、mysqlclient.pdb複数の.hファイルConnector/C のsharedパッケージは、動的リンクライブラリlibmysqlclient.soを含むため特に重要
  • 58. 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 softwareproducts, including the MySQL database server?A: No. The FOSS License Exception does not apply to Oracle’sMySQL database server or any Oracle or MySQL software other thanthe GPL-licensed MySQL Client Libraries.
  • 59. "FOSSライセンス例外" 対象ライセンスリスト"FOSSライセンス例外" の対象となるFOSSライセンスのリスト( February 23, 2012 )http://www.mysql.com/about/legal/licensing/foss-exception/Academic Free License 2.0Apache Software License 1.0/1.1/2.0Apple Public Source License 2.0Artistic license From Perl 5.8.0BSD license "July 22 1999"Common Development and Distribution License (CDDL) 1.0Common Public License 1.0Eclipse Public License 1.0European Union Public License (EUPL)1 1.1GNU Affero General Public License (AGPL) 3.0GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1/3.0GNU General Public License (GPL) 3.0IBM Public License 1.0Jabber Open Source License 1.0MIT License (As listed in file MIT-License.txt)Mozilla Public License (MPL) 1.0/1.1Open Software License 2.0OpenSSL license (with original SSLeay license) "2003" ("1998")PHP License 3.0/3.01Python license (CNRI Python License)Python Software Foundation License 2.1.1Sleepycat License "1999"University of Illinois/NCSA Open Source LicenseW3C License "2001"X11 License "2001"Zlib/libpng LicenseZope Public License 2.0
  • 60. FOSSライセンス例外を有効にする条件"FOSSライセンス例外" を有効にする条件http://www.mysql.com/about/legal/licensing/foss-exception/A FOSS application developer ("you" or "your") may distribute a Derivative Work provided thatyou 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 thesame 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 theProgram, 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アプリの派生物なわけではなく、独立した別々のモノであると合理的に考えなければならない。(訳注: なんかよく分からない… … )
  • 61. C/C++でMySQLC++で開発するときは、Connector/C++を使用するCで開発するときは、 Connector/Cを使用する接続ライブラリへ動的リンクや静的リンクすることでプログラムを構築することができるlibmysqlclientライブラリを使用【する】◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:a. GPL v2ライセンスb. FOSSライセンス (FOSSライセンス例外規定)◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:制限なし
  • 62. JavaでMySQLJavaで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使用時 スクリプトのライセンスの選択肢:制限なし
  • 63. スクリプト言語とGPL(復習)スクリプトは、実行するインタープリンタバイナリのライセンスがGPLであっても影響は受けませんGPL FAQ ”GNUライセンスに関してよく聞かれる質問"http://www.gnu.org/copyleft/gpl-faq.html#IfInterpreterIsGPLQ:プログラミング言語のインタープリタが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と両立する形でリリースされなければなりません。
  • 64. スクリプト言語とFOSS例外『あなたのスクリプト」が"「バインディング」"を命じた結果、"事実上それらの機能(=GPLライブラリ)とリンクされる"ことが重要なので、間に寛容なライセンスのライブラリが多段に入っていても「バインディング」とリンクに因果関係があればスクリプトにGPLまたはFOSSライセンスを選択する必要があるあなたのスクリプトライブラリB(MPL)libmysqlclient.so (FOSS例外付き GPLv2)rubyインタープリタ (BSDL)バインディングリンクrequire(バインディング)あなたのスクリプトライブラリA(MPL)バインディングライセンス選択へ影響なしライセンス選択へ影響なしGPL or任意のFOSSライセンスライセンス選択へ影響なしGPL or任意のFOSSライセンスrequire(バインディング)
  • 65. 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 Rubylibmysqlclientライブラリを使用【しない】遅い(1/5~1/50くらい?)http://tmtms.hatenablog.com/entry/20120503/ruby_mysqlrubyライセンスは、 PerlのArtistic Licenseを参考にしたMPL系のライセンスrubyライセンスのモジュールと組み合わせる場合、読み込み元の自分で開発したスクリプトに任意のライセンスを適用することが可能http://www.ruby-lang.org/en/about/license.txt◆ GPL版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:a. GPL v2ライセンスb. FOSSライセンス (FOSSライセンス例外規定)◆商用版クライアントライブラリ使用時 スクリプトのライセンスの選択肢:制限なし
  • 66. 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 は、上記のモジュールいずれかのラッパとして動作する。
  • 67. 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.phpmysqlnd組み込みPHPlibmysqlclientリンクPHPlibmysqlclient.so動的リンクMySQL ServerPHPスクリプトmysqli.so mysql.so pdo_mysql.somysqli.somysql.sopdo_mysql.sorequiremysqlnd.sorequire
  • 68. 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勉強会大阪で宗近さんが発表しています実行環境に応じて作成したスクリプトのライセンスの選択肢が変化するこの場合、これこれの環境限定のスクリプトとしてリリースしますとかの宣言を記載すればいい…と思うのですが、ご存知の方、ご教示ください。◆ クライアントライブラリ不要なので スクリプトのライセンスの選択肢:制限なし
  • 69. PerlでMySQLCPANのDBD::mysqlの組み合わせがデファクトスタンダード作者:Patrick Galbraith http://search.cpan.org/dist/DBD-mysql/ライセンス: The Perl 5 License (以下のデュアルライセンス)Artistic License 1.0OSI認定ライセンスGPL 1libmysqlclientライブラリを使用【する】(正確には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
  • 70. PythonでMySQL次の2種類のドライバが有名?(多分)Connector/PythonMySQL公式のドライバライセンス … デュアルライセンス商用ライセンス (年間サブスクリプションまたはOEMライセンス)(FOSSライセンス例外規定付き)GPL v2Python 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/
  • 71. mariaDBについてmariaDB とは、MySQLからfork(派生)したRDBMSGPL配布のソースからForkしたからGPL版のみ商用版は無しmariaDBの公式ライブラリはJDBC用とC用のみMariaDB Client Library for Java ApplicationsMariaDB 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ライブラリを同梱しないほうがいいことリバースエンジニアリング禁止規定を入れないこと
  • 72. おわり参考資料ワン モア シング
  • 73. 参考資料 (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/4873114128CCなので、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の「ハロウィーン文書」の翻訳もあり)
  • 74. 参考資料 (2/5) ドキュメントGNUhttp://www.gnu.org/フリーウェア運動の総本山GNU GNUライセンスに関してよく聞かれる質問 【重要!】http://www.gnu.org/licenses/gpl-faq.ja.htmlOSI(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/
  • 75. 参考資料 (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/E00153942012年12月24日 "第1回 関西著作権・ライセンス勉強会"開催http://atnd.org/event/E0011627日本Linux協会(JLA )のサイトhttp://jla.linux.or.jp/オープンソースカンファレンス等でOSSライセンスの講演をされているようですJLA理事の姉崎章博さんが担当されているようです
  • 76. 参考資料 (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条)
  • 77. 参考資料 (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/弁護士・国立情報学研究所客員教授・近畿大学産業・法律情報研究所非常勤講師専門は知的財産法、情報法
  • 78. おまけTwitter上での4月4日の とみたまさひろ( @tmtms )さんの発言https://twitter.com/tmtms/status/319825393194520577MySQL のドキュメントをオープンソースにするって約束が4年前にあったとな。http://www.computerworld.com.au/article/457551/dead_database_walking_mysql_creator_why_future_belongs_mariadb/google translateでMySQLドキュメントの翻訳したいけど、招待できなくてボッチでさびしいなぁオープンソースにならないかなぁー|ω・`) チラ