ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2009-04-01

GPLに対するオトコの個人的見解

なぜ自分がMySQL関係の仕事をしているのか?もちろんMySQLが技術的に面白いということや、MySQLの優れた性能に惹かれているという部分はあるが、それよりも何よりもライセンスがGPLだということが一番の理由である。なぜGPLがいいのか?それは最も自由なライセンスだからである。

GPLよりBSDライセンスのほうが自由ではないのか?GPLソフトウェアを改変した場合、そのソフトウェアもGPLでリリースいなければいけない。BSDライセンスなら別のオープンソースでないライセンスにするという自由があるではないか。という反論があるかも知れない。

しかし考えて見て欲しい。BSDライセンスのソフトウェアを元に、オープンソースでないライセンスをつけた非常に優れたソフトウェアを開発したとしよう。そのことによって一体どれだけのメリットがプログラマ(またはエンジニア)に還元されるのだろうか。優れたソフトウェアであれば、そのソフトウェアを使うユーザはメリットを享受できるだろうが、最もメリット、つまり利益を得られるのはそのソフトウェアのライセンスを有する企業および経営者であり、プログラマにはささやかな報酬がもたらされるだけである。BSDライセンスが「ライセンスを変更する自由」があるからといって、必ずしも現場で働くエンジニアのメリットにはならないのである。

GPLでないライセンスのソフトウェアに携わっている場合、特にプログラマが会社を辞めることはそのソフトウェアから足を洗うことを意味する。ソースコードにアクセスできなくなるし、改変することも認められないし、利用にも様々な制限が発生してしまうからだ。しかしGPLのソフトウェアならばそのようなことはない。十分な報酬が得られない、過剰な残業を強いられるというように会社の労働条件が自分にそぐわなかったりすれば、同じソフトウェアに携わっている他の会社へ移ってしまえばいいのである。会社を変わってもソースコードにはアクセス出来るし、ソースコードへアクセスできればコンサルティングやサポートでビジネスをすることだって可能である。本家のソフトウェアが気に入らなければforkして自分が好きなように改変しまえばいい。(ただしライセンスはGPLにする必要があるが。)つまり、GPLならば「どの企業で働くか」という自由をプログラマやエンジニアに与えてくれるのである。

そんなこと言ったってそもそもどうやってGPLでお金を稼ぐんだよ?ソフトウェアをタダで手に入れられるだろ?という意見があるだろう。しかしこれは大きな誤解である。GPLのソフトウェアは別に無料でリリースする必要はない。GPLはフリーソフトウェアを配布するためのライセンスであるが、フリーソフトウェアのフリーは無料という意味ではなく、自由という意味であって、GPLの許諾書にはわざわざ「課金していいよ」ということが明記されている。日本では古くから無料のソフトウェアが「フリーウェア」と呼ばれているので「フリー(自由な)ソフトウェア」としばしば誤解されてしまいがちであるが、両者は明確に区別しなければいけない。フリーソフトウェアは必ずしも無料ではないのである。

GPLソフトウェアを使ってお金を稼ぐ方法は様々である。例えば次のようなものが挙げられる。
  • サポート(アフターケア)
  • コンサルティング(プロフェッショナルサービス)
  • ソフトウェア開発(スポンサーを募る)
  • 執筆活動
  • トレーニング
  • ユーザー企業として利用する
GPLはいかなる利用方法も認めているので、これらの活動を行う上で法的な制約は一切ない。MySQLはパートナー制度があるのでパートナーになった場合には多少の制約が発生するが、パートナーにならなければGPLに抵触しないかぎり如何なる活動も自由に行う事ができる。(ただしMySQLの場合はパートナーになることによってロゴが使えたりサポートが得られたり割引があったりするメリットがあるような仕組みになっている。)上記のビジネスについては、以前このブログで詳解したのでそちらを見て欲しい。また、完全なGPLビジネスではないがデュアルライセンスというビジネスモデルもある。デュアルライセンスについても過去に詳解したので参照して欲しい。

GPLソフトウェアを用いたもう一つの代表的なビジネスモデルには、サブスクリプション制度というものがある。サブスクリプションにはサポート契約がついてくるほか、MySQLやRHELのようにEnterpriseバージョンのソフトウェアを入手できる場合が多い。MySQLの場合EnterpriseバージョンのソフトウェアのライセンスはGPLであり、GPLに従えばそのソフトウェアを自由に配布して良いことになる。しかし、それでは有償顧客に対するメリットが失われるので、サブスクリプション契約の方で「Webなどを利用して不特定多数の人に配布してはダメですよ」という条項を盛り込んでいるのである。もしこの規則に違反をした場合には、GPLには抵触しないがサブスクリプション契約が失効してしまう。Enterpriseバージョンのソフトウェアはリリース間隔が早く、BugFixもより迅速に行われるので契約するメリットがあるというわけである。

サブスクリプション契約の場合、ソースコードにはアクセスできるの?という疑問があるだろう。答えはYesである。なぜならライセンスがGPLだから。しかしこの場合も不特定多数の人がソースコードにアクセスできるわけではない。GPLでは、ソフトウェア(プログラムのバイナリ)を配布した相手にソースコードへのアクセスを保証すればOKなので、有償顧客にだけ開示すれば良い。GPLソフトウェアの特別なバージョンを開発してそのプログラムを配布することでお金を稼ぎたければ、サブスクリプション制度は非常に優れた手段なのである。

私有ライセンス制度とサブスクリプション制度では、エンジニアにとっては明らかにサブスクリプション制度の方がメリットが大きい。しかし経営者にとってはどうだろう。もし、Microsoftのように既に普及しているソフトウェア企業ならばどのように市場を拡大しようかということを考えなくても良いので私有ライセンスでも問題はないが、そうでない限りユーザー数獲得と市場の拡大を狙えるという点でGPLの方がメリットが大きい。コミュニティからフィードバック(パッチの提供)を受けたり、他のGPLソフトウェアをリンクできるという点で、開発効率が上がるというメリットもあるだろう。企業の立ち上げ時や、新規プロジェクトとして新しいソフトウェアを開発する時には、GPLのほうがアドバンテージがあるのである。一方で、オープンソースにするならBSDライセンスでいいじゃないか?その方が企業ユーザーから支持されやすいのでは?という意見もあるだろうが、BSDライセンスでは他の企業が私有ライセンス版を作成する可能性があり、より多くのリソースを持っている(多くの人員を抱えている)企業がそのような私有ライセンス版を開発してしまった場合には太刀打ち出来なくなってしまう可能性がある。しかしGPLでは私有ライセンスにされてしまうというリスクがない。ソフトウェアをGPLでリリースすることは非常に優れた投資なのである。

経営者側からすると、プログラマやエンジニアが職の自由を手に入れることは人材の流出というリスクと常に背中合わせであることを意味する。しかし、それは従業員を大事にすれば問題無いことである。大事にするとは、十分な報酬を与え、こき使わず、希望する労働条件を提示するということだ。感情的に考えても、従業員を粗末にするような会社は反映するべきでないので、そのようなリスクが経営者側に合った方が良い。GPLソフトウェアを用いたビジネスでは、人材の確保が経営の要である。往々にして優秀なプログラマやエンジニアは頑固だったり変わり者だったりギークだったりすることが多いのだが、そのように変わり者で頑固でギークな人々と上手く付き合えるということが、GPLビジネスで成功する秘訣だろう。逆に考えると、従業員を大事にしない企業は成功しないということが出来る。私有ライセンスによるビジネスでは従業員は企業に従うしかない。従って「安い給料でこき使われているのに文句が言えないし転職も出来ない」という悲惨な状況が生まれるわけである。GPLライセンスを用いたビジネスでは、経営者がそのようなことをすると人材が流出してその企業の経営が傾くだけである。

こんな話を書くと「あなたは会社を辞めたいのですか?」と思われるかも知れないが、それは誤解である。今のところ、今の職場は気に入っている。それほどこき使われる事はないし、それなりの収入を貰えるし、ブログだって自由に書いて良いし、社内で自由に発言できる雰囲気もある。そして何よりソフトウェアをGPLでリリースしているからだ。もちろん一個人としてどのような職業を選択するかということは自由なので、よりよい職場があれば転職を検討することはあるだろうが、今のところ今の職場は気に入っているのである。(Sunには今色んな噂が飛び交っているので将来どのようになるかは分からないけど。)

GPLは改変したりリンクしたりするとライセンスをGPLにしなければならないので、そのことを指して「GPL汚染」などと揶揄されることがあるが、上記のように経営者がGPLの特性を理解していれば何ら問題のないライセンスなのである。むしろGPLは自由なライセンスであり、プログラマやエンジニアに未来永劫自由を保障してくれる有り難いライセンスなのである。

1 コメント:

Masahiro さんのコメント...
このコメントは投稿者によって削除されました。

コメントを投稿