Microsoft.NET是一套强大的GUI应用程序开发和Web Services (.NET开发框架)开发工具;一个提供给最终用户应用程序(比如web服务和大量其他企业产品)的用户身份识别和验证系统("Hailstorm"). .NET开发工具包括C#编译器, 公用语言构架(CLI). 它能使程序员用C#或其他语言编写的程序运行在非windows系统之上. Microsoft和Corel最近宣布他们将在遵守Microsoft的"代码共享"许可下, 合作在FreeBSD平台上实现.NET.
随着C#以及CLI被提交给ECMA和W3C标准化组织, "代码共享"许可的局限性将限制开发者的开发工作, 包括在其他平台上的商业开发。比如Linux,Unix, Solaris。
与此相对, Mono项目为开放源代码的开发者提供了一个真正的"创建一次,随处部署"的工具包, 并能充分利用Microsft.NET的各项优点. Mono项目遵守GPL和LGPL的各项条款, 开发者能自由地编写, 并发布商业的或个人的应用程序. 而这些, Microsoft的"代码共享"许可是做不到的.
Mono在他的开发构架中将提供三个关键部件, 以帮助开发者快速的在linux平台上开发, 部署, 运行.NET的兼容程序: 一个延伸自GNOME平台的C#编译器, 他将使开发者能创建.NET相兼容的应用程序. 这些开发者还将能在开放源代码的系统上使用和Microsoft CLI相兼容的类库来进行最终用户程序开发和web服务开发. Mono还有一个Linux版的Microsfot公用语言运行时环境(CLR)的及时编译(JIT)引擎. 这样, Linux上就能运行在Windows, Linux, 或Unix平台上编写的程序了. 在广大的开放源代码志愿者的支持下, 这些类库和工具已经能提供下载和试用: www.go-mono.com.