netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
TRANSCRIPT
マイクロソフトのオープンソース戦略を考える
Twitter:@david9142
Blog:テスターですが何か?
http://david9142.wordpress.com/
Specification
クラウディアのダンナ(2.5次元)です
はじめに
近年、マイクロソフトは「標準」「オープンであること」に傾倒しています。特にASP.NET / Windows Azureではその傾向が顕著です。
具体的なオープン戦略と、その狙いについて考えていきたいと思います。
注意
• 私はマイクロソフトの社員ではありません。本当の戦略はマイクロソフトからのメッセージを確認して下さい。
• 客観的な事実をもとにプレゼンテーションを作成していますが、一部個人的な意見が含まれています。該当のページの右上に がついています。
私感
Microsoft × Openness
Microsoft Loves Openness / OpenSource
Microsoft Hates Openness / OpenSource
or
2001年
“Linux is a Cancer”
http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/
オープンソースは“破綻”のモデル
http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20010504/9/
2012年
Microsoft Openness
http://www.microsoft.com/en-us/openness/#home
オープンソース専門子会社を設立
http://internet.watch.impress.co.jp/docs/news/20120413_526214.html
「オープン」に対する姿勢の変化
2001年
「オープンソースは破綻のモデル」
“Linux is a cancer”
2012年
オープンソース専門子会社設立
Microsoft 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/
Windows AzureにおけるOpenness (オープン性) の新しいマイルストーン 「Openness (オープン性) と相互運用性」より
移行容易性 選択肢
標準 移植性
オープンの象徴
Internet Explorer
※注 個人の主観です
ASP.NET MVC
Windows Azure
C#
Chapter1
Internet Explorer
ASP.NET MVC
Windows Azure
C#
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
Internet Explorer10
WDD2012 Internet Explorer 10 の概要 http://channel9.msdn.com/Events/Windows-Developer-Days/Windows-Developer-Days-2012/PL-003
Chapter2
Internet Explorer
ASP.NET MVC
Windows Azure
C#
ASP.NET MVC
OpenSource
jQuery
Git
Web Platform Installer Nuget
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から オープンソース」と発言していましたが、ソースを見つけられませんでした。
ASP.NET MVC3
Now Available at CodePlex
http://aspnet.codeplex.com/releases/view/58781
Controller.cs !!
http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/df47d044190b#src%2fSystem.Web.Mvc%2fController.cs
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のミラーのようです
Apache License 2.0
http://aspnetwebstack.codeplex.com/license
Git / PullRequest
http://aspnetwebstack.codeplex.com/SourceControl/list/changesets
Fork/PullRequest 可能
TFSではなくGit
Attention!
○
×
ASP.NET MVC is now open source with contributions
ASP.NET is now open source with contributions
ココ
.NET Framework
ASP.NET Core
ASP.NET WebForm
ASP.NET MVC
Web API
Web Pages
Details
THE TRUTH IS OUT THERE
ASP.NET MVC / Web API / Web Pages がオープンソースへ
ScottGu’s Blog: ASP.NET MVC, Web API, Razor and Open Source
Scott Hanselman’s Blog: ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions
Channel9
ASP.NET Open Sourcing Discussion with Scott Hanselman http://channel9.msdn.com/Shows/Web+Camps+TV/ASPNET-Open-Sourcing-Discussion-with-Scott-Hanselman
Why OpenSource? 私感
疎結合
注目
迅速
フィードバック
ASP.NET Core/.NET Frameworkを公開しなくても、ASP.NET MVCを公開可能 (WebFormを公開しようとするとまるごと公開しないといけない?)
MVCという一般的なデザインパターンのフレームワークを公開することで、.NET以外の開発者に注目してもらう (そもそも.NET開発者も知らないんだけど…)
バグフィックス、新機能提供を迅速に CodePlex/GitHubだけでなく、Nugetによる配布も
ソースを公開することでソースコードでフィードバックを得ることができる
ASP.NET MVC includes OSS
jQuery jQuery UI
jQuery Validate
jQuery Mobile
JSON.NET
Entity Framework
Collaboration with jQuery
http://blog.jquery.com/2010/03/16/microsoft-to-expand-its-collaboration-with-the-jquery-community/
WebPlatform Installer
• Web開発に必要なコンポーネントを簡単にインストール – Visual Web Developer
– IIS Express
– SQL Server Express
– Azure SDK etc
• 各種Webアプリケーションをインストール – 多くのアプリはオープンソースで公開されている
http://www.microsoft.com/web/downloads/platform.aspx
Nuget Visual Studioから利用可能なパッケージマネージャー • jQuery, EntityFrameworkなどのアップデート
• アセンブリ、JavaScriptライブラリのインストール
• 多くのOSSが登録され、インストール可能
• Nuget自体もCodePlexで公開
• プロジェクトテンプレートの追加/アップデート
http://nuget.codeplex.com/ http://nuget.org/
Chapter3
Internet Explorer
ASP.NET MVC
Windows Azure
C#
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
Windows Azure SDK
.net node.js php java python
https://www.windowsazure.com/en-us/develop/downloads/ https://www.windowsazure.com/ja-jp/develop/downloads/
Mac Linux Windows
多くの選択肢を提供
Deploy from MacOS
MacOS上のbashからNode.jsアプリケーションをGit経由でWindowsAzureへデプロイ 「Meet Windows Azure」というイベントでデモ http://www.meetwindowsazure.com/Conversations#ScottGuthrieMeet 32:00ごろ
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
これ、マイクロソフトのイベントなんだぜ…
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
Windows Azure SDK on GitHub
Not on CodePlex, but on GitHub
Not TFS, but Git for SourceControl
Enable Fork and PullRequest
Attention!
○
×
Windows Azure SDK is now open source with
contributions
Windows Azure is now open source with
contributions
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
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
そりゃ、Hyper-V上でLinuxが動くけど…
OSS runs on Azure(1) Web Site • ポータルからパッケージアプリケーションを直接デプロイしてサイトを作成 • Visual StudioからのWeb配置もサポート
OSS runs on Azure(2)
Openness Update for Windows Azure http://blogs.technet.com/b/port25/archive/2011/12/12/openness-update-for-windows-azure.aspx
Node.js MongoDB Hadoop
Solr Memcached Redis
Rails (NougakuDo Companion)
etc
Azure Management Portal
SilverlightベースからHTML5ベースへ
→ iPhone/iPad, Androidからも操作可能
Node.js on Azure Windowsに対応する予定のなかったOSSを、マイクロソフトが開発に協力し、Windows/Azure対応した事例
WDD2012 Node.js を利用した Web アプリケーション開発 http://channel9.msdn.com/Events/Windows-Developer-Days/Windows-Developer-Days-2012/SP-018
Hadoop on Azure
Daytona… Windows Azure HPC Scheduler … ボソッ
https://www.hadooponazure.com/
InstallManiacs5
Azure上にどれだけ多くのアプリケーションをインストールできるかを競う大会
インストールマニアックス5 決勝大会レポート(1) http://thinkit.co.jp/story/2011/11/25/2404
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
ポポポポポ( ゚д゚)゚д゚)゚д゚)゚д゚)゚д゚)ポカーン
もはやオープン厨
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”
黒幕
Scott Guthrie CVP(Corporate Vice President), Windows Azure Platform
http://weblogs.asp.net/scottgu/
ASP.NET, Windows Azureのボス
2011年5月からAzure Plarformを担当
私感
Chapter4
Internet Explorer
ASP.NET MVC
Windows Azure
C#
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#の言語仕様がある
Mono Project
Xamarin社(元はNovel)によるC#実装
Mono
Mono for iOS
Mono for Android
Windows
Linux
MaxOS
iOS Android
PlayStation Suite SDK
PS Vita
Xperia
Xobot
AndroidをC#に移植したリサーチプロジェクト
http://atsushieno.hatenablog.com/entry/20120502/p1
http://blog.xamarin.com/2012/05/01/android-in-c-sharp/
XobotOS
https://github.com/xamarin/XobotOS
C#に書き換えたら7倍速くなっちゃった (・ω<)
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
競合製品を開発 自社製品に取り込む
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
真面目な話は終わり
ココからは妄想
次のターゲットは? 私感
WPF
WinMD
Windows Live Essentials
SkyDrive Client
Windows Media Player
Silverlight
こんな未来も 私感
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
オープンソース化したら? 私感
Windows 95
Internet Explorer 4 Outlook Express 4
Office 95
無理でしょうが…
オープンは正義? 私感
iOS iTunes
iPod iPhone
iPad MacBook Air MacBook Pro
iPhone ( ゜д゜)ホスィ… ← 自分、docomoユーザーっす MacBook Pro ( ゜д゜)ホスィ… ← 1年半前にThinkPad買ったばかり
以上です。
こんな内容にお付き合いいただき
ありがとうございました
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
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