開發者 | Novell, Xamarin |
---|---|
当前版本 | 6.12.0.122(2021年2月23日 | )
源代码库 | |
操作系统 | 跨平台 |
类型 | 系统平台 |
许可协议 | GPL、LGPL与MIT許可證,或双重许可 |
网站 | http://www.mono-project.com/ |
Mono是一个由Xamarin公司(先前是Novell,最早為Ximian)所主持的自由開放源碼專案。該專案的目標是创建一系列符合ECMA标准(Ecma-334[1]和Ecma-335[2])的.NET工具,包括C#编译器和通用语言架构。与微软的.NET Framework(共通語言執行平臺)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux、FreeBSD、Unix、OS X和Solaris,甚至一些遊戲平台,例如:Playstation 3、Wii或XBox 360。Mono的標誌是一個猴子格式的臉。
Mono现由Novell持有双重许可,这和Qt和Mozilla Application Suite的情况相似。Mono的C#编译器及其相关工具发布于GNU通用公共许可证(GPL)之下,其运行时库发布于GNU宽通用公共许可证(LGPL)之下,其类库发布于MIT許可證之下。这些均是开源协议因此Mono是一个开源软件。
微软开发了一个称为通用语言架构(Shared Source Common Language Infrastructure,Shared Source CLI;即今ECMA—通用语言架构)的可用于FreeBSD,Windows和Mac OS X的.NET实现版本。微软的共享源代码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。另外,GNU也有一个.NET实现版本Portable.NET项目,该项目与Mono项目有着很多相同的目标。
Mono虚拟机包含一个即時編譯引擎,该引擎可用于如下处理器:x86、SPARC、PowerPC、ARM、S390(32位模式和64位模式)、x86-64、IA-64和64位模式的SPARC。该虚拟机可以将代码编译为本机代码。