Microsoftの前最高経営責任者(CEO)のSteve Ballmer氏はLinuxを「癌」と表現したかもしれないが、近年の同社はオープンソースを試すことに前向きな姿勢を見せている。
新CEOのSatya Nadella氏の「MicrosoftはLinuxのことが大好きだ」という主張を完全に信じるのは難しいかもしれないが、同社は「.NET」開発フレームワークの大部分をオープンソース化して、オープンソースのウェブプログラミング言語「TypeScript」を公開したほか、長きにわたって同社に利益をもたらしているプロプライエタリな「Windows」を動かすコードを、将来的にオープンソース化する可能性までほのめかした。
「MicrosoftはLinuxのことが大好きだ」と発言したNadella氏
提供:Microsoft
オープン性に対するこうした限定的な譲歩は、戦略的な動きである。Microsoftの有料のソフトウェアやサービスにつながるテクノロジのユーザー数を増やそうとする試みだ。
Microsoftのテクニカルフェローで「Microsoft Azure」担当最高技術責任者(CTO)のMark Russinovich氏は先頃開催されたChefConfイベントで、.NETを開放したことは「人々がそのほかのMicrosoftソリューションも採用する」きっかけになっていると述べ、「.NETを開放することで、ユーザーは、当社のほかの製品を利用してみようという気持ちになる。オープンソース化しなければ、そうはならないかもしれない」と結論づけた。
オープンなテクノロジをライバルに対抗する武器として活用することを検討しているのは、Microsoftだけではない。CSCのLeading Edge Forumがまとめた研究報告書「Beware of Geeks Bearing Gifts」によると、競合他社より先を行くために、こうしたアプローチを採用する企業が増えているという。
オープンソースへの進出から既に成果を得ている、とMicrosoftは公言する。Microsoftのマネージドランゲージチームでプログラムマネージャーを務めるKasey Uhlenhuth氏が先日執筆したブログ記事によると、Microsoftが2014年に.NETコンパイラプラットフォーム「Roslyn」のソースコードを公開して以来、このソースコードに貢献する開発者が急増しているという。
Roslynは、プログラミング言語の「C#」と「Visual Basic」(VB)のオープンソースコンパイラとコード分析APIのセットを提供する。Roslynのソースコードは「Apache 2.0」ライセンスの下、GitHubで公開されている。
Roslynの究極の狙いは、.NETをより魅力的なソフトウェア構築フレームワークにすることだ。Microsoftによると、Roslynのコード分析をAPI経由で公開することで、サードパーティーがC#やVBでのコーディングを簡素化するツールやアプリケーションを開発する「ハードルが下がった」という。MicrosoftがRoslynを改善すればするほど、Windowsと密接に関連する.NETフレームワーク向けにアプリケーションを開発したいと思う開発者が増えるはずだ。
Roslynのコードのオープンソース化以来、同プラットフォームにコードを提供し、さまざまな問題を報告する開発者が顕著に増加している。
「自分たちのチームが可能な限りオープンに作業を行い、コミュニティーと同じ貢献モデルを使用するワークフローに移行したことで、われわれは自分たちのコミュニティーエンゲージメントを3分の1の期間でほぼ2倍に拡大することができた」(Uhlenhuth氏)
Roslynコミュニティーのユーザー数の増加
提供:Microsoft
Microsoftはこうした成長の要因として、同社がRoslynを「完全なオープンソース」と評するプロジェクトとして運用するようになったことを挙げた。
Uhlenhuth氏は、「われわれは開発と作業の全体をオープンに行う『完全なオープンソース』モデルを採用した」と述べた。
「バグや設計に関するメモをGitHubの問題追跡システムに提出し、自分たちのコード変更のすべてをプルリクエストとして提出する。GitHubのコードレビューシステムを独自に利用し、『Markdown』を使って、複数の問題を関連づけたり、コードについて連絡したりする。さらに、プルリクエストに関して何を受け入れるのか、プルリクエストをマージするためにどのようなサインオフが必要なのか、どのようなスタイルガイドを推奨するのか、プルリクエストのクローズに許容される期間はどれくらいか(参考までに紹介しておくと、約10日)、ということについて、われわれはより明確な考えを確立することができた」(Uhlenhuth氏)
Uhlenhuth氏は、このオープンソースシステムはもっと洗練されるべきだと認めているが、「Roslynを使用するコミュニティーのプロジェクトの量と質に基づいて考えると、自分たちのプラットフォームをオープンソース化した動きが正しかったことは明白だ」とも話している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。