I'm not sure whether to interpret Microsoft's donation of the project as a good or bad thing. Yes, they have given it a home under a project that is not driven by corporate whims*, but doesn't that then recuse Microsoft from any responsibility of contributing?
*Yes, Wine is heavily developed by CodeWeavers, but CodeWeavers exists largely to help fund and support Wine.
"Modern" .NET (previously ".NET Core" v1, v2, v3 - but now just ".NET" v6, v7, v8, v9) works really well on Linux and in containers etc. "Legacy" .NET, .NET Framework, version 4.X, does not.
If you build something new today in .NET land you are using a version that is compatible out of the box with linux, but there's gazillions of LOC .NET Framework out in enterprises that have yet not been migrated/rewritten.
But I don't actually know if Mono is stable enough to run Framework services on Linux?
I don't know how (if at all) Kudu is related to Mono, but on Azure you can run .NET Framework in e.g App Services (which uses Kudo under the hood). It's probably the only way to host a Framework service outside of IIS on a Windows VM. And Kudo contains references to Mono, and looks really linuxy when I've used it.
It 100% is! I've used Mono years ago to run older .net in VMs and containers. I found a single service that didn't really work well and we spent our time working on that instead of rewriting the world.
> If you build something new today in .NET land you are using a version that is compatible out of the box with linux
This is not a generally true statement, particularly with anything involving UI. WPF or anything modern WinForms are not supported. MAUI has no official Linux support.
And neither is recommended to be used over AvaloniaUI (or Uno, or Gir.Core if you want to target just Linux), which supports it.
Given the amount of whining about Linux GUI support despite good and proven solutions being provided, it leaves me with an impression some parts of Linux community actually don't want support at all and the goal is to have a convenient scapegoat to complain about.
>I haven't been following .NET lately, but AFAIK .NET works on Linux now and "Mono" is basically .NET for Linux... what even are the differences?
Mono implements the GUI stuff like WinForms
Microsoft .Net for Linux /cross platform has no GUI or maybe they added some new GUI now , I am not a .Net dev ,I know they were experimenting always with latest and greatest GUI stuff and failing to get traction.
I don't actually think mono ever implemented cross-platform versions of the various GUI libraries. There was/is Gtk#, a binding to the Gtk GUI library, which was used for a few Linux apps.
> I haven't been following .NET lately, but AFAIK .NET works on Linux now and "Mono" is basically .NET for Linux... what even are the differences?
Ideally few, but I think it is a good thing to have a separate implementation of the dotnet runtime as an insurance policy against the main contributor to dotnet.
This is exactly the kind of argument that leads to projects decaying. Not saying that WINE will let that happen, but without contributions, it is hard to develop, maintain and upgrade codebases the size of Mono.
i'm not saying mono doesn't need contributions, i'm saying that microsoft in particular has no real reason to contribute to it. it's not part of their .net strategy in any way, and it wasn't even their project to begin with.
*Yes, Wine is heavily developed by CodeWeavers, but CodeWeavers exists largely to help fund and support Wine.