shutterstock_databases
Pocket

オープンソースに明るくない人々にとっては、オラクルのMySQL運用にまつわる騒動はあまりピンと来ないかもしれない。オラクルが2010年にサン・マイクロシステムズを買収した際、オープンソースの技術者たち(私もその一人だ)は、オラクルがMySQLを台無しにするのではないかと危惧した。オラクルが開発への投資を縮小したり、技術をクローズド化するような事態を想定したのである。しかしそんなことは起こらなかった。実際にはオラクルの管理の下、MySQLのパフォーマンスは劇的に改善され、コードの大部分もオープンのまま残されている。

それでもなお、オープンソースのコミュニティには未だにオラクルのMySQL運用をバッシングする人たちがいる。ちょっとオラクルが気の毒になるほどだ。

崩壊の危機にさらされたMySQLコミュニティー

確かにオラクルはコミュニティに対してあまり友好的ではなかった。そして、同社に何十億ドルもの儲けを四半期毎に与えているユーザーたちも決してオラクルを愛しているとは言えない。

従って、オラクルがサン・マイクロシステムズを買収(MySQLはサン・マイクロシステムズの事業だった)して以降、MySQLの管理についてユーザーに叩かれ続けてきたのもそれほど意外な話ではない。実際、ユーザーが危惧した問題は杞憂に終わったものもあったが、いくつかは実現してしまったのだ。例えば2012年にはMySQLのソースコードから突然テスト・ケースが姿を消してしまった。テスト・ケースは開発者にとってバグが解決したことを確認する手段であり、オープンソース・プロジェクトの要とも言える。テスト・ケース無くしては、エンドユーザーも開発者も手探り状態で作業するしかなくなってしまうのだ。

オラクルが意図的にテスト・ケースを廃止したことが明らかになると、世間はこのやり方を糾弾した。なかでも競合サービスであるMariaDBのセルゲイ・ゴルブチックは、自分たちのプラットフォームの方がコミュニティーに対して誠実で友好的だと公言し、オラクルを次のように批判している。

(オラクルの行為は)MySQLの開発者コミュニティーを意図的に抹殺しようとするものだ。テスト・ケースがなければ外部の開発者にとっては、クローズド・ソースなソフトウェアと同じくらい不透明なものになってしまう。コードに対する相当な経験と知識を持っている人でなければ、MySQLを引き続き使っていくことは不可能だろう。

しかし実際のところは・・・?

ふたを開けてみると、事態はもっと複雑だった。テスト・ケースが消えたのは悪意ある策略などではなく、大企業にありがちなお役所仕事のせいだったのである。このことは、オープンソース評論家のサイモン・フィップスが「その筋の」人物への取材で明らかにしている。

2012年のはじめ、MySQLのテスト・ケースを通して同プラットフォームのセキュリティー上の弱点を悪用する方法があるという指摘が某ブログに投稿されました。これに対しオラクルのセキュリティー担当チームは、バグ・フィックスが行われたGAリリース以降はテスト・ケースを公開しないようMySQLの開発チームに要請したのです。

MySQLの開発チームはこれがコミュニティーによる共同開発の妨げになること、オープンソース本来の在り方ではないことを認識していましたが、オラクル社内でコミュニティーの透明性を保つことの重要性を正当化することができなかったのです。さらに、この件を公に説明することすらできませんでした。

フィップスのようなオープンソースの熱烈な支持者がオラクル側に悪意がなかったことを認めたのは、オラクルにとっては非常に大きな支えとなった。それでもMySQLのコミュニティーが不利益を被ったことは紛れもない事実である。

未だ人気は衰えず

しかしオラクルがMySQLの運用に失敗したとしても、同プラットフォームがオープンソース・データベースの中で圧倒的な人気を誇っていることに変わりはない。2014年の中頃にはデータベース・エンジンの人気ランキングにおいて、オラクルが自社開発したデータベースをも追い抜くほどの勢いを見せた。コミュニティーに関する懸念はあれど、MySQLの導入率は決して下がってはいないのだ。

その理由はおそらく性能にあるのだろう。オラクルはMySQLのパフォーマンスと機能を大幅に改善したと、MySQLの元上席副社長であるザック・アーロッカーは主張している。

「オラクルはMySQLでは悪役になっている。MySQLの成熟に貢献したという前向きな意見が聞きたい。cc @mbkumar @martenmickos」
「@mjasay @mbkumar @martenmickos オラクルはThomas UlinやMikael Ronstromらの下で、MySQL 5.6以降の性能を大幅に改善している」

アーロッカーは続けてこう断言している。「これまで不可能とされてきた分野においてパフォーマンスの向上を実現した。」その理由は明らかだろう。オラクルは数十年にわたってリレーショナル・データベースを開発してきた企業であり、豊富な経験を持っているのだ。もしオラクルがMySQLを全く改善できなかったとしたら、それこそ逆に驚きである。

MySQLのパフォーマンスはオラクルの下で飛躍的に向上した

私を含め、オラクルのMySQLに対する姿勢に懐疑的だった人々は考えを改める必要がありそうだ。ただ今のところ、オラクルがMySQLに施したパフォーマンスの向上は、商用版のデータベースに限られている。

mysql_56_benchmarks_threadpool_rw_bmpage

ただし、コミュニティー版のMySQLもかなり改善されてはいるようだ。MySQL5.5から5.6になってからは、読み書きの速度が150%も向上したという。

mysql_56_connections_rw

コミュニティー版はデータが完全でなく、フェースブックのマーク・キャラハンのように、MySQL4.1よりもパフォーマンスが落ちたと言っている人もいる。しかしMySQLの従業員たち(元従業員も含む)は皆、オラクルによって同プラットフォームはMySQLのパフォーマンスは飛躍的に改善されたと口を揃えている。

オラクルでプロダクト・マーケティングのシニアディレクターを務めているモニカ・クマールは次のように述べている。

「@mjasay @mbkumar @martenmickos オラクルはThomas UlinやMikael Ronstromらの下で、MySQL 5.6以降の性能を大幅に改善している」
「@XUrlocker @mjasay @martenmickos 口先より行動!#MySQLの開発チームは過去最高。持続的でタイムリーな進化を遂げている @MySQL」

オラクルは聖人か、それとも悪人か

私の推測では、MySQL開発者の大半はオラクルの貢献に感謝していると思う。同社がコミュニティーの根本的な在り方を変えてしまったことは残念だが、企業のセキュリティーポリシーに関わる問題なだけに理解はできる。MySQLの透明性に関わる問題は、今後絶対に再検討されるべきだ。コミュニティーが多くの情報にアクセスできるようになれば、オラクルの技術的なリーダーシップにも信頼を置くようになるだろうし、MySQLの発展にとって非常に有益なはずである。

MySQLの元CEOであり現在はEucalyptusのCEOを務めているマーテン・ミコス(@martenmickos)は、私に宛てた電子メールのなかで次のように述べた。「オラクルはコミュニティーには関心がないのかもしれないが、GPLライセンスのMySQLを立派に開発・維持できていると思う。」オラクルはおそらく、もう少しコミュニティーに関心を持ったほうが良いだろう。ただ、決してMySQLを意図的に改悪しようとしているわけではないことだけは確かだ。商品に対してもコミュニティーに対しても、オラクルなりに最善は尽くしているのだと私は信じたい。

トップ画像提供:Shutterstock

Pocket