Well, this is surprising isn't it? Microsoft are handing over the Mono Project to the Wine developers with a thank you note.
What is it? Mono is a software platform designed to allow developers to easily create cross platform applications. It is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.
Posted on the Mono website, along with a GitHub post, Microsoft's Jeff Schwartz announced:
The Mono Project (mono/mono) (‘original mono’) has been an important part of the .NET ecosystem since it was launched in 2001. Microsoft became the steward of the Mono Project when it acquired Xamarin in 2016.
The last major release of the Mono Project was in July 2019, with minor patch releases since that time. The last patch release was February 2024.
We are happy to announce that the WineHQ organization will be taking over as the stewards of the Mono Project upstream at wine-mono / Mono · GitLab (winehq.org). Source code in existing mono/mono and other repos will remain available, although repos may be archived. Binaries will remain available for up to four years.
Microsoft maintains a modern fork of Mono runtime in the dotnet/runtime repo and has been progressively moving workloads to that fork. That work is now complete, and we recommend that active Mono users and maintainers of Mono-based app frameworks migrate to .NET which includes work from this fork.
We want to recognize that the Mono Project was the first .NET implementation on Android, iOS, Linux, and other operating systems. The Mono Project was a trailblazer for the .NET platform across many operating systems. It helped make cross-platform .NET a reality and enabled .NET in many new places and we appreciate the work of those who came before us.
Thank you to all the Mono developers!
Not only have Microsoft done a seemingly pretty good thing here, their acknowledgement of the Wine team and their work is also really nice to see.
Quoting: wytrabbitNow WINE no longer needs to guess and reverse engineer Mono related code, saving them time and money.I don't follow. Mono is FOSS and always has been.
Last edited by Thad on 28 August 2024 at 2:53 pm UTC
Quoting: wytrabbitBut Mono was already open source. It started as an open source thing to try to deal with the problem that was MS' .Net, which originated basically as a platform to exclude Linux. So I don't see why WINE would have needed to do any of that. MS are just saying "We have no more use for it, how about you guys maintain it?"Quoting: Purple Library GuyKind of feels like Mono is a corpse they are graciously allowing the Wine people to bury for them.
But... WINE has put a lot of effort over the years into supporting programs for old defunct Windows releases. Microsoft no longer needs it, and they're recommending all new code to use their modern fork, but these are like receiving the exam answers ahead of time. Now WINE no longer needs to guess and reverse engineer Mono related code, saving them time and money.
Quoting: LoudTechieMm, I was suspicious of that press release, but perhaps not nearly suspicious enough. So if their claim that everyone is/will be using their fork of Mono rather than the main version they're asking WINE to maintain is false, then . . . I dunno. It's not like they can force the WINE people to maintain it, or would have been able to stop them from maintaining a fork if they wanted to. It all seems kind of amicable (assuming the WINE people are even aware this is happening), but at the same time like nothing much is actually going on.Quoting: Purple Library GuyKind of feels like Mono is a corpse they are graciously allowing the Wine people to bury for them.
That's the strange thing.
Mono is no corpse.
Unity uses it for their game engine.
Android uses it for compatibility.
Basically anyone who isn't Microsoft uses it if they want to participate in the Microsoft dominated dotnet space.
QuoteMicrosoft maintains a modern fork of Mono runtime in the dotnet/runtime repo and has been progressively moving workloads to that fork.That work is now complete, and we recommend that active Mono users and maintainers of Mono-based app frameworks migrate to .NET which includes work from this fork.
I so if I get this correct. Mono and .NET are open source and MS maintains both. MS has a modern fork of Mono runtime within .NET which they will push devs to use. The original Mono has been given to WINE for compatibility with older programs.
Quoting: Purple Library GuyQuoting: wytrabbitBut Mono was already open source. It started as an open source thing to try to deal with the problem that was MS' .Net, which originated basically as a platform to exclude Linux. So I don't see why WINE would have needed to do any of that. MS are just saying "We have no more use for it, how about you guys maintain it?"Quoting: Purple Library GuyKind of feels like Mono is a corpse they are graciously allowing the Wine people to bury for them.
But... WINE has put a lot of effort over the years into supporting programs for old defunct Windows releases. Microsoft no longer needs it, and they're recommending all new code to use their modern fork, but these are like receiving the exam answers ahead of time. Now WINE no longer needs to guess and reverse engineer Mono related code, saving them time and money.
But how much of that could WINE use without the Mono project keeping an open source license? Since WINE would redistribute Mono with installations, possibly modifying it as necessary, it seems to me like they'd be in a delicate position. Sure it's open for us but we're protected by "personal use".
First of all, Microsoft is not the same anymore: their cashcows are Office365, Azure and ChatGPT now, not Windows. This had a big impact on DotNet: where it first was a Windows only platform to lure developers into the Windows (server) ecosystem, DotNet is now a vehicle to lower the barrier to use Azure. And just to be clear: yes it is fully open source, no strings attached, just like most other programming languages. Getting developers on Azure is not done through lock-in: they just make really good Azure integrations. A part of this new stragety, is that they support Linux as a first class _runtime_ citizen now, because developers like running their servers in Linux. Hence, the new DotNet from version 6 forward (which is the fork they are talking about) has true full cross-platform runtime support. The stance towards desktop Linux has changed from actively hostile to ambivalent/slightly interested. Microsoft wants to move away from Visual Studio to VS-Code, but it is simply a lot of work with medium priority. This of course is good for Linux, since VS Code is also cross platform. I have developed some projects on Linux, and it is doable, just not perfect yet, but I believe they will get there. Again: anything that gets developers on Azure is a win.
Mono was from before DotNet 6 and is being fased out in favour of the new DotNet (which is just plain better, even on Linux). Unity indeed still uses it, but wants to move away from it in the end.
So is this good or bad? I think this is more a suggestion of goodwill to the WINE devs, since in absolute terms, this doesn't really matter much. But a good gesture is still good in my book.
Also: I don't really like the way some people draw modern Microsoft as the arch enemy of Linux. This was true in the past, but times have changed and, most importantly, business incentives have changed. Corporations aren't people, just follow the money.
Quoting: AdutchmanAlso: I don't really like the way some people draw modern Microsoft as the arch enemy of Linux.Maybe because of the recent breaking of most of the Linux dual boot due to a windows update.
Compagny as a whole are friendlier with Linux, still no company (and no institution as well) is as adversial to Linux than Microsoft, even as a big chunk of their revenue come from Linux adjacent products.
Quoting: wytrabbitQuoting: Purple Library GuyQuoting: wytrabbitBut Mono was already open source. It started as an open source thing to try to deal with the problem that was MS' .Net, which originated basically as a platform to exclude Linux. So I don't see why WINE would have needed to do any of that. MS are just saying "We have no more use for it, how about you guys maintain it?"Quoting: Purple Library GuyKind of feels like Mono is a corpse they are graciously allowing the Wine people to bury for them.
But... WINE has put a lot of effort over the years into supporting programs for old defunct Windows releases. Microsoft no longer needs it, and they're recommending all new code to use their modern fork, but these are like receiving the exam answers ahead of time. Now WINE no longer needs to guess and reverse engineer Mono related code, saving them time and money.
But how much of that could WINE use without the Mono project keeping an open source license? Since WINE would redistribute Mono with installations, possibly modifying it as necessary, it seems to me like they'd be in a delicate position. Sure it's open for us but we're protected by "personal use".
Microsoft did the opposite, they re-licensed Mono as MIT instead of GPL (worse for software freedom, but better for people wanting to fork it). Mono is fully open-source, it could be forked at any time, and in fact most other .NET stuff is also open source these days and supports Linux and all. Microsoft long ago realized that, like Google, they can keep lots of control without draconian licenses that scare people off.
What they gave was control over the upstream, the "name", so that the WineHQ people don't need to fork it and then promote their fork to everyone: "hey mono is dead, so we made this fork which is a successor to mono, and you might not know us but we are the real deal". Microsoft handed them the project and now they are the "real" mono. Does this matter? Idk.
See more from me