开源.NET:Mono将死 拯救者会是微软吗?

原创
开源 新闻
近日Attachmate宣布了对Novell和SUSE将来的计划,而且从本周开始进行裁员。涉及到Novell的几个开源项目,在Attachmate CEO的谈论中提到了将支持openSUSE,但是对Mono项目却只字未提;而裁员的目标中,据说包含大量Mono项目组的人,Mono项目发起人Miguel de lcaza也在其中。种种迹象表明,整个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
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

【编辑推荐】

  1. Stallman最新访谈:Debian,Mono与智能手机的自由化
  2. 讨论:Mono这只猴子招惹了谁?
  3. Novell宣称将推出Android平台的Mono项目
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2013-05-28 00:29:09

.Net开发平台

2018-03-22 19:00:38

数据库NoSQLNewSQL

2016-12-22 16:15:45

微软开源.Net

2010-12-21 08:53:04

Mono

2014-04-14 10:06:22

.Net 开源

2009-08-06 09:55:09

Mono2.0

2015-07-14 09:57:44

微软开源Windows

2009-11-17 10:29:39

.NET Micro

2013-03-16 14:20:24

Windows RT

2011-04-08 17:26:38

Novell.NET开发

2023-11-26 00:24:33

2009-10-27 09:10:34

Windows 7微软市场

2010-10-08 09:26:17

.NET微软

2019-05-15 09:45:49

开源技术 趋势

2011-06-23 10:01:47

.NET

2018-12-21 15:40:33

2009-11-19 14:33:27

2016-11-22 17:26:11

开源PowerShellLinux

2022-06-21 14:14:06

DevOpsNoOps

2009-07-22 13:08:55

拯救UpdatePanASP.NET MVC
点赞
收藏

51CTO技术栈公众号