Mono Framework

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 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 (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 6 – April 8, 2001) de Icaza mendemokan kelebihan dari kompilernya (yang kemudian bisa untuk mem-parsing dirinya sendiri).

Lihat juga 

 Common Language Runtime
 DotGNU
 MonoDevelop
 MoonLight

Rujukan 

Perangkat lunak bebas
Alat pemrograman
Mesin virtual
Bahasa pemrograman .NET
Perangkat lunak Linux
Perangkat lunak Windows
Perangkat lunak Mac OS
Perangkat lunak Unix
Perangkat lunak lintas platform