開源.NET:Mono將死 拯救者會是微軟嗎?
原創【51CTO 5月7日外電頭條】51CTO編者按:近日Attachmate宣布了對Novell和SUSE將來的計劃,一方面Novell和SUSE將拆分運營,另一方面Attachmate對Novell進行了大量的裁員:首先是包括Novell CEO在內的諸多高層,然后就是從本周開始的裁員。涉及到Novell的幾個開源項目,在Attachmate CEO的談論中提到了將支持openSUSE,但是對Mono項目卻只字未提;而裁員的目標中,據說包含大量Mono項目組的人,Mono項目發起人Miguel de lcaza也在其中。種種跡象表明,整個Mono團隊似乎已經被解散。這對于Mono Touch等產品的客戶而言,無疑是一件壞消息。到底Mono項目會怎樣?誰有可能拯救Mono?國外網站Internetnews.com對Mono的情況進行了分析,認為Mono項目是有價值的,但目前情況不容樂觀。以下為全文譯文:
Mono項目:.NET的開源跨平臺實現
在Miguel de Icaza于2004年開始規劃Mono項目時,他所得到回應滿是嘲笑。專家們都說,想讓微軟允許其現有的.NET平臺變為開源,簡直是白日做夢。即使是Mono從Novell公司獲得了必要的商業支持,雖然單單是這一步成功機率就不大,微軟也絕對會旋即開始對該項目進行破壞,要么通過專利索賠途徑、要么在背地里搞些更陰險的手段。微軟從來沒有過——至少迄今為止沒有過對這類規劃的支持。而現在大家也看不到這種形勢有趨于緩和的跡象。
正如最初由InternetNews.com所報道的那樣,Attachmate這家以系統及安全管理為主要業務的公司于今年四月以22億美元的價位完成了對Novell公司的收購。而在本周,這家公司卻開始進行裁員。確切的裁員人數目前尚不清楚,但是可以推測,整個Mono項目團隊似乎已經被解散。
“我們已經把自己的SUSE Linux業務部門的總部重新設立在了德國紐倫堡,并以一定的優先次序為自身的發展盡力提供資源——當然也包括Mono。現在具體的分配工作由業務部門的負責人們進行處理,”Attachmate公司的CEO Jeff Hawn對InternetNews.com如是說。
根據上述言論,我們至少可以說Mono項目的前景算是撲朔迷離。目前還不清楚到底是de Icaza還是其他什么人將擔任Novell公司的副總裁職務,而當事者本人也拒絕對此發表評論。雖然在去年十一月,他曾經在Twitter上表示Mono團隊將一如繼往地存在并工作下去,但按照眼下的形勢來分析,這顯然已經不可能了。Mono項目從奠基以來就一直由de Icaza負責,可以說如同他自己的子女一般。甚至即使他繼續掌握著該項目,當初那個見證了Mono九大階段性成功的團隊也無論如何將不復存在了。
微軟的詛咒
有些人終于可以松口氣了。微軟的陰影一直困擾著Mono項目,尤其是那些技術發燒友們,總是認為在開源活動中采用任何來自微軟的技術都會對項目整體造成嚴重的不良影響。他們擔心微軟會先坐壁上觀等待Mono平臺的日趨成熟,然后突然發難,通過公布一些尚未公開的專利申請來將Mono一舉擊潰,并使得任何采用Mono進行開發的應用程序都陷入相當尷尬的境地(而且很有可能強迫這些應用都依附于微軟旗下)。
不過de Icaza一直以來都在努力解決這些難題。他指出,描述C#語言的ECMA334及335標準連同.NET公共語言基礎結構(簡稱CLI)都已經被置于微軟社區承諾所涵蓋的范疇之中。而根據該承諾的內容,微軟將不會對任何使用這類專利標準的開發人員在實現開源過程中所獲得的成果提出索賠要求。此外,微軟與Mono團隊之間始終保有親密的往來關系。
盡管如此,進行廣泛部署仍是一場艱苦的斗爭。雖然基于Mono的應用程序作為標準組件發布于Novell公司的SUSE Linux桌面系統上并聲稱比起其它方式,Mono能夠更簡便地實現應用程序由Linux系統向Windows系統的轉換工作,但該平臺從未被Linux領袖級供應商紅帽公司所重視。紅帽公司的方案是通過其JBoss應用服務及相關技術實現基于Java的開發工作,而且該公司近期還公布了一種其自主研發的類Java語言,名為Ceylon。
批評者的懷疑態度也并非完全沒有依據。微軟的社區承諾并不適用于某些關鍵性的.NET框架內容,包括ADO(即ActiveX 數據對象)、.NET數據庫硬件抽象層、ASP.NET網頁框架以及Windows窗體框架。Mono應用了以上技術的版本仍存在專利糾紛,而這種預期糾紛一旦變為現實,任何Mono平臺上開發的應用程序都會被直接認定為Windows系統專用軟件。
Mono仍有一試的價值
不過話說回來,僅因為Windows窗體專利的問題就徹底放棄Mono絕對是一葉障目的錯誤理念。近年來,Mono已經迅速成長,并突破了在特定系統上進行類Windows開發工作的狹窄范疇。一方面,Mono內置的功能可以用于GTK+以及Qt GUI工具包,因此如果大家打算徹底脫離Windows窗體而轉向利用Mono進行以Linux為中心的程序編寫工作,也是完全可行的。
更重要的是,Mono已經廣泛成為各類操作系統及設備上極具價值的跨平臺開發工具。舉例來說,Novell公司的Mono Touch版以及Mono Android版都是允許開發人員利用C#以及其它.Net技術為iOS及Android設備編寫程序的商業產品。同樣,Unity Technologies提供了一款跨平臺的游戲開發工具,允許用戶利用Mono作為中間媒介,為iOS設備、Android 設備、Xbox 360游戲機、PlayStation 3游戲機以及各類網頁播放器以最小的重新編碼工作量開發游戲。
我們同時不應忽略Mono的其它優點,那就是C#語言本身。盡管其常常被稱為“微軟版的Java克隆體”,但不可否認C#在Java的基礎上進行了一系列改進,包括更好地支持并行編程及相關功能以及對Java自存在以來就飽受詬病的一些語法進行的調整。Java至今在某些方面仍然在努力跟上C#的步伐。還有,Mono開發人員們也可以自由地在編碼中運用其它SLI語法,這意味著他們能夠在特定的平臺上使用諸如Lisp,Python,Ruby甚至是Fortran等等不同種類的編程語言。
現在誰能拯救Mono?
如果我們最終無法好好發掘前面提到的各種工具的便利功能,這無疑是種恥辱。Mono平臺是開源的,獨立開發者可以繼續在其上自由地進行工作。但它同時也是項復雜的技術,而且要跟上微軟開發產品的更新速度也需要相當大的努力。在沒有商業支持的情況下,Mono似乎完全不可能在追逐微軟的道路上繼續走下去。
Attachmate公司并未對Mono項目的前景做出具體說明,但在其對InternetNews.com所給出的意見中,似乎隱隱表達了一些信息。文中提到資源將“根據消費者的需求”分配給Novell公司的各個項目,這對開源產品來說可不算是什么好兆頭。
專業分析師們同樣對Attachmate公司在Mono或是SUSE Linux總體規劃問題上的承諾表示費解。根據Forrester研究機構副總裁Jonathan Penn的說法,“Attachmate公司對于Novell公司持有的系統管理及安全業務更有興趣,而對平臺業務則不太熱心。”
其實還存在著另一種可能性,即另一家公司沒準會介入并從Attachmate公司那里承接Novell的SUSE及Mono這筆技術資產。但誰會是這“另一家公司”?IBM可能算是候選者之一,但藍色巨人一直不愿意直接參與Linux業務,而更希望自己的客戶在紅帽公司與SUSE之間自主做出選擇;而且對于其自有的WebSphere平臺,IBM公司的推廣力度簡直可以與甲骨文公司在推廣Java上表現出的力度相提并論。
而最有可能性的人選也許就是大家寄予期望最少的對象。微軟在過去的數年中一直努力在開源方面調整企業形象,并盡量緩和態度,甚至通過Outercurve基金會對開源項目進行贊助。其與Novell公司所進行的專利共享交易,盡管備受指責,最終卻并沒有扼殺SUSE,Mono乃至Novell公司。也許現在正是微軟將資金慷慨地奉獻出來,用以為.NET及CLI打造一個免費的、開放的并且跨平臺的軟件開發平臺的最佳時機。
不過還是要提醒一句,這樣的結果仍然可說是喜憂參半。盡管這樣的做法的確能夠保證Mono長期存在下去,但考慮到開源社區仍把微軟的存在視為致命威脅,該套方案同樣有可能成為壓垮Mono這只駱駝的最后一根稻草。
原文:An uncertain future for open source .Net
【編輯推薦】