最近はオープンソースソフトウェアの勢力が拡大してきている。LAMPに象徴されるサーバソフトウェアしかり、(サーバ版でない)UbuntuのようなデスクトップOSしかり、Androidのような携帯プラットフォームしかりである。携帯プラットフォームといえばSymbian OSもオープンソース化するそうである。(SymbianOSはどのようなライセンスなるかが気になるところである。)
オープンソースとは、読んで字のごとくソースコードを開示することである。オープンソースソフトウェアには実に様々なライセンスがあるが、その中で最も優れたライセンスといえばやはりGPLであろう。GPLは他のオープンソースライセンスとは明らかに違う点がある。GPLは「自由なソフトウェア」を実現するためのライセンスであり、オープンソースであることはGPLに準拠する一つの条件に過ぎない。その自由を実現するため、GPLでは次の条件をソフトウェアに課している。
自由0:プログラムを任意の目的のために実行する自由。
自由1:プログラムが動作する仕組みを研究し、自分のニーズに合わせて書き換える自由。
自由2:隣人を助けるためにコピーを再頒布する自由。
自由3:プログラムを改良し、改良点を公開して、コミュニティ全体の利益を図る自由。
自由1および3の前提として、ソースコードへのアクセス、つまりオープンソースであることが必要になる。GPLでは、GPLでライセンスされたソフトウェアを改良・改造したソフトウェアに対しても、上記の自由を認めるようにする、つまり同じライセンスでリリースすることを義務付けるライセンスである。GPLライセンスのソフトウェアだけで構築された世界になれば、誰しもがお互いのソフトウェアを自由に利用・改造・再配布・・・etcが出来るというわけである。まさにユートピア。
これが出来ないとどのような弊害があるのだろうか。例えばBSDライセンスでは改造したソフトウェアについて、同じライセンスでリリースすることを義務付けてはいない。つまり、BSDライセンスのソフトウェアを改造して新たなソフトウェアを作成した場合、その改造部分はクローズドのままにしておくことができるのである。これをすると、「基本部分だけをBSDライセンスでオープンソース化して、便利で価値のある部分をクローズドにしてお金を払ってくれるお客さんだけに提供する」というビジネスが成り立ってしまう。
一見すると問題はないように思える。が、このモデルにはいくつか落とし穴がある。
第一に、追加した機能の部分に関してはコミュニティからのフィードバックが受けられない。クローズドのものは自分たちだけで改良・保守していかなければならず、そのような改良は工数の面でも品質の面でもコミュニティからのフィードバックがあるものよりも劣るであろう。
第二に、互換性の問題がある。誰もが好き勝手にそのソフトウェアを改良したらどうなるだろうか。そして、その改良部分が不幸にもクローズドであれば、誰もその内部の仕様を理解することは出来ない。その結果、互換性のないソフトウェアが多数できあがってしまうのである。コンピュータシステムにおいて互換性は非常に重要であり、互換性のないソフトウェアは歓迎されないものである。
このような問題があるためGPLのほうが優れているのである。GPLより劣ったライセンスを採用しているソフトウェアは、GPLでライセンスされたソフトウェアほど発展を遂げられないだろう。しかし、このような意見に対しては「ビジネスだからお金を稼がないといけないだろう。だったら一部をクローズドにすることはビジネス面でアドバンテージがある。だからソフトウェアの発展のためには一部をクローズドにするのは合理的ではないか?」という反論をされる方が居るだろう。そこで、今日はGPLソフトウェアにおけるビジネスモデルにどのようなものがあるかということについて考えてみたい。(前置きなげぇよ>俺)
ビジネス1:アフターケア
その最たるものはやはりアフターケア・・・つまりであろう。どのようなソフトウェアでもバグが存在する。特にソフトウェアの規模が大きくなればなるほどバグが潜んでいる可能性が増していくのである。バグが存在した場合に取るべき対処は2つある。一つはそのバグが発生する条件を作らないことである。例えばMySQLの場合、特定のクエリでクラッシュが発生するという問題に直面したとする。ならばクエリを書き換えてその条件に適合しないようにするという回避策が考えられるが、その条件の特定や条件に適合しないクエリへの書き換えには高度なテクニックを要するのである。二つ目はバグに対するもっと直接的な対処であり、ズバリそのバグを直すことである。GPLソフトウェアであれば自分で直しても良いが、よほどそのソフトウェアの構造に精通した人でない限り、バグを直すのは手間の掛かる作業となってしまうだろう。つまり、これら2つの対処にはプロの力が必要なのであり、お金を払ってでもアフターケアを受けたいという需要が存在するのである。
ビジネス2:プロフェッショナルサービス
コンサルティングサービスやプロフェッショナルサービスも需要がある。GPLソフトウェアを使うのはまさに自由なのであるが、自由であるが故に様々な使い方が出来てしまう。最も上手に使うにはどうすればいいか。目的を達成するためにはどのような使い方をすればいいか。そのようなことを的確に判断するには深い知識と経験が必要となり、GPLソフトウェアを用いたシステム構築ということがビジネスとして成り立つのである。
ビジネス3:ソフトウェア開発=プログラマ
GPLライセンスでは、ソフトウェアを有料で配布することをわざわざ認めている。自身が開発したソフトウェアを配布する条件として、少なからず金額を頂戴しても構わないのである。リチャード・ストールマンもGNUのソフトウェアを送付する代金として、150ドルを頂いていたのである。また、ソフトウェア自体を無料で配布してもなりたつビジネスがある。それは、単なる開発作業ではなく移植作業に対して出資してもらうというタイプのビジネスである。優れたソフトウェアであれば、自分が提供しているハードウェアに移植してもらいたいというニーズがあるのである。
ビジネス4:執筆活動、トレーニングなどの知識共有
もしある特定のソフトウェアについて非常によく知っているのであれば、技術書を書くことで収入を得るという方法も考えられる。また、有料トレーニングを提供することも可能である。特に後者は新人教育において需要があるだろう。
ビジネス5:ユーザ企業
ユーザ側に立つというビジネス形態もある。例えばGoogleやMixiなどのWeb企業は様々なGPLソフトウェアを利用している。そして、その代償としてコミュニティへのフィードバックを行っている。GPLソフトウェアには有用なものが多く、上手に活用して高品質なサービスを提供すれば、全く別の価値を持ったビジネスを展開できるのである。そして、そのような企業同士でGPLソフトウェアの品質を高めて行くのである。
いずれも現在既に成り立っているビジネスであることに留意して欲しい。ライセンスビジネスのように特定の個人(例えばビル・ゲイツのように)が莫大な富を築くことは出来ないかも知れないが、ソフトウェア産業の発展という点ではGPLの方がメリットがある。より多くの人に富が分配され、より多くの人がコンピュータ産業に参入できるのである。社会全体のためになり、人々が幸せに生きていくための手助けになるのである。従って、これからソフトウェアでビジネスをしようと考えている方々は、是非GPLライセンスの採用を検討して頂きたい。
このコメントはブログの管理者によって削除されました。
返信削除