15 ms·
Microsoft donates the Mono Project to the Wine team
- larsrc 2y ago"Donates"? A code base is a maintenance burden.
- pstrateman 2y agoYeah if this doesn't come with a substantial endowment it's not a donation.
- RandomThoughts3 2y agoThat’s the old code base which has been in maintenance mode for 5 years and which Microsoft doesn’t want to maintain anymore. New development still happen in a fork which remains under the stewardship of Microsoft. Second paragraph of the article by the way, just saying.
- farhaven 2y agoSo Microsoft gave the Wine project the software equivalent of a stained mattress?
- RandomThoughts3 2y agoThe Wine project apparently decided they wanted to keep alive an old version of a piece of software Microsoft has no interest in and Microsoft gave them the official repo instead of throwing it out. Mostly interesting in that it is a token of goodwill from Microsoft to Wine something which is in line with the current Microsoft view of the OS market but would have been very surprising not that long ago.
- PretzelPirate 2y agoIt's not like Microsoft can force Wine to take the codebase. In order for this to be donated, the Wine project needed to accept it.
- kergonath 2y agoPretty much, by the look of it. But we still don’t know everything or what exactly the Wine project has on its metaphorical mind.
- RobRivera 2y agoFeel free to donate me a 90s Honda Civic
- nerdjon 2y agoI 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 have not already) diverge?
- deleted 2y ago[deleted]
- JackSlateur 2y agoMono 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 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 newer ".net core" (which is not compatible). Because wine wants to be able to run older windows code, they probably still use this.
- nicce 2y agoWinehq is probably the only org who might have needs to add something in there. So why not have a control of it, even if the contributions are rare. Edit: To add, isn’t the above about ASP .NET Core? Mono is mostly about the time before Core, and it is not the same.
- filmor 2y agoMono has support for app domains (and is in general closer to .NET Framework), a more powerful C API and runs on more architectures.
- actionfromafar 2y agoThis must be the reason. Wine seeks to be compatible with a bunch of legacy software, some of which will want to use the equivalent of .NET 1, 2, 3, and 4.x Framework and not just "dotnet core". (Or whatever the new thing is called in Microsoftese this week.) Edit: maybe this means WPF can be the best way to write Linux applications. After all, Win32 is the stable Linux API... nudge nudge, wink wink. :-D
- commercialnix 2y ago[flagged]
- minkles 2y agoPerhaps us C programmers should be telling the Rust programmers to stop shitting up the industry for everyone else because "C" is too hard to get right? Really, point aside, there is no place for zealots and many places for a rational decision analysis in what tools to use. Absolutes and extremism are all bad.
- commercialnix 2y ago[flagged]
- minkles 2y agoThere 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!
- commercialnix 2y agoI 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".
- minkles 2y agoOh wow so you write fancy crud apps on the web? I've already got 300 people who can do that in C# (.net core) already. Why do I need any Rust people? What I need is people who can write very complex rule and constraint engines, mathematicians and statisticians to deliver some business value, not crud monkeys.
- 2y ago
- donatj 2y agoIs the correct interpretation, reading between the lines that the original Mono project is being retired, and basically put on life support?
- deleted 2y ago[deleted]
- Wytwwww 2y agoI think this has already been the case for years? Mono didn't really have much of a point after MS opensource .NET and ported it to other platforms.
- rererereferred 2y agoAnd Wine will probably not do much more than maintenance so applications targeting .net 1-4 work on Wine.
- CuriousCosmic 2y agoSomewhat? Mono is still really the only way to run older .NET (pre FOSS runtime/Core .NET) on non-Windows platforms. So Wine has historically kept a fork of mono for use within Wine for supporting .NET apps. Modern .NET can be built for Linux, etc so this is less relevant now but there are still a lot of apps that depend on old .NET and Wine still gets value out of that. There are a bunch of downstreams that get used for various purposes (Microsoft uses mono for webasm embedded .NET for example) so it makes sense to give over ownership of Mono to the Wine community as they are best aligned with the original upstream's intended use case (as a full replacement for .NET). So yes it's on life support but arguably more in the sense that it has since specialized into a bunch of downstream projects. The upstream will probably mainly be used for coordinating common improvements that all of the downstream forks care about (which are mainly Wine and Microsoft).
- YoshiRulz 2y agoLook at the release history and you'll see it was already on life support. MS stopped adding new features to .NET Framework with 4.8 but Mono has yet to reach parity with that.
- rickcarlino 2y agoI feel like I’m missing some context here. Is this a “free as in take this puppy” situation? How do the wine developers benefit from this?
- minkles 2y agoI 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.
- jcims 2y agoHow has ’free as in puppies’ not reached its rightful place on the podium?
- spiderfarmer 2y agoBecause nobody wanted to maintain it.
- karmajunkie 2y agoi’d upvote this twice if i could…
- ragebol 2y agoI'm not a dog person: a puppy would be a burden (financially and time-wise) and provide me barely any fun.
- yathern 2y agoI think that's the intended implication - that it's "free to a good home" - meaning any new owner takes on a lot of responsibility.
- bmacho 2y agoThat's what ’free as in puppies’ mean. 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.
- stefanos82 2y agoMy assumption is that it must have something to do with https://en.wikipedia.org/wiki/Wine_(software)#Microsoft_applications https://en.wikipedia.org/wiki/Wine_(software)#Microsoft_appl... This way will allow them to improve Mono accordingly? Who knows? /me-thinks...
- RobRivera 2y ago[flagged]
- zbowling 2y agoI 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 the iPhone where you can't JIT, or for random architectures that don't matter anymore but once did for Linux (Alpha, Itanium, PPC, MIPs, etc.). When Microsoft bought Xamarin (which itself was born out of the ashes of the Novell shutdown of the Mono effort) and started the DotNET Core efforts to make .NET more portable itself and less a system-provided framework and merge in a lot of the stuff Mono did a single more focused project made more sense. Mono was still left out there to support the edge cases where DotNET Core didn't make sense, which was mostly things like being a backend for Wine stuff in some cases, some GNOME Desktop stuff (via GTK#, which is pretty dead now), and older niche use cases (second life and Unity still embed mono as a runtime for their systems). The project was limping, though, and sharing a standard library but different runtimes after much merging. Mono's runtime was always a little more portable (C instead of C++) and more accessible to experiment with, but we need that less and less, but it's still perfect for Wine. So, having it live on in Wine makes sense. It's a natural fit.
- lolinder 2y agoIs 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 somewhere for getting set up to develop with modern .NET on Linux?
- older 2y agoThis is the official one: https://learn.microsoft.com/en-us/shows/visual-studio-code/getting-started-with-csharp-dotnet-in-vs-code-official-beginner-guide https://learn.microsoft.com/en-us/shows/visual-studio-code/g...
- munchler 2y ago.NET now runs on Linux and other platforms, so what is the purpose of maintaining Mono separately at this point?
- kcb 2y agoMono can run old .NET framework applications directly.
- munchler 2y agoOK, but that doesn't require any further changes to Mono. It should essentially be a read-only project going forward.
- randomdata 2y agoIs there anything to suggest that there will be further changes? I mean, other than bug fixes.
- munchler 2y agoI’m surprised that such an old product would even get bug fixes. It’s not like Microsoft is fixing bugs in .NET Framework anymore.
- kcb 2y ago.NET Framework isn't EOL and is probably going to be supported forever pretty much. There are still regular updates to .NET Framework distributed through Windows Update.
- stackskipton 2y ago"Supported"... Kind of. Showstopper stuff is fixed. Other stuff is not. My last company had two open bugs with .Net Framework on more recent versions of Windows Server that were year and half old. .Net Framework will be supported as long as Windows Servers OSes it runs on support it. If Windows Server team ever casts it out, it will die.
- masfuerte 2y ago> We want to recognize that the Mono Project was the first .NET implementation on Android, iOS, Linux, and other operating systems. Is this true? The pre-releases and version 1 of .Net came with the source for a reference implementation of the CLR that ran on Linux or BSD. I can't remember what license it had and I thought Mono was a separate project, but maybe Mono was based on it. Not that it matters now.
- tredre3 2y ago.Net Core 1.0 released in 2016 supports Linux yes. Lagacy .Net never supported OSes other than Windows. Mono, released in 2004, was the first attempt to bring it to other OSes.
- deleted 2y ago[deleted]
- saurik 2y agoYou are thinking of Rotor. FWIW, I also feel as if Portable.NET--which was rebranded at some point to DotGNU when I think it was even donated to the FSF--had predated Mono in functioning? The Mono website has an archive of an old mailing list post which at the time talks about even-older origin of the project. It is (of course) heavily biased for Mono, and hilariously gives me an awkward shout out ;P. https://www.mono-project.com/archived/mailpostearlystory/ https://www.mono-project.com/archived/mailpostearlystory/
- masfuerte 2y agoThank you! So it ran on Windows, FreeBSD and Mac OS X making it the first non-Windows implementation of .Net, but it didn't run on Linux. It also had a fairly useless licence, so Mono was separate. https://en.wikipedia.org/wiki/Shared_Source_Common_Language_Infrastructure https://en.wikipedia.org/wiki/Shared_Source_Common_Language_... Edited to add: and thanks for the link. Only three developers and there's already drama! :-)
- peppertree 2y agoNever miss a good tax write-off.
- bawolff 2y agoI dont think this makes sense. What value would even be written off here?
- KeplerBoy 2y agoA value you come up with hoping the IRS will not one day disagree.
- bawolff 2y agoThis gives me strong https://youtu.be/aCP27_vquxQ?si=WztFEXETGLcsAT51 https://youtu.be/aCP27_vquxQ?si=WztFEXETGLcsAT51 vibes. I dont think this is how it works in the real world. Even if it did, giving it away would be equally a write off as just shutting it down.
- tedunangst 2y agoI thought that would be a link to the Seinfeld episode. https://www.youtube.com/watch?v=XEL65gywwHQ https://www.youtube.com/watch?v=XEL65gywwHQ
- cxr 2y agoI know it's a long-standing empirical truth that anyone involved with Mono is required to prefer doing just about anything besides thinking about or touching what's on the Mono project website, but this announcement really deserves to be put on page unto itself with a URL all its own, rather than shoehorned into an anonymous div on the Mono landing page and at the top of /news. See <https://simonwillison.net/2024/Jul/13/give-people-something-to-link-to/ https://simonwillison.net/2024/Jul/13/give-people-something-...>.
- romwell 2y agoIt seems like the link we got (https://www.mono-project.com https://www.mono-project.com) might be the URL for the announcement - that's to say, this is the last update on that website, and will stay there indefinitely.
- repelsteeltje 2y agoI'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?
- Y_Y 2y agoWine Is Not an Emulator but it is indeed the basis for Proton
- tapoxi 2y agoVia wine-mono Games themselves typically aren't .NET but ancillary components, like launchers or map editors, are.
- justsomehnguy 2y agoYou are probably mix up .NET and C# somewhat.
- troymc 2y agoFun 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.)
- qingcharles 2y agoThank you, that explains the Mono in SL.
- toastercup 2y agoIt does indeed still work that way! We even still support the old, in-house VM, known as LSO2: https://wiki.secondlife.com/wiki/LSO https://wiki.secondlife.com/wiki/LSO We're hard at work adding Luau (https://luau.org https://luau.org) as a supported language for both in-world scripting as well as client/viewer-side scripting. As a handy byproduct of that, LSL will also gain the ability to be compiled to Luau bytecode, allowing us to eventually (someday, at least) shed any need for our custom-patched version of Mono 2.6. More juicy details here: https://wiki.secondlife.com/wiki/Lua_FAQ https://wiki.secondlife.com/wiki/Lua_FAQ Source: I work at Linden Lab. If these sorts of things excite anyone, we're hiring! https://lindenlab.com/careers https://lindenlab.com/careers
- officeplant 2y agoAlways nice to see that SL is still going. I'll probably never remember my login to my old 2006 era account but the years of weird virtual world memories remain.
- PinkMilkshake 2y agoCool! LSL is such an interesting language. Having an explicit state with entry and exit functions is quite unique I think, and seems like it could be useful outside of SL. Given that scripts are isolated and communicate via messaging over channels (IIRC), was there ever any interest in executing it on the BEAM virtual machine?
- neonsunset 2y agoFor 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 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 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 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.
- Rochus 2y ago> due to a massive rift in performance between the two Not that massive; factor 1.8 as we found out recently.
- neonsunset 2y agoThis is not an accurate assessment, I'm afraid. The comparison we discussed was for unrepresentative code that used none of the features that make .NET fast (generics, SIMD, expected forms of inheritance and abstraction and devirtualization they enable, CoreLib APIs). The closest case in there was JSON serialization which CoreCLR was 385% faster at. It is unfortunate that you feel a need to say this, knowing that it doesn't even show a tip of the iceberg. Please do not mislead casual readers here with such comments. They will have a bad time running basic programs - the original Mono is outdated and cannot execute assemblies that target non-legacy versions, and the Mono that lives in dotnet/runtime (which you have to go out of your way to use on CoreCLR platforms) tends to have all kinds of regressions on user-provided code that is not as robust on runtime checks to ensure that Mono does not accidentally go onto the path that that it has especially bad regression on. Even CoreLib code nowadays uses more and more struct generics assuming monomorhpization which performs poorly on Mono. There is very little work done to improve performance on Mono with effort invested mostly in WASM area and to ensure it does not regress further. Major platforms like Android and iOS are in the slow but steady progress to migrate to CoreCLR/NativeAOT (there are other reasons not in the least much smaller binary size). And for WASM there is NativeAOT-LLVM experiment that is likely to make Mono obsolete for that target too. The workloads that matter and are representative are the ones produced by C#, F# and VB.NET compilers as well as projects that care about exercising the standard library and/or produce recommended CIL forms (like https://github.com/FractalFir/rustc_codegen_clr https://github.com/FractalFir/rustc_codegen_clr).
- __s 2y agohttps://wiki.winehq.org/Mono#Microsoft_.NET https://wiki.winehq.org/Mono#Microsoft_.NET for why Mono is relevant to Wine
- nequo 2y agoThank you, I’ve been looking for an explanation of this. So Mono is useful to Wine because its users care more about licensing and running legacy software: Mono is free software and an acceptable runtime for pre-.NET 5.0 stuff.
- high_5 2y agoWine is becoming like archive.org, but for win32 runtimes.
- whalesalad 2y agoWhat is the mono logo? a gorilla with a hat? or a pile of poop? serious question.
- randomdata 2y agoA portrayal of someone's attempt at giving a "thumbs up" with a broken thumb, obviously.
- eddythompson80 2y agoIt's a Monkey's head. Mono is Monkey in Spanish. The original author, Miguel de Icaza, is Mexican-American.
- rgovostes 2y agoI always assumed Microsoft did not condone Wine or other re-implementations of their APIs (like ReactOS), but that they were protected by DMCA reverse engineering provisions and anyway too insignificant to send the legal team after. Wikipedia says, > Until 2020, Microsoft had not made any public statements about Wine. ... On 16 February 2005, Ivan Leo Puoti discovered that Microsoft had started checking the Windows Registry for the Wine configuration key and would block the Windows Update for any component. As Puoti noted: "It's also the first time Microsoft acknowledges the existence of Wine." > In January 2020, Microsoft cited Wine as a positive consequence of being able to reimplement APIs, in its amicus curiae brief for Google LLC v. Oracle America, Inc.
- jimrandomh 2y agoIf Windows Update replaced components of Wine, that would (a) break people's Wine installs, and (b) give those users a way to legally get Microsoft's versions of those components for use outside of Windows.
- rescbr 2y agoMicrosoft’s EULA would still apply to (b). It’s the exact same situation as downloading a Windows ISO from Microsoft’s website and running it with an activator.
- kelnos 2y agoI think Microsoft has finally realized that its animus toward projects like Wine and pre-acquisition Mono was ultimately unproductive, and a net negative for Microsoft itself. I still don't trust MS's motives in general, but I think they at least recognize that Wine/Proton helps make the Win32 and DirectX APIs a sort of de-facto cross-platform standard when it comes to things like desktop gaming, and that this is a good thing for them. On the server side, MS knows that Linux is by far the most popular server OS, and official support for running .NET backend apps on Linux from MS themselves is a win for them as well.
- kragen 2y ago
- voytec 2y agoIs this a "dropped on community" project like Borg/Kubernetes fiasco with most PRs ending up in the following, and just corpo-sponsored changes and patches getting through? > The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.
- pentagrama 2y agoA bit off-topic, but this makes me wonder about the relationship between Microsoft and Wine. Do they consider it a threat? An ally? Both? This is my first time seeing Microsoft acknowledge Wine's existence, and in this case, it was at least in a friendly manner? Or could there be bad faith behind this 'donation'?
- kelnos 2y agoAnother poster quoted Wikipedia somewhere here; MS implicitly acknowledged Wine's existence back in 2005 when they added a check for some of Wine's registry keys which would disable Windows Update if it found them. And in 2020 MS filed an Amicus brief in that Google/Oracle lawsuit in support of free re-implementations of APIs, citing Wine as a positive example. While I am still wary of Microsoft after their previous anti-competitive behaviors, I think they've taken a more pragmatic view of late, and realize that projects like Wine are actually good for their platform as a whole. I expect if Wine/Proton did not exist, we'd see more (for example) Windows-only games ported to macOS or Linux. With Wine/Proton, those ports are mostly not necessary, and Microsoft gets to say that Win32/DirectX is something of a cross-platform gaming "standard".
- datavirtue 2y agoWhat could WINE possibly do to them? Rob them of all kinds of enterprise and cloud business? WINE is a single LED on a nuclear powerplant control panel.
- justsomehnguy 2y agoThe best Wine environment is still a Windows install. You need a lot of things to do to run some of the mill Win32 app, so Wine is not a direct threat for MS in any foreseeable future.
- Lockal 2y agoYes, some things never change: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
- DrNosferatu 2y agoThey could also donate comparability with modern MsOffice.
- DrNosferatu 2y ago*compatibility :D
- philip1209 2y agoCan anybody speak to the accounting implications of "donating" software to a foundation/501(c)3? Can there be any kind of tax write-off? (It looks like this might already have been owned by a foundation, but I'm still generally curious)
- IshKebab 2y agoAt best you would be limited to the value lost which is essentially zero, so no.
- nedt 2y agoMono was very useful in university. Must have been 2005 when I got asked if I wanted to use Java or C# for the programming course. Being bored with Java I picked C#. We were a very small group of two students. But as I just had a Powerbook I used Mono to run it on OS X. At the end of the course someone from Microsoft came to the university to answer any of our question about upcoming features in .NET and C#. And as we were a small group I set directly in front of him with the shiny apple point at him. Very interesting language at that time. .NET not so much. Also still remember that we were tasked to implement 3 sort algorithms of our choice. One of mine was bogosort and with Mono on PPC it could sort up to 7 elements, before becoming really slow.
- fluoridation 2y ago8! is 40320. Even if it took 10 times as many iterations to find the correct order, it would still only be less than 4 million swaps. Just how slow was that computer?
- nedt 2y agoSo it was a PowerPC, not so much Software was optimized. Then it was a new language written to be used on Windows. And that was run via Mono, which was a 3rd party actually writing it for Linux and not a BSD derivative on a CPU that no one is using with a kernel that's different. It might not have been that horrible, but it was just a quick presentation. Nothing that should even run for a minute.
- Havoc 2y agoHow is .Net/Mono connected to Wine? Or is this more of a steward role rather than technical connection
- pjmlp 2y agoYet another piece of Xamarin/Mono that falls down. No wonder Miguel de Icaza is now focused on Swift, Godot and Apple's ecosystem, all the promises done at Xamarin acquisition time are gone now. Mono Develop killed, after being renamed into VS4Mac, gone through a rewrite, only to be killed shortly after the rewrite reached 1.0. Xamarin.Forms rewriten into MAUI, with incompatible APIs. MSIL Linker had a better chance as a critical piece of Blazor WebAssembly and Native AOT. The whole dotnet reload drama. Now Mono donation, and then .NET team is surprised .NET uptake on UNIX shops isn't as they expect. In alternative universe when the Xamarin acquisition didn't happen, where would we be now?
- aspeckt112 2y agoBased on how Xamarin performed prior to the MS acquisition, I'd guess dead. The license cost was high, and the MS acquisition came right around the time React Native and Flutter started to enter v1. I think they'd of been blown out of the water pretty quickly. At least Microsoft allowed Xamarin to get into enterprise .NET shops pretty quickly. There's a lot of B2B form based apps written in Xamarin. I worked on a pretty big one that made (and continues to make) a lot of money. I've long assumed the point of the acquisition was because Xamarin did basically all the hard work of allowing .NET to be cross platform.
- pjmlp 2y agoEver heard of Rotor? https://www.codeguru.com/dotnet/net-nuts-bolts-the-joy-of-rotor/ https://www.codeguru.com/dotnet/net-nuts-bolts-the-joy-of-ro... Or DotGNU? https://www.gnu.org/software/dotgnu/ https://www.gnu.org/software/dotgnu/ What happened to Xamarin looks like Microsoft took whatever IP was relevant, and left everything else go, which this decision is a confirmation thereof. It is kind of interesting to see Miguel's feedback, now that he his allowed to talk about how things went down.
- aspeckt112 2y agoI’m a big fan of Miguel’s work. His comments have been pretty interesting. You also don’t have to read between the lines much to know how he feels about what’s happened to his tech. I assume he’s got fuck you money now though. I’m very excited to see what he does with Swift and Godot, Swift is a great language for gamedev.
- pdmccormick 2y agoI'm genuinely curious, for someone who develops web application backends and larger distributed systems & infrastructure, predominantly using Go and Python, exclusively targeting Linux, is there anything in the .NET ecosystem that anyone would recommend I take a look at? Many thanks.
- BeetleB 2y agoYou may want to look at F#. Because it's .NET you have a large list of libraries you can use
- zakki 2y agoFor a beginner, high school but zero experience in programming, which one easier to learn, C# or F#?
- lostmsu 2y agoC#
- zakki 2y agoThanks
- tomtheelder 2y agoHonestly this is such an interesting question. Conventional wisdom would definitely say C#, but I’ve always wondered if that’s because imperative programming is easier than functional for a beginner, or because basically everyone starts with imperative. I’d be curious to see what would happen if someone started functional first. All that said, probably C#.
- deleted 2y ago[deleted]
- troad 2y agoDefinitely C#. You’ll find tons more resources. F# is fantastic, but it’s not a good *first* programming language. A lot of what you’ll learn when you first learn programming is going to be applicable in any language though. Once you’re comfortable with C#, and can understand the difference between imperative, object-oriented, and functional programming, you’ll be in a good place to check out F# (or any other language, really). Good luck with your learning!
- deleted 2y ago[deleted]
- 0xedd 2y ago[dead]
- klyrs 2y ago"Free as in beer" just became "free as in pony?"
- whyenot 2y agoWhat is Miguel de Icaza up to these days? I saw on Wikipedia that he left MS in 2022 to take some time off, but surely he's working on something now? (if you respond, please, lets not get into his politics; HN is not the right place to have that kind of discussion)
- zbowling 2y agoHe is making terminal emulators for iOS, iPadOS, and VisionOS and loving Swift these days.
- hnarayanan 2y agoAnd Godot!
- rcarmo 2y agoSpecifically, he has a port of the Godot editor for the iPad in the works.
- aussieguy1234 2y agoThis makes me curious. Could MS secretly be using wine for some of their Azure services?
- Kwpolska 2y agoWhy would they use Wine when they have free and unlimited access to the real deal?
- aussieguy1234 2y agoWell, let's say they wanted to use Linux, but run their windows software on it.
- Kwpolska 2y agoWhy would they want to use Linux though?
- aussieguy1234 2y agoWho knows why, but they already are. Apparently hotmail in the early days used Linux for some servers. Linux is pretty common in Azure.
- Kwpolska 2y agoHotmail was built on top of Unix by someone else, and then Microsoft acquired it. Yes, Microsoft does do Linux these days, they even have their distro, but this still does not answer the question of why they would replace real Windows with Wine and risk compatibility issues, if they don’t have to pay anything for licenses.
- ineedaj0b 2y agoi think this is related to Xbox soon launching a handheld gaming device like the switch/steam deck. anything that directly refutes this hunch?
- hexxington 2y agoMe. I directly refute this hunch. Nothing to do with xbox ever entered the discussion.
- ineedaj0b 2y agothanks! I kept thinking Microsoft needs to port a windows version for their handheld, doesn't want to use steamos, but also needs to work with 'interesting' hardware. Their answer would be a linux port imo, but having too much there could annoy trust regulators so they divested from mono. but I had zero proof for any of these hunches.
- signa11 2y agoreminds me of classic mitch-hedberg quip “here, you throw this away”, when some hands you a flyer on the street.
- methods21 2y agoThis will sound pretty dumb, but with all the amazing cross platform games written in Unity - which I thought was Mono or some form of cross platform library with .NET as one of the primary languages, I always wondered why there was not a more 'business app version' of this. After using Xamarin, Appcelerator, and dozens of other 'cross platform tools', with to be let down from ALL of them in the end and/or support dropped.... Having to support multiple platforms, esp. IOS vs. Android still seems to be stuck in the stone ages, esp. for small dev teams that can't allocate massive resources to multi-platform...
- bootloop 2y agoMostly because business apps have to appear similar to the platform UI. Games do not, they have to look the same regardless of the platform in use. And making a cross platform app framework which looks like native UI is much harder. In contrast, Unity's UI systems are all terrible and looking native isn't even one of their goals.
- dax_ 2y agoIf you want a consistent UI (non-native look), your best bet may be Blazor Hybrid currently. Yes, it's web technology (with the overhead that comes with that), but at least it uses the native browser components, so it's not nearly as "heavyweight" as something like Electron. My main concern has always been the lack of Linux support, but maybe that's not an issue for you.
- sswam 2y ago[dead]
- hilux 2y ago> We are happy to announce that the WineHQ organization will be taking over as the stewards of the Mono Project I'm a little out-of-the-loop here. Does this announcement mean that Microsoft used to fund developers to work on this project, and now will cut that funding?
- torginus 2y agoWhat does 'donate' mean? Does it essentially mean that they're abandoning it and pull all resources, while the Wine team is welcome to continue maintaining it if they want to? Also, I'm not sure how relevant Mono is in the context of Wine. .NET Core is no longer an OS component, but just a runtime that ships with software. Imo their focus should be on getting said runtime working, rather than maintaining a .NET fork.
- YoshiRulz 2y agoThe .NET Core Runtime works great on Linux, but it can't run .NET Framework apps, hence wine-mono.
- alberth 2y agoDoes this allow Microsoft to have a $400M tax write-off? https://www.bloomberg.com/news/articles/2016-02-25/microsoft-said-to-pay-about-400-million-in-xamarin-acquisition https://www.bloomberg.com/news/articles/2016-02-25/microsoft...
- pyeri 2y agoI think it makes sense. Considering that they are two competing technologies which more or less try to accomplish the same thing - make Microsoft technologies compatible with other platforms.
- WaitWaitWha 2y agoI like the strategic approach. Pay attention software publishers, and hardware manufacturers! You can gain some significant public accolades. When a publisher or manufacturer wants to end a product line, instead of shutting it down, spin it out as F/LOSS, and give it some seed money. If the thing is good, people will pick it up and it will survive. If not, the company still gains public appreciation. This dovetails well as a potential solution into the problem we are discussing in the Smart TV, smart home, smart vehicle articles.
- hobo_in_library 2y agoI wonder what kind of a tax write off this can turn into
- stcroixx 2y agoAnother perfect execution of embrace(Microsoft became the steward of the Mono Project when it acquired Xamarin), extend(Microsoft maintains a modern fork of Mono runtime in the dotnet/runtime repo and has been progressively moving workloads to that fork), extinguish(we recommend that active Mono users and maintainers of Mono-based app frameworks migrate to .NET) for anyone who thought MS had actually changed since the bad old days.
- djmips 2y agoOnly wrinkle is that Mono was originally a .NET runtime for Linux. So they weren't embracing an external standard but a knock-off of their own. But I still agree with elements of your statement in principle. However, giving Mono back to open source is an interesting development and I don't know how it fits in your narrative.
- fluoridation 2y agoThat's not what EEE is. For starters, the term applies to standards, not to implementations. The standard here is .NET, which Microsoft controlled from the start.
- SuperNinKenDo 2y agoThat's a funny way to spell "fobs off".
- purplezooey 2y agoThis seems to happen a lot. The thing gets acquired, makes somebody rich, then is completely written off on the balance sheet 5 years later.
- alchemio 2y agoEmbrace, Extend, Extinguish, Endow