Mono是一个由Novell公司(先前是Ximian)赞助的项目。该项目的目标是创建一系列符合标准ECMA 的。Net 工具, 包括C #编译器和共同语言执行平台与微软的。Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。
Mono的 C #编译器及其相关工具发布于GNU General Public License (GPL)之下,其运行时库发布于GNU Lesser General Public License (LGPL)之下,其类库发布于MIT License之下。这些均是开源协议因此Mono是一个开源软件。
微软开发了一个称为共享源码公共语言基础的可用于FreeBSD, Windows Mac OS X的和。 NET实现版本。微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的。我们还可以见到另外一个。 NET实现版本, Portable。NET项目,该项目与Mono项目有着很多相同的目标。
Mono是与微软。Net相容的工具组合,让原先以微软C#程序设计语言写的应用程序能在多种平台上执行,包括Linux、BSD、Unix、Mac OS X和Solaris平台在内。许多备受欢迎的开源应用程序,像是Note应用程序Tomboy和相片管理程序F-Spot等,都需要Mono才能执行。因此,Debian等Linux发行者曾表示,正考虑在预设安装中纳入Mono。
GNU计划创始人Richard Stallman呼吁开发者避免使用Mono,因为随着这项开放源代码工具组的使用率日增,可能引来微软的法律行动,其认为使用Mono是个“危险的方向”。
Stallman写道:“依赖C#是很危险的,所以我们必须劝阻使用它。危险在于,有朝一日,微软或许会打算强迫所有免费的地下版C#工具取得软件专利授权。这是重大的危险,只有笨蛋才会坐视不顾,直到这种事真正发生为止。我们现在就必须采取预防措施,保护自己免于在未来陷入这种危险。” Stallman指出,撰写和使用倚赖C#的应用程序构成“不必要的风险”,因此他呼吁开发者改用不倚赖C#的方式写程序,而应该有系统地设法尽可能减少对免费C#实作的倚赖。
微软对此不做回应,但是本事件的始作俑者Debian开发人员Jo Shields在博客贴文中指出,可能把Mono纳入,因为执行优质应用程序如Tomboy和F-Spotit时,必须用到Mono,而Mono并不构成威胁。
而同样为我们熟知的Ubuntu,认为反对的理由不充足。Mono的争论最主要的是担心微软的专利威胁,微软至今从未在。Net专利技术上发过难,但它在其它领域进行过专利恐吓,如宣称Linux kernel侵犯了它的多项专利。Ubuntu认为没有理由从默认安装包或软件仓库中移除Mono,理由仅仅是他们从未收到过微软的专利声明,因为Mono早就是Ubuntu多个版本默认安装的一个从属物。 (责任编辑:A6)