netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

68
マイクロソフトのオープンソース戦略 を考える Twitter:@david9142 Blog:テスターですが何か? http://david9142.wordpress.com/

Upload: david9142

Post on 11-Feb-2017

2.880 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

マイクロソフトのオープンソース戦略を考える

Twitter:@david9142

Blog:テスターですが何か?

http://david9142.wordpress.com/

Page 2: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Specification

Page 3: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

クラウディアのダンナ(2.5次元)です

Page 4: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

はじめに

近年、マイクロソフトは「標準」「オープンであること」に傾倒しています。特にASP.NET / Windows Azureではその傾向が顕著です。

具体的なオープン戦略と、その狙いについて考えていきたいと思います。

Page 5: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

注意

• 私はマイクロソフトの社員ではありません。本当の戦略はマイクロソフトからのメッセージを確認して下さい。

• 客観的な事実をもとにプレゼンテーションを作成していますが、一部個人的な意見が含まれています。該当のページの右上に がついています。

私感

Page 6: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Microsoft × Openness

Microsoft Loves Openness / OpenSource

Microsoft Hates Openness / OpenSource

or

Page 7: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

2001年

Page 8: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

“Linux is a Cancer”

http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/

Page 9: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

オープンソースは“破綻”のモデル

http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20010504/9/

Page 10: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

2012年

Page 12: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

オープンソース専門子会社を設立

http://internet.watch.impress.co.jp/docs/news/20120413_526214.html

Page 13: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

「オープン」に対する姿勢の変化

2001年

「オープンソースは破綻のモデル」

“Linux is a cancer”

2012年

オープンソース専門子会社設立

Microsoft Openness

Page 14: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

「オープン」とは

http://satonaoki.wordpress.com/2012/06/07/windows-azure%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Bopenness-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E6%80%A7-%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E3%83%9E%E3%82%A4%E3%83%AB%E3%82%B9%E3%83%88%E3%83%BC/

Windows AzureにおけるOpenness (オープン性) の新しいマイルストーン 「Openness (オープン性) と相互運用性」より

移行容易性 選択肢

標準 移植性

Page 15: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

オープンの象徴

Internet Explorer

※注 個人の主観です

ASP.NET MVC

Windows Azure

C#

Page 16: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Chapter1

Internet Explorer

ASP.NET MVC

Windows Azure

C#

Page 17: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Internet Explorer8

Microsoft、 IE 8のデフォルト・レンダリング実装をW3C標準に変更 http://www.computerworld.jp/topics/577/Microsoft%E3%82%A6%E3%82%A9%E3%83%83%E3%83%81/100109/Microsoft%E3%80%81%20IE%208%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%83%BB%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%9F%E8%A3%85%E3%82%92W3C%E6%A8%99%E6%BA%96%E3%81%AB%E5%A4%89%E6%9B%B4

Page 19: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Chapter2

Internet Explorer

ASP.NET MVC

Windows Azure

C#

Page 20: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ASP.NET MVC

OpenSource

jQuery

Git

Web Platform Installer Nuget

Page 21: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

OpenSource from MVC2 preview

ASP.NET MVC Source Code Now Available http://weblogs.asp.net/scottgu/archive/2008/03/21/asp-net-mvc-source-code-now-available.aspx

後述するChannel9の動画でScott Hanselmanが「ASP.NET MVCはVer.1から オープンソース」と発言していましたが、ソースを見つけられませんでした。

Page 22: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ASP.NET MVC3

Now Available at CodePlex

http://aspnet.codeplex.com/releases/view/58781

Page 23: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Controller.cs !!

http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/df47d044190b#src%2fSystem.Web.Mvc%2fController.cs

Page 24: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ASP.NET MVC4 RC (ASP.NET MVC / Web API / Web Pages)

Now Available at CodePlex/GitHub

http://aspnetwebstack.codeplex.com/

https://github.com/ASP-NET-MVC/aspnetwebstack ※GitHubはCodePlexのミラーのようです

Page 25: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Apache License 2.0

http://aspnetwebstack.codeplex.com/license

Page 26: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Git / PullRequest

http://aspnetwebstack.codeplex.com/SourceControl/list/changesets

Fork/PullRequest 可能

TFSではなくGit

Page 27: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Attention!

×

ASP.NET MVC is now open source with contributions

ASP.NET is now open source with contributions

Page 28: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ココ

.NET Framework

ASP.NET Core

ASP.NET WebForm

ASP.NET MVC

Web API

Web Pages

Page 31: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Why OpenSource? 私感

疎結合

注目

迅速

フィードバック

ASP.NET Core/.NET Frameworkを公開しなくても、ASP.NET MVCを公開可能 (WebFormを公開しようとするとまるごと公開しないといけない?)

MVCという一般的なデザインパターンのフレームワークを公開することで、.NET以外の開発者に注目してもらう (そもそも.NET開発者も知らないんだけど…)

バグフィックス、新機能提供を迅速に CodePlex/GitHubだけでなく、Nugetによる配布も

ソースを公開することでソースコードでフィードバックを得ることができる

Page 32: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ASP.NET MVC includes OSS

jQuery jQuery UI

jQuery Validate

jQuery Mobile

JSON.NET

Entity Framework

Page 33: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Collaboration with jQuery

http://blog.jquery.com/2010/03/16/microsoft-to-expand-its-collaboration-with-the-jquery-community/

Page 34: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

WebPlatform Installer

• Web開発に必要なコンポーネントを簡単にインストール – Visual Web Developer

– IIS Express

– SQL Server Express

– Azure SDK etc

• 各種Webアプリケーションをインストール – 多くのアプリはオープンソースで公開されている

http://www.microsoft.com/web/downloads/platform.aspx

Page 35: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Nuget Visual Studioから利用可能なパッケージマネージャー • jQuery, EntityFrameworkなどのアップデート

• アセンブリ、JavaScriptライブラリのインストール

• 多くのOSSが登録され、インストール可能

• Nuget自体もCodePlexで公開

• プロジェクトテンプレートの追加/アップデート

http://nuget.codeplex.com/ http://nuget.org/

Page 36: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Chapter3

Internet Explorer

ASP.NET MVC

Windows Azure

C#

Page 37: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Windows Azure

Windows Azure SDK is open source with contribution

Linux runs on Windows Azure

Many OSS runs on Windows Azure

InstallManiacs

Azure Portal migrates Silverlight to HTML5

Page 39: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Deploy from MacOS

MacOS上のbashからNode.jsアプリケーションをGit経由でWindowsAzureへデプロイ 「Meet Windows Azure」というイベントでデモ http://www.meetwindowsazure.com/Conversations#ScottGuthrieMeet 32:00ごろ

Page 40: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

これ、マイクロソフトのイベントなんだぜ…

Page 41: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Azure SDK is open source For .NET

https://github.com/windowsazure/azure-sdk-for-php

For Node.js

For Java For PHP

https://github.com/WindowsAzure/azure-sdk-for-net https://github.com/WindowsAzure/azure-sdk-for-node

https://github.com/WindowsAzure/azure-sdk-for-java

Page 42: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Windows Azure SDK on GitHub

Not on CodePlex, but on GitHub

Not TFS, but Git for SourceControl

Enable Fork and PullRequest

Page 43: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Attention!

×

Windows Azure SDK is now open source with

contributions

Windows Azure is now open source with

contributions

Page 44: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Windows Azure Virtual Machines

WindowsAzureのIaaSサービス、仮想マシンが動作 (Preview)

Windows Server 2008 R2

With SQL Server 2012

Windows Server 2008 R2

Windows Server 2012 RC

Cent OS 6.2 SUSE Linux

Enterprise Server Ubuntu Server 12

openSUSE 12

Page 45: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

そりゃ、Hyper-V上でLinuxが動くけど…

Page 46: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

OSS runs on Azure(1) Web Site • ポータルからパッケージアプリケーションを直接デプロイしてサイトを作成 • Visual StudioからのWeb配置もサポート

Page 48: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Azure Management Portal

SilverlightベースからHTML5ベースへ

→ iPhone/iPad, Androidからも操作可能

Page 50: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Hadoop on Azure

Daytona… Windows Azure HPC Scheduler … ボソッ

https://www.hadooponazure.com/

Page 51: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

InstallManiacs5

Azure上にどれだけ多くのアプリケーションをインストールできるかを競う大会

インストールマニアックス5 決勝大会レポート(1) http://thinkit.co.jp/story/2011/11/25/2404

Page 52: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン

もはやオープン厨

Page 53: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Why is Azure so “Open”? 私感

Windows Azure is a Platform

Amazon Web Service >>>(越えられない壁) >>>

Windows Azure

“Era of cloud computing” is coming. However, not equals

“The end of generation of Windows / .NET”

Page 54: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

黒幕

Scott Guthrie CVP(Corporate Vice President), Windows Azure Platform

http://weblogs.asp.net/scottgu/

ASP.NET, Windows Azureのボス

2011年5月からAzure Plarformを担当

私感

Page 55: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Chapter4

Internet Explorer

ASP.NET MVC

Windows Azure

C#

Page 56: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

C#

Wikipedia(http://ja.wikipedia.org/wiki/C_Sharp)の「実装」より

「C#の言語仕様は標準化団体Ecma Internationalを通じて公開・標準化されており、第三者がマイクロソフトとは無関係に実装することができる。」

• C#言語仕様(MSDN)

• ECMA-334 C# Language Specification

• Microsoft Shared Source Common Language Infrastructure 2.0 Release(共通言語基盤 (CLI) とC#コンパイラのソースコード)

• Visual Studio 2010 インストール ディレクトリの VC#¥Specifications¥1041¥ ディレクトリにC#の言語仕様がある

Page 57: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Mono Project

Xamarin社(元はNovel)によるC#実装

Mono

Mono for iOS

Mono for Android

Windows

Linux

MaxOS

iOS Android

PlayStation Suite SDK

PS Vita

Xperia

Page 59: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Conclusion-1

かつて(黒歴史) 現在

“Linux is a cancer” (・∀・)ニヤニヤ

「オープンソースは 破綻のモデル」

(キリッ

ASP.NET MVC / Azure SDK is now open source with

contributions

Linux runs on Azure

ASP.NET MVC contains jQuery

競合製品を開発 自社製品に取り込む

Page 60: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Conclusion-2

こんなにオープンにして問題ないの?

→何もかもオープンにすればいいとは考えていないはず(たぶん)

• コア技術は自社開発(Windows / .NET Framework)

• オープンソース化してもロードマップは譲らない

• 置き換え可能な部分にOSSを適用

Windows API

.NET Framework

ASP.NET Core

ASP.NET MVC WebPages WebAPI

jQuery

Azure HostOS(Windows Server)

Hyper-V

AzureOS VM

.NET/Java/php OSS

.NET/ASP.NET MVC Windows Azure

Page 61: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

真面目な話は終わり

ココからは妄想

Page 62: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

次のターゲットは? 私感

WPF

WinMD

Windows Live Essentials

SkyDrive Client

Windows Media Player

Silverlight

Page 63: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

こんな未来も 私感

TFS / TeamExplorer 2016 Supports Git

Windows Azure SDK for Ruby on Rails

SQL Server 2016 Business Intelligence includes Apache Hadoop

SharePoint Server 2020 / Dynamics AX 2020 supports MySQL

Page 64: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

オープンソース化したら? 私感

Windows 95

Internet Explorer 4 Outlook Express 4

Office 95

無理でしょうが…

Page 65: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

オープンは正義? 私感

iOS iTunes

iPod iPhone

iPad MacBook Air MacBook Pro

iPhone ( ゜д゜)ホスィ… ← 自分、docomoユーザーっす MacBook Pro ( ゜д゜)ホスィ… ← 1年半前にThinkPad買ったばかり

Page 66: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

以上です。

こんな内容にお付き合いいただき

ありがとうございました

Page 67: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Appendix(1)

ビル・ゲイツ:オープンソース・ソフトを変えた男(その1)

http://wired.jp/2012/02/08/meet-bill-gates/

Windows AzureにおけるOpenness (オープン性) の新しいマイルストーン

http://satonaoki.wordpress.com/2012/06/07/windows-azure%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Bopenness-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E6%80%A7-%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E3%83%9E%E3%82%A4%E3%83%AB%E3%82%B9%E3%83%88%E3%83%BC/

マイクロソフトのエバンジェリストが語るAzureとオープンソースとの親和性

http://enterprisezine.jp/article/detail/3840

エバンジェリスト武田正樹氏に聞く,マイクロソフトとオープンソースの関係

http://gihyo.jp/dev/column/01/prog/2010/0928

Page 68: Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える

Appendix(2)

Announcing one more way Microsoft will engage with the open source and standards communities

http://blogs.msdn.com/b/interoperability/archive/2012/04/12/announcing-one-more-way-microsoft-will-engage-with-the-open-source-and-standards-communities.aspx

オープン ソース、オープンな標準にマイクロソフトはどう取り組んでいるかhttp://msdn.microsoft.com/ja-jp/hh757621.aspx

Interoperability Bridges and Labs Center

http://www.interoperabilitybridges.com/

マイクロソフトがAzure上でLinuxの提供を開始した意味

http://japan.zdnet.com/os/sp/35018392/?ref=rss

Microsoft Announces SQL Server ODBC Driver for Linux!

http://blogs.msdn.com/b/brian_swan/archive/2011/10/13/microsoft-announces-sql-server-odbc-driver-for-linux.aspx