変更は認めない方針

MS、.NETのソースコードを公開へ

2007/10/05

 マイクロソフトは自社のコードを見せる意思はあるものの、それを誰にも触らせたくないようだ。

 ワシントン州レドモンドを本社とするマイクロソフトの開発部門でMicrosoft .NET Frameworkを担当するゼネラルマネジャー、スコット・ガスリー氏によると、同社はユーザーと開発者のフィードバックに基づき、.NET FrameworkのリファレンスソースコードをMicrosoft Reference Licenseの下で公開する方針だという。同フレームワークのソースコードの仕組みに関する理解を深める機会を開発者に与えることが目的だ。

 Microsoft Reference Licenseでは、ソースコードを見ることができるが、修正および再配布は認められていない、とガスリー氏は話す。ライセンス条項を受け入れるのであれば誰でも、ソースコードをダウンロードして見ることができる。また、マイクロソフトは10月3日、開発者が自分のアプリケーションのソースコードだけでなく、.NET FrameworkのソースコードもVisual Studio 2008を使ってデバッグできる機能をVisual Studio 2008に追加した。

 .NET Frameworkのリファレンスソースコードのリリースは、マイクロソフトのShared Source Initiativeの一環となるもの。同構想は広範なソースコードの提供を目的としたもので、ソースコードの共有をめぐる同社のほかの取り組みを補完する。

 「C#やVB(Visual Basic)を使っている開発者は、コードにブレークポイントを設定してライブラリ関数を呼び出すことにより、われわれのソースコードを見ることができる」とガスリー氏は米eWEEKに語っている。「ソースコードにアクセスできるのも良いが、デバッガとの連携は実に素晴らしい。手作業で何も設定する必要がなくなる」。

 同氏によると、ソースコードを公開するという方針は、透明性の向上に向けたマイクロソフトの取り組みの一環だという。

 「これは以前から進めてきた取り組みであり、ASP.NET、AJAX(Asynchronous Javascript and XML)、Dynamic Runtime Libraryフレームワークのソースコードを公開したのと同じだ。これらは異なる方法でソースを公開した。最終的には、すべてのライブラリを公開するのが目標だ」(同氏)

 ニューヨークにあるコンサルティング/サービス会社、Twenty-Six New Yorkで新技術担当責任者を務めるアンドリュー・ブラスト氏によると、マイクロソフトの動きは「非常に大胆かつ非常に賢明だ」という。

 「これは開発者を支援し、彼らにさらなる安心感を与えるだろう」とブラスト氏は話す。「ベースにあるフレームワークコードが何をしているのかが分かれば、開発者は効率的にデバッグができる。ベースにあるコードの動作が分かれば、開発者は気持ち良く開発できる。開発者は誰でも、見えないところで何が起きているのか知りたいものだ。これは懐疑論者の心理だ。百聞は一見にしかずであり、開発者にコードを開示するのというのは、敬意の意思表示としても素晴らしい」。

 さらに同氏は、「マイクロソフトはこの動きにより、オープンソースやLAMP(Linux、Apache、MySQL、 Perl/Python/PHP)コミュニティからの批判や、コードベースを強化するにはピアレビューが必要だとする彼らの主張を、ある程度かわすことができるだろう。マイクロソフトのReference Licenseではコードの変更が認められていないが、開発者はコードの品質を簡単に確認できるようになる。品質上の欠点も把握することができ、この抑止効果は.NETの信頼性の向上につながる」と語る。

 ガスリー氏によると、マイクロソフトは年内に、.NET 3.5およびVisual Studio 2008リリースでソースコードのダウンロードとブラウズを行う機能を提供するという。

 ガスリー氏はブログ記事の中で、「マイクロソフトは.NET Base Class Libraries(System、System.IO、System.Collections、System.Configuration、 System.Threading、System.NET、System.Security、System.Runtime、System.Textなど)、ADO.Net(System.Data)、ASP.NET(System.Web)、Windows Forms(System.Windows.Forms)、WPF(System.Windows)のソースコード(ソースファイルのコメントを含む)からコード提供を開始する。来年には、さらに多くのパッケージを追加する予定だ」と述べている。

 さらに同氏は、「.NET Framework Libraryのソースライブラリは、スタンドアロンインストール方式でダウンロードできるようにするつもりだ(これにより、任意のテキストエディタを使ってコードをローカルでブラウズできる)。また、.NET Frameworkライブラリの統合デバッグ機能のサポートをVS(Visual Studio)2008に含める予定だ」と記している。

 ガスリー氏は要約の中で、「ソースコードへのアクセスならびに.NET Frameworkライブラリのデバッガ統合は、.NET開発者に大きな価値を提供するだろう。ソースコードを1ステップずつ調べることができれば、. NET Frameworkライブラリがどんなふうに実装されているかがよく理解できる。その結果、開発者はライブラリをうまく活用して優れたアプリケーションを開発できるようになる」と述べている。

 ブラスト氏は、「ソースコードへのアクセスは、開発者にとって非常に良い教材になるだろう。マイクロソフトが.NET Frameworkのコードをどのように記述しているかが分かれば、開発者はそれに調和するようにコードを書くことができる。マイクロソフトのテクニックを学ぶこともできる」と話している。

原文へのリンク

(eWEEK Darryl K. Taft)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)