企業がオープンソース戦略をとる理由/enchant.jsはなぜOSSか?

深夜に頂いた疑問をきっかけとして、企業のオープンソース戦略について考えていることをまとめました。
38

さきほど、こんなメッセージをいただいた

ニャス! (=ΦωΦ=) 野良猫 @Ua__aU

@shi3z_bot こんばんは。最近よく考えるのですが、HTML5+Javascript的なサービスが増えてきた場合、サーバーサイドでない部分は簡単にコピーできるためクローンアプリが増える気がします。端からオープンと考えるべきか、コンテンツ保護も考えるべきか、どう思われますか?

2011-06-06 02:05:35
@butabuta_bot

.@ua__au こんにちは。最近よく耳にする話題ですね。ソフトウエアだけに値段をつけて商売になる時代は10年前に終わったと感じています。クライアントソフトウエアはいわばメイド服であり、服はコピーできますが中身はできません。むしろ模倣されることでメイド喫茶はプレゼンスを上げます

2011-06-06 02:13:27
ニャス! (=ΦωΦ=) 野良猫 @Ua__aU

@shi3z_bot 返信ありがとうございます。最近Javascriptのエンジンを公開して、ゲームなども紹介されていましたが、それらがさくっと他社にもっていかれる不安はないのだろうか、何か対策を考えられてるのだろうか、と考えていた次第です。MSの腰が重かったのもそれでしょうし。

2011-06-06 02:16:26
ニャス! (=ΦωΦ=) 野良猫 @Ua__aU

@shi3z_bot オープンソースを持って行かれるというのも変な言い方でしたが、つい先日もTwitter4Jが中国人(か台湾人)にそっくりそのまま別の名前でgithubにアップされてるって制作者がつぶやいていたりして、オープンであっても盗まれる状況に何だかなと落胆した次第です。

2011-06-06 02:22:29

オープンソースとプロプライエタリソフトのメリット・デメリット

よく言われることだけど企業がオープンソースを選択するのは、そこにメリットがあるからだ。

実際にどんなところがそうなのか見てみよう。
まず、プロプライエタリなソフトウェアの場合から

プロプライエタリ・ソフトのメリット

  • 対価を要求しやすい
  • 技術を秘匿・独占できる
  • バージョンアップする場合も自社が独占できる

プロプライエタリ・ソフトのデメリット

  • デバッグや機能拡張をすべて自社でまかなわなければ鳴らない
  • 利用者が発見したバグを自力で修正したり原因を突き止めたりすることができない
  • 開発会社に万が一のことがあれば、製品が永久にバージョンアップされず、最新の環境で動作しなくなるおそれがある

実際、プロプライエタリなソフトウェアのデメリットにぶちあたることは少なくない。

僕はMicrosoftという、プロプライエタリの総本山みたいな会社で、現場のアプリケーション開発者(この場合は利用者)と、社内のOS開発担当者(この場合はプロプライエタリなソフトの提供者)の間で仲立ちをするという仕事をしていたので、この不便さについては痛感している。

プロプライエタリなソフトの場合、社内ですらソースにアクセスすることが激しく制限されているので、僕が自力で問題を突き止めることがほとんど不可能な問題によくぶち当たった。

レントゲンなしで手術するようなもので、野戦病院の軍医のような気分だった。

また、中身の見えないOSにいらだつ利用者(アプリケーション開発者)のイライラを直に受け取るから、僕もつらかった。

さて、ではオープンソースの場合はどうなるか。

オープンソースのメリット

  • 利用者が自力でバグを発見したり機能拡張したりできる
  • プログラムにある種の公共性が加わるので普及しやすい
  • たいていの場合、無料で利用できる

オープンソースのデメリット

  • 開発者がお金をとりにくい
  • ソースの全部引用なのか、一部引用なのかわかりにくく権利を主張しにくい
  • ひどいものになると、著作権表記を勝手に書き換えて販売されたりされる
  • セキュリティリスクが生まれる可能性もある

オープンソースのメリットはそのままプロプライエタリのデメリットの裏返しだ。

みんなでバグを発見したり、機能拡張したりできるところはオープンソースの大きなメリットだ。

また、ソフトウェアがある種の公共物になるので、「参加しよう」という意識を育てやすい。

プログラマというのは、自分の書いたコードがちゃんと動かないというのは相当なストレスになるため、オープンソースだとミドルウェアのバグも含めてキッチリ追い込める。

だから安心して使える、というわけだ。

企業のソフトウェア戦略でオープンソースが採用されているケースは、たいていがミドルウェアだ。

エンドユーザが使用するソフトウェアをオープンソース化している例は皆無ではないが、これはメリットを得られにくい。

ミドルウェアの場合、使用するのに特殊な技能が必要だし、使用者はたいていプログラマなので、ソースが公開されていることに安心感を覚えやすいのだ。

@butabuta_bot

.@ua__au enchant.jsに関していえば、あれは隠すほどのものではないのです。オープンにして喪うものもあれば、隠すことによって喪うものもあるのです。隠すことによって失うもののほうがオープンにすることで失うものよりも大きいと判断し、オープンにしました

2011-06-06 02:45:52

enchant.jsはなぜオープンソースなのか?

我々、UEI(株式会社ユビキタスエンターテインメント)がなぜenchant.jsをオープンソース化したかについても補足しておこう。

そもそもenchant.jsはもともと9leap(http://9leap.net)というゲーム開発コンテストで、開発者の間口を広げるために開発されたという背景がある。

この際、たとえば使用はコンテストへの投稿に限る、など色々なライセンス形態が考えられたが、それは採用しなかった。

それは次の理由による。

  • プログラマは賢い。コンテスト以外で役に立たないようなライブラリを学習する時間を割いてくれるとは思えない
  • そもそも隠すほど大層な内容ではない
  • 間口を広げる、ということはソースを読んで勉強することもあるだろう
  • JavaScriptで書かれたものなので、たとえ難読化しようと読むことはそれほど難しくない
  • ならば、完全なオープンソースとして開発者を一人でも多く増やした方が圧倒的に得である

実際、enchant.jsはソースコードが美しかった。
これを難読化したりして隠しても、得することは少ない、と思ったのだ。

むしろこの美しいソースコードを配ることで、これを開発したUEIと、その研究機関であるARC(アーク)、そして9leapのプレゼンス(存在感)を高めることが出来ればそのほうがよほど価値がある、と判断したのである。

@butabuta_bot

.@ua__au オープンというのはコピーされることを前提とした戦略です。むしろコピーされればされるほど製作者が得をするような性質がなければ安易にオープンソースの製品をリリースすべきではないと僕も考えています。

2011-06-06 02:44:30
ニャス! (=ΦωΦ=) 野良猫 @Ua__aU

@shi3z_bot コピーされるほど利があるというのは面白いですね。例えばニコ動が公開してる動画まで同じな中国語クローンサイト作られてる事実から、コンテンツやデータもまたコピーされるものというところで詰んでる感じしてましたが、コピー上等のモデルなら逆ですね。それってすごいかも。

2011-06-06 02:51:59
@butabuta_bot

.@ua__au たぶん世の中のかなりのオープンソース製品がコピーされないことよりもコピーされることによって利益を得るためにオープンにされているのだと思いますよ。このテーマ、たまに聞かれるのでTogetterにあとでまとめます

2011-06-06 02:53:58

コピーされるほど強くなるソフトウェア

オープンソースのソフトウェアに限らないが、コピーされればされるほど強くなるソフトウェアというのは実際に存在する。

例えば、BitTorrentのようなP2P形式のファイル配信ソフトウェアの場合、これはコピーされて稼働するノードが増えれば増えるほどシステム全体の利便性が高まる。

また、企業の例では、Apple社がオープンソースプロジェクトのKHTMLを独自に発展させたWebKitがある。

WebKItは、いまやChromeやSafariとしてWindows/Macの最先端のブラウザとして、そしてAndroidやiPhoneといった最先端のスマートフォン向けブラウザコアとして、これ以上ないほど盤石な地位を築いている。

様々なプラットフォームに移植されたのは、WebKItがオープンソースだったからに他ならない。

ではAppleは結果としてWebKItをオープンソース化することで何を得たのだろうか。

それは、Webの未来を決定する権利だ。
いまやWebKItの存在は誰も無視できない。

誰もがスマートフォンでWebKitを使っている。
WebKitにある機能を持っていないブラウザは、劣ったものとして認識される可能性すらあるだろう。

これはもしAppleがWebKItをオープンソースを改造するという方法を取らず、全く独自のプロプライエタリな環境で開発するという選択肢をとっていたら、決して得られなかった成功である。

しかしWebKit2では、またプロプライエタリな方向性に行く可能性もありそうだ。

WebKItからは直接的な金銭メリットは得にくいのが理由のひとつだろう。

しかし、WebKitをオープンソースにしたことで、Appleが得た権利は非常に大きなものになった。

次の10年のシナリオを決定し、その未来がAppleにとって理想的なものになるようデザインすることのできる権利だ。

実際、WebKitが普及したことで、誰もHTML5を無視できなくなった。
ずっと対応を渋っていたInternetExplorerでさえも、ついにIE9ではHTML5への積極的な対応を余儀なくされた。
でなければ遅れをとってしまうのだ。

ただし、AppleにしろMicrosoftにしろ、肝心の主力製品に関してはプロプライエタリを守っている。

自社のプレゼンス(存在感)の弱い部分ではオープンソースでゲリラ戦を仕掛け、得意な分野ではしっかりとプロプライエタリソフトで利益を確保する、というやり方を採用しているのだ。

ニャス! (=ΦωΦ=) 野良猫 @Ua__aU

@shi3z_bot お付き合いいただきありがとうございました。有志による機能追加やデバッグなど拡張やメンテ部分、「フリー」の話題化でよく聞かれたシェアを取るという発想、あるいはSNS的なネットワークの拡大、これらはわかるのですが、あとコンテンツ保護面がどうにかなればと感じます。

2011-06-06 03:02:18

コンテンツのコピーはどうなっていくのか

最後にコンテンツのコピー問題についても言及しておきたい。

コンテンツ、特にゲームや音楽、書籍といったものは、コピーされやすい性質を持っている。

絶対的に必要なものではないし、そもそも消費されるものという性質があるからだ。

20世紀末までは、コピーは単にコンテンツ業界全体の敵だった。

しかし21世紀からは、それも変わってくるかもしれない。

例えば、電子書籍や自炊の問題。

電子書籍は実のところ全く売れていない。
けれども自炊は流行の兆しがある。

とはいえ、自炊人口は電子書籍ユーザ人口の数パーセントに過ぎないだろうが、自炊されたデータが本当に個人の管理下のみにとどまっているかというと、かなり怪しいと思う。

自炊によって出版社は大きな危機を感じている。
しかし単純な法規制だけでは、この問題を根絶することは困難だ。

コピーライト、つまり「コピーする権利」いわゆる著作権だが、この考え方が成立したのは、デジタルデータが一般化する遥か以前だ。コピーにコストがかかった時代の考え方だ。

したがって、21世紀には21世紀の新しい「著作権」の定義が必要になる。

たとえばビジネスモデルの変化だ。

音楽データの不正コピーがこれだけ問題化しているというのに、ライブイベントには人が集まっている。

カラオケでは連日連夜、流行局が歌われ、テレビで音楽が流れていない時間帯を見つけることが難しいくらいだ。

人々は決して音楽に対価を払うことをやめたわけではない。

コピーに関してはDRM(デジタル権利管理)技術が多数研究されていて、実際に実装されてるい例もかなりある。

しかしその一方でAppleはDRM解除の動きも見せている。

また、もともとネット上で無料で公開していた楽曲をCD化したものが逆に売れる、という逆転現象も起きている。

DRMはある種の必要悪として人々の中に受け入れられて行くのか、それとも人類はDRMよりももっとマシな方法を発見するのか。はたまた野蛮な違法コピーがまかり通るディストピアが待ち受けているのか。

それはまだわからない。

しかし、確実に言えるのは、今のまま曖昧なまま時間が過ぎて行くことは決してないだろうということだ。

その間に出版社が倒産するか、クリエイターが軒並みライブミュージシャンに鞍替えするか、いずれにせよ変化なくして未来はないのだ。