ITmedia NEWS > STUDIO >
ニュース
2016年06月08日 17時10分 UPDATE

「マイクロソフトを嫌っていたのではない、われわれが嫌われていたのだ」――Rubyまつもとゆきひろ氏が語る、MSの壁

“Rubyの父”として知られるまつもとゆきひろ氏は「オープンソースから見たマイクロソフト」をテーマに、開発者向けイベント「de:code 2016」で語った。

[太田智美,ITmedia]

 「われわれがマイクロソフトを嫌っていたのではない、マイクロソフトがわれわれを嫌っていたのだ」――日本のソフトウェア技術者であり、Rubyの父とも呼ばれるまつもとゆきひろ氏は、日本マイクロソフトが主催する開発者向けイベント「de:code 2016」でこう語った。一体何があったのか。


オープンソースから見たマイクロソフト

「オープンソースソフトウェア」の誕生

 その歴史は、1996年までさかのぼる。当時、米Microsoftが開発していた「Internet Explorer」の機能強化により、それまで大きなシェアを獲得していたNetscape CommunicationsのWebブラウザ「Netscape」シリーズとの2大ブラウザ戦争が勃発した。その後、Internet Explorerはますます勢いを増し、この勢いに押されたNetscapeは1998年1月にNetscape Navigatorを無償化。しかしシェアの巻き返しには及ばず、同年大きな決断をする。その決断とは、「自社のWebブラウザをソースコードも含めてフリーソフトウェアにし、公開しよう」というものだった。

 ところが当時、「フリーソフトウェア」という言葉はビジネス的にあまりいいイメージがなかった。というのも、「フリー」は英語で「無料」という意味でもある。そこでできたのが、「オープンソースソフトウェア」(OSS)という言葉だ。「無料で配る」という意味ではないことを強調するために、あえて「フリー」という単語を外し作った名前だった。


オープンソースから見たマイクロソフト Rubyの父 まつもとゆきひろ氏

 今ではほぼ同義に使われるこの2つの言葉だが、実はこんな歴史があった。さらに言えば、「オープンソースソフトウェア」という言葉自体も、当時手放しで褒められるほど良い印象はなかったという。そもそもフリーソフトウェアは「無料ソフトウェア」と訳されがちだが、「フリー」を日本語に訳すとすれば「自由ソフトウェア」。元祖「フリーソフトウェア」の「自由」という意味が削られているばかりでなく、「オープンソースソフトウェア」という言葉自体についても「ソースをオープンにすればそれでいいんだ」と誤解される可能性があった。

FREE文化を創ったリチャード・ストールマン

 オープンソースソフトウェアという言葉はこうして生まれたのだが、この「FREE」の精神はどこから来ているのか。それは「フリーソフトウェア」という言葉を最初に口にしたアメリカのプログラマー、リチャード・ストールマン氏にあったという。

 ストールマン氏はマサチューセッツ工科大学(MIT)のAI(人工知能)ラボのハッカーだった。彼は1970年代、いろいろなソフトウェアを作ってはシェアしていた人物。当時、ITビジネスといえばハードウェアのビジネスが主体で、ソフトウェアはおまけ程度の立ち位置。ところが徐々にいろんな人が、ソフトウェアそのものがビジネスになることに気付き始めた、そんな時代だった。有名なのは、「一生懸命苦労して開発したソフトウェアを、ただで受け取ろうとするのはおこがましい。プロフェッショナルが作ったできの良いソフトウェアを手に入れるには、有償でなければならない。あなたたちは、ソフトウェアに対してお金を払わなければならない」というビル・ゲイツ氏の言葉。「ソフトウェアそのものが産業になる」というゲイツ氏の姿勢に対し、ストールマン氏はものすごく反発したという。なぜか。

 それは、技術者の良いサイクルが崩壊してしまうとストールマン氏は感じたからだった。これまで、ソフトウェアを自由に配り、他の人が書いたソフトウェアを見て、学んで、成長して、自分も書くという、技術者にとって非常に良い環境があった。それに対し、ソフトウェアをビジネスとして売るということは、ソースコードを見られるのは組織内部の人だけになるのと同義。結果、そのソフトウェアについて技術者が学びたければ、その会社に就職し開発チームに所属するという選択肢しかなくなり、学びの幅が狭まるどころか情報流通が制約され、ソフトウェア開発者の自由が侵害されるとストールマン氏は懸念した。

 実際、ストールマン氏はとても優秀なプログラマーであり、高機能でカスタマイズ性の高いテキストエディタ「Emacs」や、GNUのコンパイラ群「GCC(GNU Compiler Collection)」、GNUデバッガ「GDB」など多くのソフトウェアの開発に携わってきた。が、ソフトウェアの自由に多くの人があまりにも興味を持たないことに対して腹を立て、「もう俺はソフトウェアを書いている場合じゃない」と活動の軸をフリーソフトウェアの啓蒙に移した。自分がソフトウェア開発でもらったたくさんの賞金をぶち込み、非営利団体「フリーソフトウェア財団」(Free Software Foundation)を立ち上げ、1984年には「ライセンスによって自由を保障しよう」というムーブメントを始めた。


オープンソースから見たマイクロソフト リチャード・ストールマン氏

 この取り組みは、何の関係もない大学生から非常に良い評判を得た。なぜなら、彼を通じてさまざまなソフトウェアを見て、学べ、何よりソフトウェアを無料で使うことができるからだ。

 ところが、学生たちが大学を卒業すると、矛盾が起きた。ストールマン氏の思想に感銘を受けた学生がソフトウェアカンパニーに就職しても、自分の開発したソフトウェアは「会社の内部データ」として扱われて公開できない。ソフトウェア産業は、フリーソフトウェアに恩恵を感じ、業界として感謝し、優秀なソフトウェアを提供するプログラマーに感謝しつつも、自分の開発したソフトウェアの公開はほとんどできないというジレンマに陥っていた。

 「もし、この地球にリチャード・ストールマンがいなかったら、彼らがFree Software Foundationを作ることもなく、フリーソフトウェアムーブメントも起こらなかっただろう。それは、ソフトウェアの自由のない、商業化されきった世界で、ソフトウェア技術者の知識や学びが非常に限定された小さな世界。こうした思想的背景は、今のオープンソースソフトウェアにもつながっていることを私たちは忘れてはいけない。ソフトウェアの自由のために戦ってくれた人がいた。その人たちのおかげで私たちがいることを、私たちは決して忘れてはいけない」(まつもと氏)

「オープンソースソフトウェア」の定義

 オープンソースソフトウェアには、定義(The Open Source Definition=OSD)がある。定義は「配布が自由であること」「ソースコードが無償で入手できること」「技術的制約がないこと」など10項目。つまり、OSDが指定しているのは「ライセンスはどのようなものであるか」だけなのだ。

 興味深いのは、われわれがよく「オープンソース的」と言うとき、ライセンスのことはあまり考えていないこと。「オープンソース的」という言葉を聞くとつい、ゆるやかなロードマップのもと、みんなで寄ってたかって開発するというような開発スタイルを思い描いてしまうが、実は開発スタイルは定義上全く問題ではないのだ。

マイクロソフトとオープンソースソフトウェア

 ここまで、オープンソースの概念やその歴史を追ってきたが、Windowsの世界では「フリーソフトウェア」ではなく「タダのソフト」という文化が導入された。つまり、ソースコードが公開されるわけではなく、お金の面での「フリー」のソフトだ。したがって、このころWindowsでは「フリーソフト」と呼ばれるもの自体は伸びたが、ソースコードを共有したりソフトウェアの自由について考えたりする機会はあまり持たれなかったという。マイクロソフトがそうするのは理解できた。マイクロソフトはOSシェア1位。マイクロソフトには、過去の資産もお客さんも付いていた。それらを壊してまでオープンソースにこびを売って取り入れたり、オープンソースの技術者にすり寄ったりする必然性はなかったからだ。

 しかしそこに、オープンソースソフトウェアの技術者が納得できる理由はなかった。そのとき、まつもと氏にはふとこんな気持ちが湧いたという――「俺、マイクロソフトに嫌われているんじゃないか……」。

 まつもと氏が特にいらだったのは、ストールマン氏が作成したフリーソフトウェアライセンス「GPL」(GNU General Public License)にまつわる言われぶりだ。GPLは、GPLを適応したソフトウェアを改造すると、その改造に対してもGPLを適応しなくてはいけない。つまり、オープンソースのものはいつまでもオープンソースであり続けなければいけないというルールがあった。

 オープンソースソフトウェアを開発しているプログラマーは、もちろんタダで使ってもらって構わないし、見返りなしに商用で使ってもらっても構わないと思っている。しかし、GPLのこの特徴だけをとらえて「ライセンス感染」「GPL汚染」といった“悪いイメージの言葉”が生まれてしまった。その悪いイメージの言葉をいまだに使い続けている人がいることに対しても、まつもと氏は「カチンときた」という。

 「『ライセンス感染』といった言葉を使っている人が何を考えているかというと、『お前の開発したソフトウェアはフリーソフトウェアだから俺が使う。けど、俺が作っているソフトウェアは商用ソフトウェアだから』ということ。これはすごいジャイアニズム。今でも感染性などの言葉を使う人もいるが、これにはカチンときた」(まつもと氏)


オープンソースから見たマイクロソフト

 まつもと氏によると、ソフトウェアの移植性を重視し、オープンソースであることが大きな価値を持つUNIX文化の中にいた技術者たちは、いつの間にか「アンチマイクロソフト」というラベルを貼られていたという。そして、マイクロソフトに嫌われていると思い込み、「アンチマイクロソフト」というラベルを貼られる日々を過ごすうちに、いつの日か「マイクロソフト嫌いってわけじゃないけど、すっごく困ってて、やっぱり嫌い」と言うようになっている自分がいたという。

 「マイクロソフトの前CEOであるスティーブ・バルマーはデベロッパー、デベロッパー、デベロッパーと叫んでいた。しかし彼らが愛していたのは、マイクロソフトのデベロッパーだった。そこで叫ばれていた『デベロッパー』とは、マイクロソフトのエコシステムに入って、そのツールを作ってくれる人のことだった。オープンソースやUNIX文化のデベロッパーに対しては、マイクロソフトは『おまえなど知らん』と態度を変えた。オープンソース側としては、移植性がほしいのでLINUXでもWindowsでも動くツールを提供したい。だってWindowsを使っている人が多いから。だけど、マイクロソフトはそのために必要なAPIやシステムコールを提供してくれなかった。私が本当にアンチマイクロソフトだったかというとそんなことはない。実際問題として、マイクロソフトの方がわれわれを嫌っていたのだ」(まつもと氏)


オープンソースから見たマイクロソフト

 さまざまなプラットフォームがあるのは事実だし、それを統一するのは困難なことは分かる。しかし「せめて自動車みたいな環境がほしい」とまつもと氏は言う。例えば、トヨタ自動車であろうが、日産自動車であろうが、フォルクスワーゲンであろうが、国が違ってもとりあえずクルマとしての操縦感覚はそれほど違いはない。丸いハンドルがあって、アクセル、ブレーキがあって……と、基本的なユーザーインタフェースはどのクルマも変わらない。だからクルマを買い替えても運転できるし、国が違っても一応運転はできる。ソフトウェアも、せめてそのくらいの環境に持っていきたいとまつもと氏は話す。

 「こういう場合、対策は2つしかない。1つはWindowsを無視する。もう1つは、ものすごく苦労して対応する」――。まつもと氏は前者だったが、Rubyの場合は有志の「優しい人」がWindows向けに開発してくれたのだという。しかし、エミュレーションなので、WindowsとUNIXで完全に同じ挙動をするわけではない。自分たちだけがすごく苦労しているのに、なぜかユーザーからは怒られる……「俺のせい?」(まつもと氏)。


オープンソースから見たマイクロソフト

変化するマイクロソフト

 しかし時代は変化し、コンピューターのOSの世界をマイクロソフトが支配する時代は過ぎた。モバイル端末やクラウドの領域で、主要OSのシェア1位はもうマイクロソフトではなくなった。「例えばスーパーコンピュータは97%がLinuxで動いているし、開発者カンファレンスとかに行けば9割がMac。あれだけデベロッパーと叫んでいたのに、デベロッパー向けのPCのシェアは1割に満たない」(まつもと氏)。

 これらの領域で「シェア1位」の座から外れた中、マイクロソフトとしても戦略を変えなければならなくなった。1位とその他では、ビジネス戦略が変わってくる。その戦略の変更として、最も大きく見えるのは「Microsoft Azure」だという。「サーバサイドのWindowsがほしいでしょう? あれ、Linuxもほしいの? どうしても必要? しょうがないなあ……という感じで対応したのが目に見えるよう」――まつもと氏は言う。しかし、まつもと氏からしてみれば「まあ、変わろうとしてるのね」程度だったという。

 AzureでLinuxが提供され、Rubyを動かすことができたところですごいというものではない。なぜなら、Azure以外のクラウドプラットフォームならRubyはどこでも動くからだ。「許しはするが、過去を忘れるわけではない」。

 ――そんなことを思っていたら、ついこの前、ある大きな発表があった。Windows 10でUbuntuのシェル「Bash」が動き始めるというニュースだ。「これにはみんなびっくりした」とまつもと氏は言う。

 「スタート」メニューから「Bash on Ubuntu on Windows」をクリックすると、Bashが起動。ターミナルが動き、そのターミナルの中でLinuxのソフトウェアが動く。コンパイルできるだけでなく、例えばそのままRubyならRubyのプログラムをUbuntuからコピーしてきて、BashをUbuntuにコピーすると動く。「これはすごい」(まつもと氏)。発表時、マイクロソフトは言ったという――「俺たちRuby大好きだから!」。

 これまで開発者たちは、Windowsを使っているとツールセットも何もかも違うのでWindowsのツールセットをがんばって使いましょうとか、仮想化環境の中でLinuxを動かして開発しましょう……などと「まどろっこしいことをしていた」(まつもと氏)。あるいは、Windows PCにLinuxを入れる人もいて、その人はいつまでも変人扱いされたという。しかし、Bashの発表で、これからは追加コストを掛けず、Windowsのツールセットも使え、Linuxのツールセットも使える。移植性の問題も解決するかもしれない。まつもと氏は思った。「俺たち嫌われてなかった……!!」。

 WindowsとLinuxではファイルシステムやパスの仕組みがかなり異なり、まだまだシームレスとは言い難いものの、マイクロソフトは「経営判断」という一番難しい舵を切ったとまつもと氏は評価する。

 マイクロソフトは巨人。だからこそ、まつもと氏などが活動しているオープンソース界に入ってくるときに、特別扱いしろと言いたくなる気持ちは当然だし、言ってもおかしくなかったと思うという。しかし、自らのやり方を押し通すのではなく、すでにあるオープンソースのやり方や文化、スタイルを尊重する形で入ってきた。「オープンソース陣営やUNIX陣営は、マイクロソフトに嫌われていたという印象を強く持っていたが、もしかしたらそのギャップを埋めてくれるんじゃないかと思う。正直、まだ100%信じているわけではない。でも、その最初の1歩は確実に踏み出している」(まつもと氏)。


オープンソースから見たマイクロソフト

 世界最大のプラットフォーマー「マイクロソフト」。そのマイクロソフトが、OSS界の良き隣人となってくれることをまつもと氏は願う。「こういう言い方をすると偉そうだけど、私たちはオープンソースソフトウェア界の一員としてマイクロソフトが入ってくることを、企業としても、個人としても、開発者としても歓迎する」(まつもと氏)。

太田智美

Copyright© 2017 ITmedia, Inc. All Rights Reserved.