揭秘微軟將進(jìn)行開源的10大證據(jù)
編者按:本文作者Richard Turner是曾經(jīng)在微軟工作了十年,羅列了十大證據(jù)證明微軟已經(jīng)在往開源的方向前進(jìn),究竟已經(jīng)走了多遠(yuǎn),又是否會(huì)對(duì)Windows 8等移動(dòng)平臺(tái)及整個(gè)移動(dòng)開發(fā)環(huán)境造成多大的影響呢?
1.鼓勵(lì)開源的生態(tài)系統(tǒng)
Windows和.NET開發(fā)者社區(qū)里面充滿了開源的項(xiàng)目和提議,由 Ninject,AutoFac, Castle Windsor 和 StructureMap 等IoC/DI 框架,到nUnit等測(cè)試工具,由RavenDB等NOSQL文檔數(shù)據(jù)庫,到Orchard和Umbracon那種強(qiáng)大的文件管理系統(tǒng),這些例子也只 是.NET/Windows 平臺(tái)里眾多開源項(xiàng)目的冰山一角而已。
2.減少無謂的反復(fù)“創(chuàng)新”
微軟一直堅(jiān)持自己開發(fā)完成別人在開源世界已經(jīng)存在的技術(shù)的微軟版本,這點(diǎn)一直讓眾多開發(fā)者不爽。所以當(dāng)ASP.NET MVC3.0發(fā)布的時(shí)候還是讓開發(fā)者們很驚喜的,因?yàn)檫@個(gè)微軟第一次發(fā)布一個(gè)包括開源代碼的主要項(xiàng)目,而 ASP.NET 4.0也增加了 jQuery Mobile & JSON.NET等更多的開源功能。
3. 和NuGet數(shù)據(jù)包管理器合作
數(shù)據(jù)包管理器對(duì)于開源生態(tài)系統(tǒng)來說非常重要,有了它開發(fā)者們才能輕松共享自己的代碼, 而在2010年十月發(fā)布的NuGet能很好的彌補(bǔ)Windows/.NET 平臺(tái)開源生態(tài)系統(tǒng)在這方面的不足,現(xiàn)在已經(jīng)容納了包括 jQuery, Modernizr, JSON.NET, ELMAH, log4net, Ninject等6000多個(gè)各大.NET開發(fā)者們需要數(shù)據(jù)包資料,雖然6000這個(gè)數(shù)字對(duì)比其他開源平臺(tái)來說有點(diǎn)少,但是數(shù)據(jù)包的數(shù)量還在穩(wěn)定增長中, 現(xiàn)在有的包也都非常有用,相信以后一定會(huì)變得更好的。
4. 把Windows系統(tǒng)優(yōu)化成一個(gè)適合開源程序的平臺(tái)
現(xiàn)在很多熱門開源項(xiàng)目都是通過基于Linux的平臺(tái)進(jìn)行開發(fā)的,Windows想要運(yùn)行這些項(xiàng)目就需要通過Windows的虛擬機(jī)才可以,失分不方 便,而微軟已經(jīng)在這方面做出了努力,2011年11月,微軟就宣布通過新版的LibUV可以在Windows系統(tǒng)上穩(wěn)定的運(yùn)行node,同時(shí),微軟發(fā)布 了 IISNode ,讓開發(fā)者可以在 IIS構(gòu)建node。而在 LibUV 廣受歡迎之后,其他開源項(xiàng)目現(xiàn)在都在都在做Windows系統(tǒng)的本地化。
5. 讓接口多元化、規(guī)范化
這也是微軟的開源社區(qū)已經(jīng)走向成熟的標(biāo)志,以去年十一月Antirez宣布微軟提供了Windows可以本地運(yùn)行Redis的端口這事為 例,Antirez并沒有接受在Redis的核心代碼中加入微軟補(bǔ)丁的做法,而鼓勵(lì)微軟創(chuàng)建自己的Redis分支接口。而通過開源社區(qū)的努力,也成為了今 年開源社區(qū)第一個(gè)正式完成發(fā)布的項(xiàng)目。
6. Windows支持 Apache, PHP 和 Ruby
從2008年開始,微軟已經(jīng)開始了這方面的努力,而現(xiàn)在不但在Windows 系統(tǒng)上可以構(gòu)建Apache網(wǎng)絡(luò)服務(wù)器,而且IIS也已經(jīng)可以搭載Wordpress, Drupal, Joomla等給予PHP技術(shù)的網(wǎng)頁和服務(wù)。
7.Azure支持眾多開源平臺(tái)
在 Mix09上,微軟已經(jīng)正式宣布Windows Azure會(huì)支持 PHP, Java 和 Ruby 這些開源平臺(tái) 。除了聲明本身包含的內(nèi)容,微軟也在努力地提供各大開發(fā)環(huán)境的API,以求更多的開發(fā)者使用Azure服務(wù)。而在2011年11月微軟宣布Windows 支持Node之后,微軟也接著宣布了WindowsAzure與平臺(tái)也完全支持Node。也預(yù)示著Azure會(huì)不斷地向開源的方向前進(jìn)。
8.支持 Hadoop
去年,微軟聯(lián)合HortonWork宣布他們?cè)谂Φ刈孒adoop接入Windows,這是一個(gè)很重要的消息,因?yàn)檫@代表這微軟寧愿放棄本身有的大數(shù)據(jù)管理項(xiàng)目而接受Hadoop,也代表著微軟接受別人的產(chǎn)品的能力的提高,對(duì)所有人來說都是一個(gè)很好的消息。
9. 微軟成為了Linux kernel 排名前20的資助者
十年河?xùn)|十年河西,十年前微軟的CEO鮑爾默還把Linux稱為毒瘤,去年微軟就成為了Linux最大的20個(gè)資助方之一。微軟的資助主要圍繞著讓微軟的的操作系統(tǒng)虛擬技術(shù) Hyper-V能夠搭建Linux系統(tǒng)這一個(gè)目標(biāo)。
10. ASP.NET MVC4.0, WebAPI 和Razor引擎的開源化
如果說到微軟和開源有關(guān)最重要的新聞,以下的聲明一定不能不提:
- ASP.NET MVC4.0, WebAPI 和Razor引擎會(huì)開源開發(fā)
- ASP.NET 開發(fā)小組會(huì)考慮開發(fā)者社區(qū)提交的修改建議
- ASP.NET 開發(fā)小組會(huì)公開地進(jìn)行開發(fā),將所有未來的更新代碼更新到一個(gè)對(duì)外的服務(wù)器上。
小編語:
相信這些證據(jù)都足夠證明微軟正在朝著開源的道路上前進(jìn),這樣的路線是能否能給Windows Phone帶來足夠的進(jìn)步呢,有人說,Windows Phone的銷量上不去是因?yàn)橄萑肓艘粋€(gè)死循環(huán),應(yīng)用不多->銷量上不去->沒有足夠用戶->吸引不了開發(fā)者->應(yīng)用不多。開源 化能否吸引足夠多的開發(fā)者,成為打破這個(gè)死循環(huán)的關(guān)鍵點(diǎn),大家拭目以待吧!