Mono 是一个由
Novell公司(先前是
Ximian)主持的项目。该项目的目标是创建一系列符合
ECMA标准(
Ecma-334和
Ecma-335)的
.NET工具,包括
C#编译器和
共通語言執行平臺。与微软的
.NET Framework不同,Mono项目不仅可以运行于
Windows系统上,还可以运行于
Linux,
FreeBSD,
Unix,
Mac OS X和
Solaris。
Mono现由Novell持有
双重许可,这和
Qt和
Mozilla应用程序套件的情况相似。Mono的C#编译器及其相关工具发布于
GNU General Public License(GPL)之下,其运行时库发布于
GNU Lesser General Public License(LGPL)之下,其类库发布于
MIT License之下。这些均是
开源协议因此Mono是一个
开源软件。如果你打算向Mono贡献你的
源码,则你须签署一个版权分派给Novell以允许它将这些代码在其它协议下再申请许可,从而允许
Novell保留其双重许可的能力来持有Mono的商业协议。
微软开发了一个称为
共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI)的可用于
FreeBSD,Windows和Mac OS X的.NET实现版本。微软的
共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。我们还可以见到另外一个.NET实现版本,
Portable.NET项目,该项目与Mono项目有着很多相同的目标。
本文转自 makewong 51CTO博客,原文链接:http://blog.51cto.com/makewong/231566,如需转载请自行联系原作者