written by cash (天下第七) 2001.01.23 版权所有,翻录不究 cashcao@msn.com
著名的Linux桌面环境“GNOME”的开发商美国Ximian公司在2001年7月开始启动一个名叫Mono Project的开放源码版“.NET”的开发项目,旨在使开发者能够编写同时在Windows和Linux上运行的.NET程序,Mono计划主要包括一个C#编译器、与微软公司的Common Language Infrastructure(CLI)兼容的类库、Linux版Common Language Runtime(CLR)编译器。
据称这个项目大约有60名正规投资人,计划在今年年中左右使用户能够利用这些工具库,这要归功于它的倡导人Miguel de Icaza,Ximian公司的创办人和首席技术官。他推动了GNU网络对象模型环境(GNOME)-Linux两个主要的图形用户接口之一-的创建。Miguel de Icaza说:“虽然微软公司已向欧洲电子计算机工业协会(ECMA:European Computer Manufacturers'' Association)以及World Wide Web Consortium(W3C)的标准化机关提交了c#及CLI的标准(现已获得通过),但因为该公司的共享(Shared Source)授权仅限于部分对象,所以不能开发面向Linux或UNIX等平台的应用程序。而我们将提供的是能够自由进行应用程序开发或提供Web服务的工具,令Linux用户也能够享受到.NET平台的巨大好处。”
一位软件开发者说,这个名为Mono的计划目的在于武装那些有意击败微软的开放资源开发者。如果Mono计划成功,微软面临的后果将十分严峻:可以预见,.NET的开放版将使得那些为微软视窗操作系统专门编写的程序能够在Linux或其它操作系统上运行得天衣无缝。 De Icaza说:“5年内,如果有程序运行在.NET上,这些程序也将可以运行在Linux上。” 为Mono编写的程序也可运行在视窗操作系统上。显然,这类跨平台开放性将给微软在操作系统和应用程序两方面的业务重重一击。
观点1:对开放源码运动有害,开放源码阵营对这项消息各有正反面解读 。Mono计划一旦实施后,使用者就可以用C#(或者Mono中任何与CLS兼容的开发语言)撰写应用程序、在Linux(或者任何其它有GNOME类别库的操作系统)上进行测试、然后用于Linux或者微软平台上。而这正是开放源码支持者所担心的。由于微软投资了数十亿美元来提升.NET操作系统下的.NET架构,许多开放源码人士认为Mono宛如另一个快捷方式,方便GPL开发人员将其程序转用在微软平台上,Java与Linux反而被排挤到一边。他们同时还担心微软会建立强制连结至HailStorm(现在叫做Microsoft.NET My Services)服务(例如Passport),强迫那些开发Mono的公司必须将应用程序移至窗口环境下才能正常运作。大多数持有这种看法的人士皆认为只要有利于微软者必然对开放源码有害。
观点2:对开放源码运动有益,但另外有许多开放源码的拥护者则认为这是个绝大的开展机会。首先,他们认为若.NET架构能以GPL为基础,并遵循ECMA标准的话,微软在考虑扩展标准,或实施像HailStorm(现在叫做Microsoft.NET My Services)这样的服务时便能采取一种与操作系统无关的公正姿态。他们同时也认为这正可搭上C#及.NET类别库培训和支持的庞大市场潮流。如果Mono计划严格地遵循ECMA标准,那么培训课程、书籍以及各类支持在Windows上执行C#和.NET类别库的相关补充教材都将有助于开放源码人员在Mono上开发各种系统。