Mono Framework

Mono adalah sebuah proyek yang dipimpin Novell untuk membuat suatu ECMA compliant standar sekumpulan peralatan-peralatan kompatibel .NET, meliputi salah satunya C# kompiler dan suatu Common Language Runtime. Mono dapat berjalan pada Linux, FreeBSD, UNIX, Mac OS X, Solaris dan komputer - komputer berbasis Windows. Mono memiliki lisensi ganda oleh Novell, serupa dengan produk - produk lain seperti Qt dan Mozilla Application Suite. Kompiler C# Mono dan peralatannya dirilis di bawah GNU General Public License (GPL), pustaka - pustaka runtime di bawah GNU Lesser General Public License (LGPL) dan pustaka - pustaka kelas di bawah MIT License. Maka, Mono adalah perangkat lunak bebas dan perangkat lunak sumber terbuka. Kontribusi para pengembang kode sumber ke Mono harus menandatangani suatu perjanjian hak cipta yang mengizinkan Novell untuk melisensi kembali kode tersebut di bawah izin lisensi yang lain. Hal ini menjaga kemampuan Mono di bawah dua lisensi untuk secara komesial melisensi Mono. Microsoft mempunyai suatu versi .NET yang tersedia untuk FreeBSD, Windows dan Mac OS X yang disebut Shared Source CLI (Rotor). shared source Microsoft ini bukanlah free software atau open-source dan mungkin tidak mencukupi kebutuhan dari komunitas. Proyek Mono mempunyai beberapa tujuan yang sama dengan proyek Portable.NET. Runtime Mono berisi mesin just-in-time compilation (JIT) untuk beberapa prosesor: x86, SPARC, PowerPC, ARM, S390, danx86-64, IA64 dan SPARC untuk mode - mode 64 bit. Runtime akan melakukan suatu just-in-time compilation pada kode asli mesin dan mencadangkan ketika aplikasi berjalan. Hal ini juga memungkinkan untuk mencadangkan gambar asli sebelum eksekusi. Untuk sistem - sistem lain yang didukung dan tak terdaftar, suatu interpreter melakukan setiap bit kode satu demi satu tanpa meng-kompile gambar ke kode asli. pada hampir semua kondisi metode JIT akan melakukan metode interpretasi.