Mono-prosjektet ble unnfanget i 2002 for å gi Linux-utviklere og åpen kildekodefellesskapet et redskap til å håndtere .Net-rammeverket til Microsoft, etter at Microsoft i desember 2001 hadde overlatt to viktige .Net-elementer til den europeiske standardiseringsorganisasjonen ECMA, nærmere bestemt programmeringsspråket C# og språkinfrastrukturen CLI («Common Language Infrastructure»). CLI ligger til grunn for den virtuelle maskinen i .Net, CLR («Common Language Runtime»). CLR kjører kode under Windows for alle programmeringsspråkene tilpasset .Net-arkitekturen.
Den første prøveutgaven av Mono ble lagt ut til nedlasting i desember 2002. Den første tiden var Mono sponset av Ximian. Da Ximian i august i fjor ble overtatt av Novell, tok Novell på seg å støtte det videre arbeidet med Mono. Initiativtakeren til Mono, Miguel de Icaza, er i dag utviklingssjef i Novell.
I går ble versjon 1.0 av Mono lagt ut til nedlasting fra et nytt nettsted rettet mer mot brukere enn mot bidragsytere til prosjektet, slik det forrige Mono-nettstedet var. Følg lenken ovenfor eller til høyre.
Det viktige i Mono-prosjektet er å tilrettelegge språkinfrastrukturen CLI for andre operativsystemer enn Windows, og blant annet framstille en CLR eller virtuell maskin som kjører .Net-programmer på Linux og andre operativsystemer, samt på andre prosessorer enn Intels. I tillegg kommer et eget utviklingsmiljø, slik at man kan utvikle for.Net uten å kjøre Windows.
I versjon 1.0 tilbyr Mono en kompilator for .Net-språket C#, en egen CLR, og to stakker med programmeringsgrensesnitt, en for .Net-rammeverket, og en egen Mono-stakk for Linux. Det er også et komplett utviklingsmiljø for Linux, med omfattende programmeringsgrensesnitt for webtjenester («web services»), og støtte for utlegging til operativsystemer som Linux, Windows, Apple MacOS X, Solaris og andre varianter av Unix.
Støtte for Java er besørget gjennom et annet prosjekt innen åpen kildekode, IKVM som også er rettet mot .Net-rammeverket. Andre språk som Mono støtter er VisualBasic, Python og JScript.
For operativsystemuavhengig programmering av grafiske brukergrensesnitt nytter Mono et annet åpen kildekodeprosjekt, Gtk#. Det gjør at samme kode kan brukes til både Linux, Windows og MacOS X.
Hvis du tror betegnelsen «mono» har noe med ett verktøy for alle behov å gjøre, tar du feil. På prosjektets nye nettsted forklares det at «mono» er spansk for «apekatt». Som begrunnelse heter det bare at «we like monkeys».
Novells engasjement i Mono innebærer at selskapet også tilbyr tilknyttet support og andre tjenester, på kommersiell basis. Novell forklarer ellers at det ikke er kommunikasjon med Microsoft på høyt nivå vedrørende Mono, men at «ingeniørene som arbeider med .Net eller innenfor ECMA har opptrådt svært vennlig, og har gitt utførlige svar på våre spørsmål». Novell har også fått forsikringer fra Microsoft om at spesifikasjonene som Mono-prosjektet har bygget på – CLI og C# – ikke vil endres, blant annet fordi det er disse språkene som er grunnlag for en vesentlig egenskap i .Net, nemlig felles runtime for flere programmeringsspråk.
På utviklerkonferansen Tech-Ed i Amsterdam denne uken, fikk Microsoft spørsmål om sitt forhold til åpen kildekode generelt og Mono spesielt, og bekreftet holdningen som Novell refererer.
- Les også:
- Microsoft avstresser forholdet til åpen kildekode (01.07.2004)