天天看點

微軟和開源社群---開發者的福音

微軟在2012年在開源社群有非常大的動作,明天要參加的#微軟MVP社群巡講# http://msdn.microsoft.com/zh-cn/msmvpevent.其中會介紹的一個主題就是VS2012中就有大量的開源技術,如果,再用傳統思維來看待開源和微軟,那就顯得有些不夠與時俱進了。想起有必要介紹下微軟和開源的故事,同時我在廣州會場在講述VS2012的時候會大量的介紹開源的技術,歡迎同學們到場交流哈,就在微軟廣州中信廣場6602-05會議室。

#微軟MVP社群巡講# ​​http://msdn.microsoft.com/zh-cn/msmvpevent​​.其中會介紹的一個主題就是VS2012中就有大量的開源技術,如果,再用傳統思維來看待開源和微軟,那就顯得有些不夠與時俱進了。想起有必要介紹下微軟和開源的故事,同時我在廣州會場在講述VS2012的時候會大量的介紹開源的技術,歡迎同學們到場交流哈,就在微軟廣州中信廣場6602-05會議室。

​​

微軟和開源社群---開發者的福音

 ​​​​

微軟和開源社群---開發者的福音

​​

      從2007年7月微軟開源技術先驅比爾·希爾夫(Bill Hilf)宣布微軟将大踏步的邁向開源那一時刻開始,微軟就開始以各種方式從不同層面逐漸滲透入開源社群。首先是在當年10月,微軟正式加入了Open Source Initiative(OSI)。在反複審視了微軟的公共許可(Ms-PL)和互惠許可之後(Ms-RL),開源組織還是向微軟張開了雙臂。由此,微軟邁開了進入開源社群的第一步。

不管開源還對微軟還存在哪些猜測和讨論,微軟能夠摒棄以往的觀念開放地看待開源社群,并為此做出各種努力,這對于開源社群和微軟的長期發展都是雙赢的。正如,Red Hat的開源事務副主管兼OSI的主席Michael Tiemann所言:“微軟加入OSI,這不是結束的開始,僅僅是開始的結束而已。”

     2012年4月13日,微軟宣布組建一個名為“微軟開放技術公司”(Microsoft Open Technologies)的子公司,其主要戰略重點是開發開源軟體和開放标準。

對此,“微軟開放技術公司”總裁吉恩·保利(Jean Paoli)聲稱,微軟開放技術公司的目标是推進微軟向開放領域的投資,包括互操作性、開放标準和開源軟體。

而這個子公司的核心團隊,據來自于一直與微軟内部的許多業務部門在各種标準計劃方面密切合作的互操作性戰略團隊。這個團隊以前研究的問題包括網際網路聯盟(W3C)的HTML5、網際網路工程任務組(IETF)的HTTP 2.0、分布式管理任務組(DMTF)和結構化資訊标準促進組織(OASIS)的雲标準。此外還研究許多開源軟體環境,如Node.js、MongoDB 和Phonegap/Cordova。

      微軟從十多年前,就開始投入對開源的工作。所做的工作也是有目共睹,在開源社群可以實實在在的看到微軟是真心實意的在融入社群,我也一直在社群中推廣.NET開源技術。下面我們列出微軟這些年在開源社群的作為,以下十一條内容總結來自​​《微軟正在認真考慮開源化的10大證據》​​ ,同時進行必要的内容補充:

 1.鼓勵開源的生态系統

Windows和.NET開發者社群裡面充滿了開源的項目和提議,由Ninject,AutoFac,CastleWindsor和StructureMap等IoC/DI架構,到nUnit等測試工具,由RavenDB等NOSQL文檔資料庫,到Orchard和Umbracon那種強大的内容管理系統CMS,這些例子也隻是.NET/Windows平台裡衆多開源項目的冰山一角而已。

2.減少無謂的反複“創新”

微軟一直堅持自己開發完成别人在開源世界已經存在的技術的微軟版本,這點一直讓衆多開發者不爽。是以當ASP.NETMVC3.0釋出的時候還是讓開發者們很驚喜的,因為這個微軟第一次釋出一個包括開源代碼的主要項目,而ASP.NET4.0也增加了jQueryMobile&JSON.NET等更多的開源功能。

3.和NuGet資料包管理器合作

資料包管理器對于開源生态系統來說非常重要,有了它開發者們才能輕松共享自己的代碼,而在2010年十月釋出的NuGet能很好的彌補Windows/.NET平台開源生态系統在這方面的不足,現在已經容納了包括jQuery,Modernizr,JSON.NET,ELMAH,log4net,Ninject等6000多個各大.NET開發者們需要資料包資料,雖然6000這個數字對比其他開源平台來說有點少,但是資料包的數量還在穩定增長中,現在有的包也都非常有用,相信以後一定會變得更好的。

4.把Windows系統優化成一個适合開源程式的平台

現在很多熱門開源項目都是通過基于Linux的平台進行開發的,Windows想要運作這些項目就需要通過Windows的虛拟機才可以,失分不友善,而微軟已經在這方面做出了努力,2011年11月,微軟就宣布通過新版的LibUV可以在Windows系統上穩定的運作nodeJs,同時,微軟釋出了IISNode,讓開發者可以在IIS建構nodeJs。而在LibUV廣受歡迎之後,其他開源項目現在都在都在做Windows系統的本地化。

5.讓接口多元化、規範化

這也是微軟的開源社群已經走向成熟的标志,以去年十一月Antirez宣布微軟提供了Windows可以本地運作Redis的端口這事為例,Antirez并沒有接受在Redis的核心代碼中加入微軟更新檔的做法,而鼓勵微軟建立自己的Redis分支接口。而通過開源社群的努力,也成為了今年開源社群第一個正式完成釋出的項目。

6.Windows支援Apache,PHP和​​Ruby​​

從2008年開始,微軟已經開始了這方面的努力,而現在不但在Windows系統上可以建構Apache網絡伺服器,而且IIS也已經可以搭載Wordpress,Drupal,Joomla等給予PHP技術的網頁和服務。

7.Azure支援衆多開源平台

在Mix09上,微軟已經正式宣布WindowsAzure會支援PHP,Java和Ruby這些開源平台。除了聲明本身包含的内容,微軟也在努力地提供各大開發環境的API,以求更多的開發者使用Azure服務。而在2011年11月微軟宣布Windows支援Node之後,微軟也接着宣布了WindowsAzure與平台也完全支援Node。也預示着Azure會不斷地向開源的方向前進。

8.支援Hadoop

去年,微軟聯合HortonWork宣布他們在努力地讓Hadoop接入Windows,這是一個很重要的消息,因為這代表這微軟甯願放棄本身有的大資料管理項目而接受Hadoop,也代表着微軟接受别人的産品的能力的提高,對所有人來說都是一個很好的消息。

9.微軟成為了Linuxkernel排名前20的資助者

十年河東十年河西,十年前微軟的CEO鮑爾默還把Linux稱為毒瘤,去年微軟就成為了Linux最大的20個資助方之一。微軟的資助主要圍繞着讓微軟的的作業系統虛拟技術Hyper-V能夠搭建Linux系統這一個目标。

10.ASP.NETMVC4.0,WebAPI和Razor引擎以及Entity Framework的基于Apache2.0開源

如果說到微軟和開源有關最重要的新聞,以下的聲明一定不能不提:

ASP.NETMVC4.0,WebAPI和Razor引擎會開源開發,ASP.NET開發小組會考慮開發者社群送出的修改建議,ASP.NET開發小組會公開地進行開發,将所有未來的更新代碼更新到一個對外的伺服器上。

11.微軟同Mono的維護公司Xamarin的合作,Xamarin是微軟的合作夥伴,VS2012上提供直接開發Android的技術Mono for Android。微軟開源的ASP.NETMVC4.0,WebAPI和Razor引擎以及Entity Framework等等技術直接進入Mono平台,将釋出的Mono3.0将包含所有的這些技術。

廣州活動的VS2012 PPT

繼續閱讀