Live data from Hacker News

Microsoft donates the Mono Project to the Wine team

mono-project.com

61–70 of 509 posts

Re: Microsoft donates the Mono Project to the Wine team

#61
post #32

Earlier quoted context omitted.

There are a very tiny minority of people who can choose the right technology for the job. Rust is not the answer for most problems. If you like it or not!

I write fullstack web applications in Rust, client-side too with a shim for interfacing with some JS for the DOM. So, I can agree with you in the abstract, but I'm gonna have to see you as part of the crowd that "hasn't figured it out yet".

Every program I've seen like that is terribly inaccessible. "Doesn't expose headings to screen readers" levels of inaccessible. And yes, you can do a whole lot of working around that, but you know what I'd do?

  Section heading
I like Rust, but please don't write a website in it.

Re: Microsoft donates the Mono Project to the Wine team

#62
I'm not a gamer so forgive me if I see connections that aren't there. Does this in any way impact game emulation? Isn't wine part of proton or stream attempts to run windows games on Linux? I suppose .net and clr play some time in win32, how is that usually emulated?

Re: Microsoft donates the Mono Project to the Wine team

#64

Earlier quoted context omitted.

Is there somewhere where someone new to the ecosystem can get a simple introduction to all of these different terms and which ones are still relevant today? I looked into .NET somewhat recently and came away with the apparently mistaken impression that Mono was how .NET did cross-platform. I guess I must have been reading old docs, but I'm pretty sure they were at least semi-official. Is there good documentation some…

Mono was, but newer versions of .NET run on Linux and Mac. You can install at the link below, and then making a project is just `dotnet new console` and run with `dotnet run` https://learn.microsoft.com/en-us/dotnet/core/install/linux

Mono implemented the GUI stuff like Windows Forms, do the latest windows cross platform stuff support that? Can you run .Net GUI windows program on linux without Mono but using the latest .Net thing ? I know it was not possible in the past.

Re: Microsoft donates the Mono Project to the Wine team

#65

I'm not a gamer so forgive me if I see connections that aren't there. Does this in any way impact game emulation? Isn't wine part of proton or stream attempts to run windows games on Linux? I suppose .net and clr play some time in win32, how is that usually emulated?

Wine Is Not an Emulator

but it is indeed the basis for Proton

Re: Microsoft donates the Mono Project to the Wine team

#66

I'm not a gamer so forgive me if I see connections that aren't there. Does this in any way impact game emulation? Isn't wine part of proton or stream attempts to run windows games on Linux? I suppose .net and clr play some time in win32, how is that usually emulated?

Via wine-mono

Games themselves typically aren't .NET but ancillary components, like launchers or map editors, are.

Re: Microsoft donates the Mono Project to the Wine team

#67
Fun fact: Second Life, the virtual world, has an in-world scripting language called LSL, and it gets compiled to bytecode that gets run on a virtual machine. Initially, it got compiled to bytecode that ran on an in-house virtual machine, but in 2008, they switched over to compiling LSL to Mono bytecode to run on the Mono virtual machine. I wonder if that's still how it works. (I haven't been involved with SL for a long time.)

Re: Microsoft donates the Mono Project to the Wine team

#68
For everyone who is confused by what is going on, here's the explanation:

Today, there are 2.5 Mono's:

Mono that lives in https://github.com/mono/mono. This is the original Mono codebase that was written back then and was the .NET Framework for Linux, with corresponding compat. and such, pioneered by Miguel De Icaza, who now seems to be happier in Swift land. At the present day, it was receiving very little maintenance and I don't believe was actively used. Please correct me if I'm wrong.

Mono that lives in https://github.com/dotnet/runtime/tree/main/src/mono. This is the Mono that got merged into .NET, becoming the building block for multiple components and one of the official runtime flavours. It is actively maintained and is at relative feature parity with CoreCLR, predominantly serving mobile targets (iOS, Android) and WASM as well as exotic or legacy targets like ARMv6, LA64, s390x(?), ppc64. It is also useful for initial stages of new platform bring-up process. Note that you are not expected to use it for targets that support CoreCLR due to a massive rift in performance between the two. When you are using it, you do so as a part of standard .NET toolchain - it is picked automatically for appropriate targets, or can be opted into with some configuration.

Mono that lives in https://gitlab.winehq.org/wine-mono/mono which is a Mono fork actively maintained by Wine for its own usage. Going forward, any possible ambiguities regarding ownership and stewardship are considered resolved and the ownership of mono/mono and everything related to it is transferred to WineHQ.

Honorable mention also goes to private Mono fork used by Unity which they are (painfully) trying to migrate from.

Re: Microsoft donates the Mono Project to the Wine team

#69
post #3

I have only used mono a couple times, but I am a bit confused by the wording here and it is likely because I don't know the full story of Mono. But: > Microsoft maintains a modern fork of Mono runtime in the dotnet/runtime repo and has been progressively moving workloads to that fork. Does that mean that this mono project and its associated repo and what is within the dotnet repo are not the same and could (if they h…

Mono was the .net implementation for Linux (and others ?) years ago while microsoft published the windows .net runtime Since then, microsoft supports https://github.com/dotnet/runtime , which is MIT licensed Mono has no reason to live anymore, hence the lack of commits and contributions It is a dead project, I wonder what winehq has in mind here edit: as pointed by the comments, mono supports .net runtime before the…

> Mono has no reason to live anymore

This isn't really true. Mono functions as a complete replacement for the ".NET Framework" - something that can be used to run any .NET app, including "legacy" apps targeting old ".NET Framework" versions, on any supported platform, even when the app was built to target Windows.

dotnet/runtime is intended to run more modern applications that target ".NET Core" - basically, stuff that's cross-platform on purpose.

There are tons of subtle differences relating to these goals but also some glaringly obvious ones, like mono having an implementation of Windows.Forms.

> hence the lack of commits and contributions

Microsoft have been actively forcing contributors out of mono/mono and into the dotnet/runtime repo for several years now, while Wine kept a weird halfway fork at https://gitlab.winehq.org/wine-mono/mono . Formally transferring `mono/mono` and the Mono name over to Wine will in theory allow `mono` to more effectively accept code which works to improve legacy .NET Framework support for compatibility reasons, while dotnet/runtime can continue to evolve as the way to run intentionally targeted .NET Core code.

Re: Microsoft donates the Mono Project to the Wine team

#70

I worked on Mono a lot back in the early 2000s (back in the SVN days before it moved to Git, even). This move makes a lot of sense. Things evolved a lot over the years. Mono's legacy goals, which are to be a portable CLR (.NET) runtime for platforms that Microsoft didn't care about, don't make much sense today. Mono made a lot of sense for running places where full .NET didn't, like in full AOT environments like on t…

Is there somewhere where someone new to the ecosystem can get a simple introduction to all of these different terms and which ones are still relevant today? I looked into .NET somewhat recently and came away with the apparently mistaken impression that Mono was how .NET did cross-platform. I guess I must have been reading old docs, but I'm pretty sure they were at least semi-official. Is there good documentation some…

dot.net is the official starting point. It'll point you to getting setup with .NET dev on Linux. You can either use VSCode or Intellij Rider.
Post reply on HN