視開源為癌症 微軟擁抱癌症是找死還是自殺?

人稱T客發表於2014-11-15

  這兩天大家都在討論微軟開源的事情,作為一名曾經的Java程式設計師,我已經有十年沒有碰到程式碼了,除了”hello World”那句能通往開發世界的問候語外,我已經不會寫任何一行程式碼,但我還是認為微軟開源錯過了最佳時機,當年微軟就被Java打的滿地找牙,Java程式設計師在找工作上也比.Net高一頭,程式設計師圈子裡一直有一個怪象就是搞Java的看不上搞.Net,雙方陣營一直在暗自較勁,特別是.Net在一些大型企業商務開發上,由於天生殘疾,讓很多軟體開發商有選擇的放棄.NET,.NET也被認為是一隻關在籠子裡的金絲雀,離開微軟的池塘就是等死的命。

  記得在一個開發論壇上有一個.NET的程式設計師曾無奈的表示:參加個招聘會,看得到好多大公司都要求精通Java,心理特別不是滋味,可惜上大學就學了.NET,而Java到大三才開,並且草草地只講了些基本知識。有時我就在想難道當初選擇.NET真的錯了嗎?Java確實比.NET存在很多優勢。開源、跨平臺、免費、開發工具也有免費的。還有萬一嚴厲打擊用盜版的WINDOWS的時候,大家都改用linux,.NET程式設計師是不是就要失業啦。不知道.NET什麼時候也能夠開源呀。

  可能這個兄弟有點過分杞人憂天,但是.NET的確因為不能跨平臺受限,下面這種圖表就可以說明一切。

  有業內人士就曾說過,微軟本來是一個玩家卻因為蘋果的異軍突起而變成一個跟隨者,特別鮑爾默執政時期的錯誤決策,一直強調“硬體和服務”,耽擱了微軟一些優勢專案發展的黃金時期,.NET上沒有多大進展,因為微軟在那段時間沒有讓自已的優勢更強,只是讓劣勢更劣,當微軟的新CEO納德拉上任之後,才重新調整微軟的位置,進一步弱化“裝置和服務”的概念,希望以“移動和雲優先”重塑自已玩家的地位,所以我們看到微軟的內部組織機構的調整,以及近期微軟一系列的開放政策,包括將Office 365免費和.NET開源。

  過去一直視開源為癌症的微軟,難得的敞開雙手大力擁抱開源。將更多.NET的部分納入開源計劃之中,包含整個.NET伺服器端的核心類別,ASP.NET 5.0、.NET Common Language Runtime(CLR)、Just-In-Time Compiler、Garbage Collector以及Base Class Libraries等,都在開源的範疇之中。而微軟也將會實作Linux與Mac版本的伺服器端.NET Runtime,這將使ASP.NET 5.0的應用程式,可以跨平臺的在3大主要作業系統中執行。

  簡單來說,本次微軟總共開源了.NET 3大區塊,而除了.NET Framework 4.6、.NET Core 5,還有Runtime跟編譯平臺等。

  這些作為將使開發者能夠建設在Windows Server以及Linux運作的.NET伺服器以及雲端應用程式。不過,值得注意的是,.NET客戶端的類別將不會開源,像使用者介面技術Windows Presentation Foundation(WPF)以及Windows Forms,微軟目前並無開源的計劃。

  微軟開發部副總裁S. Somasegar表示,微軟想建立更健全的開發者社群。雖然.NET伺服器端開源計劃在幾個月後才會真正實施,但微軟已經決定在Github公開他們的原始碼。

  在這之前,微軟早在2014年4月時宣佈,透過NET基金會,已將眾多開發工具欄入開源計劃之中,例如.NET編譯平臺Roslyn、ASP.NET、.NET Micro Framework,還有VB與C#等開發語言。

  不過,.NET伺服器端的核心類別的開源以及.NET開發工具的開源,究竟之後會造成哪些影響及改變,需要持續的觀察,但是可以確定的是,微軟不光只是喊出擁抱開源的口號,而且還逐步的實踐中。

  有很多人認為微軟.NET開源的矛頭直指Java,多年以來,由於.NET依附於Windows平臺,無法與Java在跨平臺環境中進行競爭

  近年來隨著移動網際網路和雲端計算的蓬勃發展,微軟在開發者社群的人氣一路走低,雖然.NET支援C++、C#、VB和Python等多種程式語言,而且也為關鍵企業應用開發提供資料庫互動等功能,但是在一些新的技術趨勢中,例如最近開始流行的Linux伺服器上的容器化雲端計算開發技術,微軟開始落伍。

  .NET的開源,意味著微軟將徹底走出封閉的作業系統生態,與雲端開源技術實現融合,例如讓.NET服務在Docker容器中執行。這對於600萬人心浮動的微軟開發者來說,相當於一副定心丸。

  .NET的開源,是微軟正式告別PC時代的另外一個標誌性事件,微軟新任執行長Satya Nadella信奉跨平臺策略,主張以開發者而不是Windows為中心重構微軟的軟體和雲基礎架構。

  另外據悉,微軟正與開源社群Mono緊密合作,在微軟宣佈.NET開源之前,Mono是實現在非Windows作業系統中應用.NET的主要開源專案。此舉顯示微軟正在盡一切可能穩定人心,壯大.NET開源隊伍。

  微軟相關負責人表示,微軟將.Net進一步開源的決定並不是心血來潮,而是醞釀了幾年的結果。 可見,微軟最被逼的死衚衕的一個決策,但是微軟的確錯過了開源的最佳時機,但對於微軟的開發者來說,微軟的開源就像一場及時雨讓他們相信微軟會越來越好。

  來源:人稱IT客

相關文章