Microsoft's own FOSS multiplatform implementation of the .NET runtime is now much more performant and feature complete than Mono.
However Mono is easier to embed into other applications and easier to port to new platforms. That is for example why it's used for the .NET/Blazor WebAssembly stuff. Microsoft still maintains their own fork of Mono for this specific use case.
Mono also implements some of the legacy Windows Desktop GUI frameworks like WinForms and WPF that Microsoft never bothered to port to their new .NET runtime. This is probably why the Wine developers might be interested in Mono.
Mono also supports winforms. I don't think they're supported in dotnet (but there's libraries for Gtk, although you could also use Vala with a bit extra effort).
A shoutout goes to a project that aims to simplify CoreCLR embedding UX to prevent the issues stemming from embedding legacy Mono: https://github.com/StudioCherno/Coral
I was pleased to see WinForms got some updates in .NET9. I really thought they'd left it. I still use it every day when I need to spin up a new tool to do some little task that needs a GUI.
Free software is typically described as "free as in freedom" or "free as in free beer". (This is probably a limitation of English tho, my language has 2 different words for permissions and costlessness.) GP above proposes the "free as in puppy" variant, which means that it is a burden of maintenance. I can't recall any real examples for this.
If you want to be pedantic, English does have distinct words for the two connotations of free--"liberal" and "gratuitous". Although it should also be immediately obvious why those words aren't preferred either: "liberal" also has several other connotations (to the point that a "Liberal Party" could be almost anywhere on the political spectrum), while "gratuitous" tends to lean more towards "unnecessary" than "free of charge" in common parlance.
> English does have distinct words for the two connotations of free--"liberal" and "gratuitous".
Sorry but no it doesn’t. These words have the other meanings you mentioned, but they don’t include either of the meanings of “free”.
If you said you were giving away “gratuitous software”, native English speakers wouldn’t know what you were talking about. The only way to understand it would be to realize that those words are etymologically cognate to words in European languages that do have those meanings.
The word "liberal" definitely has the same definition of "libre"--ever hear of the term "liberal democracy"? That's exactly the same kind free they're talking about.
> 2. given, done, bestowed, or obtained without charge or payment; free; complimentary.
It's more of a stretch there, because the primary definition of gratuitous has a connotation of unnecessary, even undesirable. If you didn't have at least some hint of disapproval of a service, you'd reach for the word "free" long before "gratuitous".
The “liberal” in “liberal democracy” doesn’t mean the same thing as the “free” in “free software”. It’s the license that is liberal, not the software itself, so at most I’d admit that “liberally licensed software” means the same thing.
Similarly you would say someone who’s gotten out of prison is now “free” (or libre in French or Spanish) but you wouldn’t say they’re “liberal”.
"Gratuitous software" would be excessive and unnecessary software. Which I think a lot of commercial (particularly "news") websites qualify for, and "modern" websites in general. NPM makes it easy to just install something, which requires all kinds of other things, which duplicate each other, etc.
Strangely enough, I think the LaTex distribution qualifies, too. I tried to install it recently, and it wanted 1 GB of disk space! That's multiple times the size of the entire system disk when LaTeX was created...
Sooner or later a lot of the web is going to run on WASM, at which point we'll have a virtual machine running in a user program running on an OS which incompletely virtualizes the bare machine (hence why we've ended up with WASM). Extra gratuitousity if the browser is an Intel binary being run on an M* processor via Rosetta translation... Maybe eventually we'll realize that the OS needs to provide a full virtual machine, complete with window to draw in, filesystem isolation like Plan 9, etc. But, inertia will probably make it take while.
> Strangely enough, I think the LaTex distribution qualifies, too. I tried to install it recently, and it wanted 1 GB of disk space! That's multiple times the size of the entire system disk when LaTeX was created...
There is the TinyTeX distribution, which is smaller. (Despite its name, it isn't tiny, or small, or medium in size, but it is also large. But smaller than the default LaTeX distribution with all the possible packages, source code and documents.)
Well here in the project readme there is a table with the sizes: https://github.com/rstudio/tinytex-releases (a bit outdated, they didn't refresh it). I downloaded TinyTex-1 for Windows, it's 338 MB uncompressed. It is _huge_ in my book.
Free software releases often include the "free as in puppy" implication as a disclaimer of responsibility for the effort you may need to expend to make use of it - "if it breaks, you get to keep both pieces".
To be fair, "free as in beer" doesn't work for a lot of people who don't drink (or do drink, but don't like beer). I don't think we're going to come up with a one-size-fits-all slogan...
Wine has (or used to have anyway, not sure if it still does) a version of Mono it used to run .NET stuff within Wine; I'd assume this has to do with that, that they were relatively alone in having a continuing interest in the Mono codebase vs. the dotnet core stuff.
I think it's just hurting someone at Microsoft less if they give it a home that isn't /dev/null.
Edit: quick hat tip to Mono.Cecil which I've used a couple of times to crack .Net components to bypass licensing code. It's not that we didn't pay for them but we couldn't be bothered to deal with license deployment and maintenance.