Microsoft has handed Mono, the open-source .NET framework, over to the Wine project — a move that’s surprising if only as a reminder that Mono still exists!
An announcement was added to the official Mono website earlier today, with Microsoft describing the project as “a trailblazer for the .NET platform across many operating systems [which] helped make cross-platform .NET a reality and enabled .NET in many new places”.
It’s gifting (some might say dumping) the Mono Project to Wine’s developers. New source repos are already online, and Microsoft will keep most existing Mono repos online (some archived) and binaries will be available for 4 years or so.
But they urge developers using Mono to migrate — though not to the new upstream home of Mono.
Instead, Microsoft “recommend that active Mono users and maintainers of Mono-based app frameworks migrate to .NET” which includes work from their own ‘modern fork’ of Mono, which is where most development has taken place in recent years.
For those wishing to continue with actual Mono, the project will not be maintained by the Wine team.
To understand why this transition is of (modest) note, let’s recap Mono’s history and why its use in the Linux ecosystem caused a bit of commotion…
Monotonous Fears
Many, many moons ago I used to blog (regularly) about a Mono-based music player called Banshee. It was a terrific little app and super popular with Linux users – so much so Ubuntu replaced Rhythmbox with it for a few years.
And on the Linux desktop, Banshee was arguably the most visible of all software using the C# mono framework (it was lowercase ‘m’ in those days). Other apps using it during that era included GNOME Do (later Docky), Pinta, and Tomboy.
However, back then mono-based anything on the Linux desktop generated controversy, column inches, and heat under collars. One puritanical FOSS website began referring to this blog (more so me) as a ‘mono apologist’ for covering apps that used it1.
Why were people in the open-source community against Mono?
I mean, Mono was created by Miguel de Icaza — the Miguel de Icaza, co-creator of GNOME desktop — in 2001 as an open-source project supporting Linux, and later other platforms.
Yet Mono was deeply contentious as it re-implemented parts of Microsoft’s .NET stack, the C# language, and related libraries. The concern was that if developers and Linux distributions used it (even a little) they’d be open to patent lawsuits from Microsoft.
That fear was palpable at the time. Microsoft of the era had a reputation for aggressively protecting its patents, and it had a (well known) dislike for Linux. It wasn’t surprising that ‘mono is a trap’ became a refrain – not as hysterical then as it seems today.
Ubuntu wasn’t concerned. It shipped Mono dependencies and apps, including Banshee, gBrainy and Tomboy, as part of the default install. Until 2012, when an effort to remove Mono from the default install succeeded and all Mono apps were removed.
The afeard (not a typo, it’s ye olde English) patent boogeyman never struck, and later licensing rejigs around C# in general made those patent fears patently moot. While Mono remains widely used in Windows, macOS, iOS, and Android apps, on Linux it never took off.
Ximian (de Icaza’s company) was acquired by Novell, which was later bought out by The Attachmate Group Inc., who promptly fired most Novell staff including de Icaza and the Mono team. After the layoffs, de Icaza formed Xamarin to resume Mono development.
In a full-circle moment, Microsoft acquired Xamarin in 2016, bringing Mono under its umbrella and relicensing it under MIT.
Now, Mono moves again, this time back in to the open-source fold proper, under the auspices of the (very talented folks at) Wine HQ.
Non-Monogamous Future
What does today’s announcement mean for the future of Mono?
Potentially a lot.
While Mono’s role on the Linux desktop waned, its importance within cross-platform development exploded. Yet under Microsoft’s stewardship development on Mono slowed (last major release in 2019) as the company favoured its own fork, and .NET in general.
Now, with Mono decanted to the Wine project, the patent problems gone, and the return of a traditional community-centric development model, there’s every chance Mono may get its fizz back and become more attractive to Linux developers.
Though if nothing else, the sloshing ownership of a project which has ever-been an acquired taste is reminder that software development, like wine, can be a rich, full bodied—What? Oh, you’ve had enough of wine-related wordplay… I’ll cork it for now, eh.
- These days, I’m billed as a “Microsoft apologist” for covering Ubuntu on WSL (⊙.☉)7 ↩︎
