Mono adalah sebuah proyek yang dipimpin Novell (dulunya oleh Ximian) 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 merupakan dual licensed oleh Novell, serupa dengan produk - produk lain seperti Qt dan Mozilla Application Suite. Kompiler C# Mono dan peralatannya dirilis dibawah GNU General Public License (GPL), pustaka - pustaka runtime dibawah GNU Lesser General Public License (LGPL) dan pustaka - pustaka kelas dibawah MIT License. Semua itu adalah free software dan open-source licenses dan oleh karenanya Mono adalah free dan software open-source. Kontribusi para pengembang source code ke Mono harus menandatangani suatu perjanjian hak cipta yang mengizinkan Novell untuk melisensi kembali kode tersebut dibawah izin lisensi yang lain. Hal ini menjaga kemampuan Mono dibawah dua lisensi untuk secara komesial melisensi Mono.[1]

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 (dia secara eksplisit dilarang untuk penggunaan secara komersial). 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 (dalam mode 32 bit dan bit), 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.

Sejarah

Miguel de Icaza menjadi tertarik pada teknologi .NET sesegera mungkin setelah dokumen - dokumen .NET keluar pada Desember 2000. Setelah melihat pada interpreter kode byte, dia menyadari bahwa tidak ada spesifikasi untuk metadata. Pada Februari 2001 de Icaza bertanya untuk informasi yang kurang pada format file metadata pada mailing list .NET dan pada waktu yang sama memulai bekerja pada kompiler C# yang ditulis dengan C#, sebagai suatu latihan pada C#. Pada April 2001 ECMA menerbitkan file format yang kurang, dan pada GUADEC (April 6April 8, 2001) de Icaza mendemokan kelebihan dari kompilernya (yang kemudian bisa untuk mem-parsing dirinya sendiri).

  1. ^ Untuk informasi lebih lanjut tentang lisensi Mono, lihat Mono FAQ: Licensing