Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
マイクロソフトのオープンソース戦略
       を考える



         Twitter:@david9142
        Blog:テスターですが何か?
  http://david9142.wordpress.com/
Specification
クラウディアのダンナ(2.5次元)です
はじめに
近年、マイクロソフトは「標準」「オープンであること」
に傾倒しています。特にASP.NET / Windows
Azureではその傾向が顕著です。

具体的なオープン戦略と、その狙いについて考えて
いきたいと思います。
注意
• 私はマイクロソフトの社員ではありません。本当の
  戦略はマイクロソフトからのメッセージを確認して
  下さい。
• 客観的な事実をもとにプレゼンテーションを作成
  していますが、一部個人的な意見が含まれてい
  ます。該当のページの右上に 私感 がついて
  います。
Microsoft × Openness

                    Openness /
Microsoft   Loves
                    OpenSource


             or


                    Openness /
Microsoft   Hates
                    OpenSource
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
「オープン」に対する姿勢の変化

          “Linux is a cancer”
2001年
        「オープンソースは破綻のモデル」




         Microsoft Openness
2012年
        オープンソース専門子会社設立
「オープン」とは

         移植性                            標準



     移行容易性                            選択肢

Windows AzureにおけるOpenness (オープン性) の新しいマイルストーン
「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/
オープンの象徴

   Internet
                ASP.NET MVC
   Explorer


  Windows
                    C#
   Azure

※注 個人の主観です
Chapter1

Internet
              ASP.NET MVC
Explorer


Windows
                  C#
 Azure
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%8
7%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%83%BB%E3%83%AC%E
3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%9F%E8%A
3%85%E3%82%92W3C%E6%A8%99%E6%BA%96%E3%81%AB%E5%A4%89%E6%9
B%B4
Internet Explorer10




WDD2012 Internet Explorer 10 の概要
http://channel9.msdn.com/Events/Windows-Developer-Days/Windows-Developer-Days-2012/PL-003
Chapter2

Internet
              ASP.NET MVC
Explorer


Windows
                  C#
 Azure
ASP.NET MVC

                         jQuery

OpenSource
                          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%2fSy
stem.Web.Mvc%2fController.cs
ASP.NET MVC4 RC
   (ASP.NET MVC / Web API / Web Pages)
  Now Available at CodePlex/GitHub




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

http://aspnetwebstack.codeplex.com/
Apache License 2.0




http://aspnetwebstack.codeplex.com/license
Git / PullRequest
                Fork/PullRequest
                      可能




                                    TFSではなくGit




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


○   ASP.NET MVC is now open
    source with contributions




×     ASP.NET is now open
    source with contributions
ココ


ASP.NET   ASP.NET   Web     Web
WebForm    MVC      API    Pages



           ASP.NET Core


          .NET Framework
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 Mobile

    jQuery
  jQuery UI        JSON.NET
jQuery Validate

                      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
              ASP.NET MVC
Explorer


Windows
                  C#
 Azure
Windows Azure
Windows Azure SDK is open source with contribution


           Linux runs on Windows Azure


        Many OSS runs on Windows Azure


     Azure Portal migrates Silverlight to HTML5


                   InstallManiacs
Windows Azure SDK
                         多くの選択肢を提供
     .net            node.js            php             java     python




  Windows                              Mac                     Linux
https://www.windowsazure.com/en-us/develop/downloads/
https://www.windowsazure.com/ja-jp/develop/downloads/
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                                            For Node.js




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

      For Java                                            For PHP




 https://github.com/WindowsAzure/azure-sdk-for-java    https://github.com/windowsazure/azure-sdk-for-php
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        Windows Server      Windows Server
       With            2008 R2             2012 RC
  SQL Server 2012



                       SUSE Linux
     Cent OS 6.2                        Ubuntu Server 12
                    Enterprise Server




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

  そりゃ、Hyper-V上でLinuxが動くけど…
OSS runs on Azure(1)
Web Site
• ポータルからパッケージアプリケーションを直接デプロイしてサイトを作成
• Visual StudioからのWeb配置もサポート
OSS runs on Azure(2)

    Node.js              MongoDB                 Hadoop




      Solr              Memcached                 Redis



    Rails
 (NougakuDo                  etc
 Companion)

Openness Update for Windows Azure
http://blogs.technet.com/b/port25/archive/2011/12/12/openness-update-for-windows-
azure.aspx
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




https://www.hadooponazure.com/


Daytona… Windows Azure HPC Scheduler … ボソッ
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
              ASP.NET MVC
Explorer


Windows
                  C#
 Azure
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       PlayStation
   Mono
              for iOS      for Android   Suite SDK



 Windows       iOS          Android       PS Vita



   Linux                                   Xperia



  MaxOS
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”
                       Linux runs on Azure
   (・∀・)ニヤニヤ

                      ASP.NET MVC / Azure SDK is
  「オープンソースは              now open source with
                             contributions
   破綻のモデル」
     (キリッ             ASP.NET MVC contains jQuery


  競合製品を開発                自社製品に取り込む
Conclusion-2
こんなにオープンにして問題ないの?
→何もかもオープンにすればいいとは考えていないはず(たぶん)
• コア技術は自社開発(Windows / .NET Framework)
• オープンソース化してもロードマップは譲らない
• 置き換え可能な部分にOSSを適用

        jQuery

ASP.NET MVC   WebPages    WebAPI   .NET/Java/php             OSS

          ASP.NET Core                 AzureOS                 VM

        .NET Framework                             Hyper-V

          Windows API               Azure HostOS(Windows Server)
       .NET/ASP.NET MVC                      Windows Azure
真面目な話は終わり
 ココからは妄想
次のターゲットは?            私感

Windows Media
    Player       WinMD

Windows Live
 Essentials
                Silverlight


  SkyDrive
   Client
                  WPF
こんな未来も                          私感

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


                       MacBook Air
      iPad
                       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

More Related Content

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