昨日清晨,微軟在Red Hat DevNation大會上正式發(fā)布了.NET Core以及ASP.NET Core 1.0,并提供了下載,其不僅能在Windows操作系統(tǒng)上運行,還能在Linux和Mac OS X操作系統(tǒng)上運行,這意味著開發(fā)者不僅能使用它來建立自己的應(yīng)用,還能修改和完善平臺,來迎合自己和他人的需求。
2014年,微軟首次發(fā)行.NET Core以及其源代碼,但是微軟之前的版本只能用于測試。今天是微軟第一次官方支持使用Linux和OS X(Windows的兩大競爭對手)的現(xiàn)實操作平臺。Linux主要供應(yīng)商之一Red Hat也宣布:其將在Red Hat Enterprise Linux操作系統(tǒng)上官方支持.NET。
這些都意味著微軟內(nèi)部發(fā)生了重大的改變,同時整個軟件行業(yè)也發(fā)生了改變。在過去的10年中,從谷歌到Facebook,再到Twitter,全球商業(yè)科技公司越來越多地使用Linux和其他的開源軟件,來建立它們的網(wǎng)上服務(wù)和其他的科技。因此,IT供應(yīng)商也越來越接近開源狀態(tài),而微軟就是主要供應(yīng)商之一。為了完成目標(biāo),微軟必須確保.NET處于開源狀態(tài),同時其他重要的微軟IT工具可以在所有的操作系統(tǒng)上運行,這就包括Linux。
微軟在.NET上大做文章時,它同時還發(fā)行了能夠運行Linux的SQL服務(wù)器數(shù)據(jù)庫軟件。數(shù)據(jù)庫本身并不開源,但是這是微軟第一次為Linux提供產(chǎn)品。先前,微軟只支持在自家的操作系統(tǒng)上運行軟件。這說明,世界在改變,微軟也隨之在改變。
微軟開放部分.NET環(huán)境已有數(shù)年了。2009年,其開始了首個程序框架,名為ASP.NET MVC 。微軟也幫助幾個重要的開源軟件(包括數(shù)據(jù)處理平臺Hadoop以及代碼工具Node.js)移植到Windows平臺。但是即使是其在宣布在Azure云端服務(wù)器上支持Linux之后,微軟仍然沒有為Linux操作系統(tǒng)書寫過多的軟件。微軟能幫你做的,就是運行Linux系統(tǒng),但是要使用Linux平臺的軟件,就得靠自己了。
2014年,這種狀況開始改變:微軟宣布不僅對.NET中心開源,還會將之移植到Linux和OS X上。然后在今年年初,微軟收購了一家叫做 Xamarin的公司,后者長期幫助開發(fā)者使用.NET技術(shù)來為更加廣泛的平臺(包括Linux以及Android、iOS等操作系統(tǒng))建立軟件。
微軟的動機
微軟此次支持Linux并開源軟件的動機并不是毫無私心的。其實,這對于微軟的生存至關(guān)重要。在過去的幾年中,Linux在網(wǎng)絡(luò)服務(wù)器市場上擠掉了Windows服務(wù)器,開發(fā)者蜂擁而至去開源程序語言,以及如Ruby on Rails、Python和谷歌的Go language等框架來建立下一代應(yīng)用。微軟開發(fā)者部門副主席Julia Liuson表示:她的團(tuán)隊害怕微軟在將來會威風(fēng)不再。“如果你問開發(fā)者,他們會對Visual Studio給予高度評價,但是我們必須與時俱進(jìn),才能在風(fēng)起云涌的市場中立于不敗之地。”
而要贏得競爭的方式是顯而易見的:開源。因此,Liuson和她的同事們現(xiàn)在正在努力讓.NET變得更加開放,讓它不僅能夠在Windows平臺上運行,還能在任何開發(fā)者想要使用的平臺上運行。
對Windows的威脅?
Liuson表示她們并不擔(dān)心開源.NET將會減少Windows通行證的銷售量,因為開發(fā)者并不會一開始就考慮使用Windows。但是現(xiàn)在,他們也許將會考慮微軟 Visual Studio和Xamarin產(chǎn)品,或者使用Azure云端服務(wù),來取代亞馬遜和谷歌的服務(wù)。
據(jù)悉,來自 1300 家企業(yè)的超過 18000 名開發(fā)人員參與了.NET Core 1.0 的貢獻(xiàn)工作,微軟方面表示,其同時指出這一新版本還包含.NET 標(biāo)準(zhǔn)庫,旨在幫助開發(fā)人員更輕松地 “復(fù)用其編寫的運行在服務(wù)器、云端、桌面乃至包括 Windows、iOS 與 Android 在內(nèi)的各類設(shè)備上的應(yīng)用程序時,所使用的代碼與技能。”
Illyriad Games負(fù)責(zé)人 James Niesewand表示微軟的此次開源將會方便他們直接修復(fù)問題,這樣一來,他們再也不用花很長世間等待微軟來修復(fù),也不用在出問題時從頭開始寫程序。
他表示:“三年前,如果我們發(fā)現(xiàn)了.NET問題,我們會撰寫一份問題報告,然后呈遞給微軟。幾周后,我們會收到回復(fù)表示微軟已承認(rèn)此問題;但是也許是在一年之后,微軟才會真正修復(fù)此問題。而現(xiàn)在,我們可以直接自己修復(fù)問題,然后由微軟批準(zhǔn),這個過程只需數(shù)小時,大大節(jié)省了時間。”
微軟從此次開源中獲益頗多。微軟在其自己的云端服務(wù)器中使用.NET,因此,從理論上講,從Illyriad和其他開發(fā)者平臺上做出的完善,到頭來也會促進(jìn)微軟的發(fā)展。這和Facebook和谷歌開發(fā)和發(fā)展軟件的方式如出一轍。如果一個非Facebook開發(fā)者發(fā)現(xiàn)了如何加快Facebook開發(fā)框架反應(yīng)的方法,那么應(yīng)用將變得更加快捷靈敏,任何人(包括Facebook用戶)都將從中獲益。如果一位研究AI的學(xué)者發(fā)現(xiàn)了促進(jìn)谷歌AI框架 TensorFlow發(fā)展的方法,那么研究者將獲得更好的工具,谷歌也將會在AI方面更進(jìn)一步。
而現(xiàn)在,微軟也加入到了這種發(fā)展方式中來。至于其之后的發(fā)展,我們拭目以待。