Microsoft předal vývoj Mono komunitě vyvíjející Wine
Jak bylo předloni při dvacetiletém výročí .NET Frameworku hojně zmiňováno i respektovanými technickými magazíny, počátky tohoto frameworku byly po všech stránkách ovlivněny konkurenční Javou. Ta byla v druhé polovině devadesátých let Sunem propagována jako nástroj mající za cíl ukončit monopol Microsoftu a když Microsoft přišel s vlastní implementací, která nerespektovala specifikace Sunu, skončilo to žalobou. Microsoft přitom pouze chtěl univerzálně multiplatformní běhové prostředí více přizpůsobit systému, který vyvíjel, prodával a na němž měl založen byznys. Výslednému jazyku se tak nesmělo říkat Java, byl označen jako Visual J++, nicméně pachuť soudní pře a toho, že jde vlastně o kompromis a nějak vykleštěný původem konkurenční produkt zůstala, a tak Microsot začal pracovat na vlastním řešení.
Společně se společnostmi Intel a Hewlett-Packard tak vytvořil standard Common Language Infrastructure (CLI), který popisuje prostředí, v němž mohou běžet programy psané v různých programovacích jazycích na různých operačních systémech a hardwarových architekturách, aniž by bylo třeba je k tomu specificky upravovat. Následně CLI prošlo komisemi ISO, IEC a ECMA a stalo se tak standardem oficiálním.
Implementací CLI pro Windows se pak stal .NET Framework, který počínaje Windows Vista najdeme v každé verzi Windows. Nicméně ač od počátku standard popisuje prostředí, v němž může cokoliv běžet kdekoliv, Microsoft .NET Framework implementoval právě pouze pro Windows. V oněch letech na přelomu století to ani nedávalo smysl dělat jinak. Apple procházel jednou transformací za druhou (klasický Mac OS -> Mac OS X, PowerPC -> Intel), komerční Unix na pracovních stanicích umíral, na rok desktopu na Linuxu se sice čekalo, ale čekalo se marně a mobily sloužily k telefonování a posílání SMS, nic víc. Když jste přišli k počítači, pravděpodobnost, že na něm najdete Windows se blížila takřka jistotě.
Pochopitelně se ale mezi těmi jednotkami procent uživatelů ostatních systémů našel někdo nespokojený se stavem věci. Byl to Miguel de Icaza, původní autor Midnight Commanderu a jeden zakladatelů projektu GNOME, jehož společnost Ximian rok po vydání první verze .NET Frameworku začala pracovat na vlastní open-source implementaci nazvané Mono. Vývoj až k verzi 1.0 trval tři roky, světlo světa tak spatřila v létě 2004, kdy už Ximian skoro rok patřil Novellu. V rámci Novellu pokračoval vývoj projektu Mono nerušeně až do roku 2011, kdy byl naopak Novell zakoupen Attachmate Group. Nový majitel propustil kromě stovek dalších zaměstnanců i celý tým pracující na Mono, na což Miguel de Icaza zareagoval založením nové společnosti Xamarin, do níž vývojáři přešli a která se - poté co s Novellem vyjednala licenci na věci s Mono související - začala jeho rozvojem zabývat na plný úvazek.
MonoDevelop psaný pomocí GUI frameworku GTK# běžící v Mono CLI. Zdroj: Project Mono
Tou dobou už ale svět IT vypadal docela jinak, takže Mono běželo na Macu, Linuxu či Androidu a pomocí statické kompilace také na iOS, PlayStation 3 a Xbox 360. Xamarin nepracoval jen na samotném Mono, ale postupně představil i další frameworky souhrnně označované jako Xamarin platform, s jejichž pomocí bylo možné například na všech zmiňovaných platformách tvořit jednotně vypadající GUI - Microsoft proti tomu nikdy neměl ambice, aby jeho GUI komponenty WinForms či Windows Presentation Foundation běžely někde jinde než na Windows. Když se ale ukázalo, že svět příliš nestojí například o Windows v mobilu, začal Microsoft popostrkovat .NET směrem k multiplatformnosti a aby nemusel znovu dělat práci, kterou už někdo jiný udělal dříve, v roce 2016 Xamarin koupil.
Vznikl fork Mono, který byl zakomponován přímo do hlavního zdrojového kódu .NET, z GUI vyvíjeného Xamarinem se stalo .NET Multi-platform App UI (MAUI) a na původní Mono začal trochu padat prach. Poslední velká verze vyšla před pěti lety, od té doby to bylo jen několik patchů. Microsoft se proto nyní rozhodl, že celý projekt označovaný jako „original Mono“ převede na WineHQ - vývojáře projektu Wine (běhová vrstva umožňující spouštění aplikací z Windows v řadě unix-like systémů, jako je Linux, FreeBSD a další).
Mono je dlouhodobě součástí distribuce Wine, protože bez možnosti spouštět aplikace psané pro .NET CLI by nebylo úplné. Repozitář Microsoftu bude archivován, další změny do něj nebudou přijímány a po čtyřech letech budou smazány binární releasy v něm obsažené. Microsoft se tak zbavil něčeho, co vlastně už vytěžil a dále to nepotřebuje a naopak WineHQ získá kontrolu nad velmi podstatnou komponentou, jejíž vlastní fork beztak už dlouhé roky udržovala.
Diskuse ke článku Microsoft předal vývoj Mono komunitě vyvíjející Wine