BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NETのOSSについてPhil Haackが語る

.NETのOSSについてPhil Haackが語る

原文(投稿日:2016/03/02)へのリンク

.NETのオープンソースに関して、懸念を表明したメンバーやコントリビューターがいることは先週報じた通りだ(訳注:原文の記事は2016/02/24に公開)。現状についてより深い洞察を得るため、InfoQは前・Microsoftのプログラムマネージャーで現在はGitHubのエンジニアリングマネージャーであるPhil Haackと連絡を取った。 PhilはQConの“オープンソース化された.NETの超絶的な力”というセッションのトラックホストを務めてもいる。

 

Philは.NETのOSSに関する現在の変革について説明を始めた。

.NETのOSSコミュニティに関する多くの不満は、他のOSSコミュニティと比べると、.NETのOSSコミュニティがまだ若いという事実によるものだと思う。多くのことがよくなってきているし、改善は続いているとは言え、コミュニティにはまだ活発さが足りなくて、それは乗り越えるべきことだ。Microsoftのような規模の企業にとっては、この変革速度は実際大したものなんだけれど、変革の効果というのは常に遅れて表れるものだ。つまり、多くの人はIE6と、IE6がWeb標準をめちゃくちゃにしたことについてまだ怒っているんだ、15年も前のことだというのにね!

伝統的に、Microsoftはあらゆる分野に自社の独自製品を持たなければならなかった。一部については、それは顧客が望んたことでもあった。古い格言「IBM製品を買っておけばクビにはされない」はMicrosoftにも同じように当てはまる。

しかし、OSSこそが未来であると気付き始めたことによって、近年それは変わってしまった。たとえば、Microsoftは独自のDVCS(分散バージョン管理システム)を開発しようと投資したが、ふっと正気を取り戻して全面的にGitを採用するようになった。同様に、分散キャッシュについても自社製品を持っていたけれど、その後Redisに移行した。現在はOpenSSHに貢献もしている。この件に関しては、MicrosoftはOSSを採用し始めただけでなく、貢献までするようになったんだ。

MSは自分たちのコードをどんどんオープンソース化するようにもなっている。証拠として、MSBuildや、ASP.NET Coreや、.NET Coreなどなどは全部オープンソースになっていて、GitHub上にある。でもこの大転換による影響が実際によい結果をもたらすようになるには時間がかかりそうだ。まさに今は、ほんとうに革新的な.NETプロジェクトには大成功するチャンスがある。もしそんなプロジェクトが.NET界隈で標準的になり、そしてそのような製品をMicrosoftがまだ持っていなくて、でも必要性があると認めたなら、Microsoftが出資することだってあり得る。

オープンソースプロジェクトのスポンサー問題は、幾人もの.NETコントリビューターから挙がっている重要な関心事の一つである。彼らの主張によれば、オープンソースプロジェクトを大規模に採用している企業もあるが、そういった企業はプロジェクトへ貢献を戻してこないとのことだ。Philは次のように答えた。

企業がOSSプロジェクトに貢献を返してこないと声高に言うことにも問題がある。どうやって測ったというんだ?この件が真実かどうかを示すようなデータはだれも示せていない。私の勘では、どこのOSSコミュニティでもこの件は問題なんだ。OpenSSLのすべてのセキュリティ脆弱性や、このプロジェクトの資金難や、しかし至る所で利用されていることを見てもわかるようにね。

この件はさらなる研究調査が必要だ。私が思うに、OSSプロジェクトを使っているユーザーの数と、そのプロジェクトに貢献している企業の数との間には平均的な割合と言うものがあるはずだ。たとえば、あるOSSライブラリーのユーザー100万人に対して、企業スポンサーが1社ある、という具合に。.NETのコミュニティはまだ小さいと仮定すれば、企業スポンサーを持てる.NETのOSSプロジェクトは非常に少ないってことにならないだろうか。

思うにこの件はオープンソース界のどこでも見られる課題であって、.NETに限った話じゃないし、私はそれを改善していきたいと思っている。企業に対して、使っているソフトウェアに貢献を戻すことが企業に利益をもたらすと分かってもらえるようにしていかなければならないんじゃないかな。OSSへの貢献は、“上げ潮はすべての船を持ち上げる”だけでなく、頼りになるエンジニアを育成する素晴らしい手段でもある。そういったプロジェクトに貢献することは、日々の業務よりも挑戦し甲斐があることも多いからね。士気を大いに高めることにもなるし、よい宣伝にもなる。私たちはオープンソースコミュニティの一員として、企業にメリットを伝え、どうすればうまく貢献を戻していけるかを教えていく必要がある。

現在ではMicrosoftは自社で作られていない技術も受け入れるようになり、外部のプロジェクトにも道を開いてはいるが、それでも.NETのオープンソースにおいてMicrosoftが鍵となる役目を果たしていることは変わらない。Philは、Microsoftのビジネス戦略と.NETのオープンソースとのつながりをこう語った。

Microsoftの長期的な動きを見ておくことが重要だと思う。MSのWindowsビジネスとOfficeビジネスは順調だけど、さらに多くの人がオープンソースやWebやモバイルを受け入れるようになるにつれ、Microsoftを支えていたそれらのビジネスの力は将来的には減少していくだろう。アプリケーションやライブラリーやフレームワークを販売することで金を稼ぐという能力も同じ道をたどるだろう。Microsoftの将来のビジネスはAzureとその関連サービスになると思うし、そうなればOSSを扱うことによる痛みは小さいものになる。Microsoftにしてみれば、何を使って開発してようが関係ない。Azureで動かしてくれるのならね!

OSSの受け入れが(サティア・ナデラから)トップダウンで進んでいるように見えるのはそれが理由だ。広報の人気取りではない。広報ではあれだけの予算、時間、インフラを賄えないだろう。このような大転換の波が、平均的な.NETのOSSプロジェクトという岸まで届くのには一定の時間がかかるだろうけど、それはきっとやってくる。

例を挙げれば、GitHubにホストされているリポジトリの中で、C#の数は平均以上だし、GitHub上で最も速く拡大している言語のひとつなんだ。私たちが見たのは、Windowsを主要なOSとして使っている新規ユーザーたちの中でのピックアップだ。.NETのオープンソースは、GitHub上では停滞していないのは確実で、むしろ急速に成長している。私がメンテナになっているプロジェクトのひとつにOctokit.Netがある。これはGitHub APIのクライアントライブラリーだ。割と小さくて無名なプロジェクトではあるけれど、最近はアクティブな貢献者が多くなった。間違いなく軌道に乗っている。

Philは次のように結論付けた。

そう、確かに.NETのオープンソースは他のいくつかのコミュニティほど大きくも、力強くも、うまく回ってもいない。でもほとんどの人が思っているよりも近いところまで来ているし、活発に成長を続けている。将来のための大きな努力としては、プロジェクトに貢献を戻すように企業を導くことがあると思うけれど、それは.NETだけの問題と言うよりは、一回り大きなOSSの問題だ。

この記事に星をつける

おすすめ度
スタイル

BT