[HN Gopher] Microsoft donates the Mono Project to the Wine team
___________________________________________________________________
Microsoft donates the Mono Project to the Wine team
Author : itherseed
Score : 627 points
Date : 2024-08-27 18:34 UTC (4 hours ago)
(HTM) web link (www.mono-project.com)
(TXT) w3m dump (www.mono-project.com)
| larsrc wrote:
| "Donates"? A code base is a maintenance burden.
| pstrateman wrote:
| Yeah if this doesn't come with a substantial endowment it's not
| a donation.
| rnd0 wrote:
| So ...throwing it over the fence into the neighbor's yard,
| then?
| ielillo wrote:
| More like going to the local library with a bunch of old
| books. It might be worth keeping them, but someone has to
| sort them out.
| RandomThoughts3 wrote:
| That'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 wrote:
| So Microsoft gave the Wine project the software equivalent of
| a stained mattress?
| RandomThoughts3 wrote:
| The 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 wrote:
| It'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 wrote:
| Pretty much, by the look of it. But we still don't know
| everything or what exactly the Wine project has on its
| metaphorical mind.
| nerdjon wrote:
| 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 have not already) diverge?
| JackSlateur wrote:
| 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 newer ".net core" (which is not compatible). Because
| wine wants to be able to run older windows code, they probably
| still use this.
| nicce wrote:
| Winehq 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 wrote:
| Mono has support for app domains (and is in general closer to
| .NET Framework), a more powerful C API and runs on more
| architectures.
| actionfromafar wrote:
| This _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
| nerdjon wrote:
| So if I am understand correctly, what I mentioned is correct?
|
| On the website (where my quote comes from) it links to
| https://github.com/dotnet/runtime/tree/main/src/mono which is
| a mono within what you linked too.
|
| So this is a case of 2 different mono's?
|
| Sorry just trying to make sure I am understanding what is
| happening here properly given the exact same name in 2
| places...
| jabl wrote:
| I know little of dotnet beyond trying various semirandom
| things to make some .net apps work on linux. With that out of
| the way, my understanding is that
|
| - Originally there was .Net Framework, by microsoft, for
| windows only. Versions 1.0 -> 4.8 were released.
|
| - Then mono came along as a somewhat clean-room
| reimplementation of .Net framework, focusing on making it run
| on Linux. Though mono does not implement windows gui widgets,
| so for that there's stuff like Gtk#. And you cannot run
| windows GUI applications on mono for this reason, even though
| the core parts might be portable. Eventually Microsoft
| acquihired the Mono team.
|
| - Later on Microsoft made the core of .net open source and
| portable, creating .Net Core. Or .Net Runtime, linked above,
| which is apparently the same thing (not sure when they
| dropped the "Core" part of the name). Applications written
| for .Net Framework can't just be recompiled for .Net
| Core/Runtime, there is porting work that needs to be done.
| And similarly as for .Net framework, even though the core is
| portable and open source, the windows gui libraries are not.
| So again windows GUI applications written using .Net Runtime
| cannot run on Linux. Not sure if there exists anything like
| Gtk# for .Net Runtime, allowing creating native Linux GUI
| applications with .Net Runtime?
|
| - Finally, we have wine which is an implementation of the
| Windows API on Linux. And in a wine environment you can
| install e.g. .Net Framework including GUI libraries, so you
| can run .Net GUI applications that way.
| Uvix wrote:
| They dropped the "Core" suffix with v5 in 2020, since at
| that point there was no longer naming confusion.
|
| While Microsoft doesn't have their own framework supporting
| Linux GUI apps on the modern .NET runtime (MAUI does
| Mac/iOS/Android but not Linux), there are third-party ones
| like Avalonia.
| Kwpolska wrote:
| Dropping the "Core" suffix introduced more naming
| confusion. Before that, ".NET" was often used as a
| shorthand for the (now legacy) .NET Framework. Which
| makes googling for Core-specific things much harder than
| it needs to be.
| neonsunset wrote:
| See https://news.ycombinator.com/item?id=41372165
|
| It is harmful to write new code that targets .NET Framework
| and existing actively maintained applications all have
| migrated to .NET. The ones that did not either have poor
| maintenance or authors that lack time as they don't owe
| extra effort unless they want to do that (or sometimes it
| is a skill issue, unfortunately).
| rezonant wrote:
| > not sure when they dropped the "Core" part of the name
|
| It was called .NET Core until they officially retired the
| .NET Framework (ie v4) by releasing .NET 5.
| bri3d wrote:
| > 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.
| lyu07282 wrote:
| Won't most apps use way more .net stuff than core? Mono was
| a way to run dotnet apps on Linux, killing it meant killing
| cross platform support for modern dotnet desktop apps?
| jkulubya wrote:
| Not really. Best to think of .net "core" as just .net.
|
| Anything that was in the old .net that isn't in core
| today won't ever be.
|
| Then there's stuff that was missing in the earlier
| versions of core that existed in old dotnet. Some of it
| they later realised was useful for newer apps or apps
| migrated to core. These pieces were ported over by
| Microsoft or replaced by 3rd party implementations (e.g.
| avalonia for xplat ui).
|
| (.net core is actually officially just .net, they dropped
| the core from the name)
| romwell wrote:
| This is Hackernews.
|
| What are those _Desktop_ apps you speak of?
|
| Clearly, everything is a command-line backend pipeline in
| container with a web UI.
|
| And everything that isn't can be easily deprecated. /s
| Rochus wrote:
| > Mono has no reason to live anymore
|
| More targets, much leaner (< 10 MB clr + mscorlib), less than
| factor two performance difference to current CoreCLR, written
| in C, easier to compile than CoreCLR, etc.
| donatj wrote:
| Is the correct interpretation, reading between the lines that the
| _original_ Mono project is being retired, and basically put on
| life support?
| Wytwwww wrote:
| I 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 wrote:
| And Wine will probably not do much more than maintenance so
| applications targeting .net 1-4 work on Wine.
| jacoblambda wrote:
| Somewhat?
|
| 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).
| rickcarlino wrote:
| I 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 wrote:
| 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.
| jcims wrote:
| How has 'free as in puppies' not reached its rightful place on
| the podium?
| spiderfarmer wrote:
| Because nobody wanted to maintain it.
| karmajunkie wrote:
| i'd upvote this twice if i could...
| ragebol wrote:
| I'm not a dog person: a puppy would be a burden (financially
| and time-wise) and provide me barely any fun.
| yathern wrote:
| I 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 wrote:
| That'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.
| jcranmer wrote:
| 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.
| umanwizard wrote:
| > 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.
| kbutler wrote:
| 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".
|
| https://english.stackexchange.com/questions/118717/how-
| is-th...
| kelnos wrote:
| 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...
| willhslade wrote:
| Free food? Organic vegetable stew?
| bawolff wrote:
| I love this. Definitely using this next time someone tries to
| guilt me into becoming maintainer of some abandonware foss
| project.
| matthewbauer wrote:
| I guess this is in the context of "free as in beer" and "free
| as in speech".
| codersfocus wrote:
| White elephant has usually been the go to animal for this
| kind of idiom
| zerocrates wrote:
| 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.
| dtquad wrote:
| 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.
| Phrodo_00 wrote:
| 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).
| IshKebab wrote:
| Yeah I think it also supports WPF. Can't remember where I
| read that.
| neonsunset wrote:
| 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
| lloydatkinson wrote:
| Winforms and WPF are both very maintained and supported for
| .NET 8 on Windows, to clarify. Good cross platform desktop
| frameworks include Avalonia.
| kelnos wrote:
| Are those frameworks available in .NET 8 on non-Windows
| platforms, though? If not, I think that's what the GP was
| getting at.
| grokys wrote:
| Not by Microsoft, but Avalonia has a commercial fork of
| WPF which runs on Linux and macOS:
|
| https://avaloniaui.net/xpf
| qingcharles wrote:
| I think MS wants you to use this?
|
| https://dotnet.microsoft.com/en-us/apps/maui
|
| 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.
| lloydatkinson wrote:
| The only people wanting anyone to use MAUI are the MAUI
| team and even then only half heartedly.
|
| Microsoft Build this year only discussed WinUI and WPF
| even.
|
| https://www.reddit.com/r/dotnet/comments/1cy2u6l/microsof
| t_h...
| mark336 wrote:
| Good, I use MVC and it sucks.
| stefanos82 wrote:
| My assumption is that it must have something to do with
| https://en.wikipedia.org/wiki/Wine_(software)#Microsoft_appl...
|
| This way will allow them to improve Mono accordingly? Who knows?
| /me-thinks...
| zbowling wrote:
| 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 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 wrote:
| 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 somewhere for getting set up to
| develop with modern .NET on Linux?
| older wrote:
| This is the official one: https://learn.microsoft.com/en-
| us/shows/visual-studio-code/g...
| Blot2882 wrote:
| 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
| simion314 wrote:
| 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.
| deaddodo wrote:
| .net Core doesn't supply WinForms, but WPF is the far
| more common paradigm for Windows apps now. WPF is
| supported by projects like Avalonia on Linux. There are
| also a few other major alternative UI toolkits, more
| commonly used by cross-platform (vs Windows-exclusive)
| developers.
| Kwpolska wrote:
| .NET Core does support Windows Forms just fine, but it's
| only available on Windows.
| pionar wrote:
| You can use third party libs like Avalonia[1] or Uno[2]
|
| [1] https://avaloniaui.net/ [2] https://platform.uno/
| simion314 wrote:
| Sure, nobody wants to write Winforms new applications
| today
|
| My point is about running existing applications on Linux,
| there are still issues with running .Net GUI stuff under
| wine and Mono was not a perfect implementation.
|
| I read in other comments that the newer .Net cross
| platform stuff is not a replacement for Mono for running
| this old applications. (nobody will rewrite them to use
| the current GUI stuff from MS since are old apps)
| moron4hire wrote:
| No, Microsoft's .NET only supports WinForms on Windows.
| They do have an official cross platform GUI toolkit in
| MAUI, but it strangely does not support Linux.
| runevault wrote:
| Last I knew it is also considered pretty lackluster.
| Every time I read up on it it feels like, even beyond the
| lack of Linux support people just don't care for it.
|
| If I was building a cross platform native app with .NET
| I'd probably use Avalonia right now.
| moomin wrote:
| Yeah, the took an age delivering it, then it came out and
| most of the early reports were "It's still not ready."
| and then I think Microsoft just gave up.
|
| I think not supporting Linux was a tactical error,
| though. Some people will put up with a lot for Linux GUI
| support, and some of those people are the types who can
| resolve problems with your half-baked GUzi framework.
| sweeter wrote:
| Windows: it's cross platform! _Looks inside_ "Except for
| Linux"
|
| Huh
| stackskipton wrote:
| >but it strangely does not support Linux.
|
| Support reasons. Still isn't the year of Linux Desktop.
| stuaxo wrote:
| For this, having wine in charge makes sense - though, as
| with many things wine you could be waiting a while.
| eppp wrote:
| No, they pretty much gave up on winforms when .net core
| morphed into "the" .net that is cross platform. There are
| some nice crossplatform gui libs now though.
| LAC-Tech wrote:
| What are the ones to use in 2024? I used to code informs,
| it was a great improvement on its successors.
| starik36 wrote:
| Not really. Winforms have been updated to .net core. And
| a bunch of handy features to modernize it have been
| added.
|
| I'd say it's the simplest and quickest way to go if you
| need to bang out a quickie app for Windows only.
|
| https://learn.microsoft.com/en-
| us/dotnet/desktop/winforms/?v...
| neonsunset wrote:
| You are expected to use Avalonia or Uno for multi-
| platform targeting or Gir.Core (GTK4) or one of the many
| other binding libraries for Linux-specific GUI.
|
| Also very easy to throw something together on top of SDL2
| with Silk.NET.
|
| Practically speaking it is in a much better place than
| many languages considered by parts of Linux community to
| be more """linux-oriented""".
| simion314 wrote:
| My personal use case is running old GUI apps, I am not
| planning on writing GUI apps with .Net , MS had the
| opportunity to open source .Net/Silverlight and make
| money from tools but they bet on Windows and today most
| apps are node and javascript, a much inferior platform
| but MS open things up too late.
| toyg wrote:
| The whole point of .NET-Core was to remove all the
| (largely desktop-oriented) platform-specific dependencies
| that tied it to Windows, so you could run server-oriented
| .net programs on Linux. So no, afaik you can't simply run
| GUI apps built with .Net on Linux desktops - that's the
| reason Mono wasn't simply killed, because it covers that
| niche (which wouldn't even exist, were it not for
| Mono/Xamarin's efforts back then. But I digress...).
| Nowadays there are a few other attempts at providing that
| UI layer.
| dark-star wrote:
| .net Core still has Windows Forms thoguh? At least I (for
| kicks) migrated one of my old .net 4.something projects
| to .net core and it still works and shows the classic
| Windows Forms GUI.
|
| It's (of course) not portable
| qingcharles wrote:
| I think this is what you need now...
|
| https://dotnet.microsoft.com/en-us/apps/maui
|
| "Build native, cross-platform desktop and mobile apps all
| in one framework."
|
| I know my buddy uses it to write Android apps on his Mac
| that interface to an ASP.NET Core web site.
| Kye wrote:
| For historical context: this was _before_ the conclusion of
| the antitrust case that led Microsoft to start softening
| its stance toward open source. https://en.wikipedia.org/wik
| i/United_States_v._Microsoft_Cor....
|
| This was the same year Antitrust came out:
| https://en.wikipedia.org/wiki/Antitrust_(film)
|
| Any support for open source or cross-platform stuff was a
| bulwark against claims of monopoly abuse, but none of it
| worked well enough to be a true replacement. Mono worked
| for some purposes, but it was far from the first party
| support cross-platform .NET gets today. Nowadays it sounds
| like .NET Core + third-party GUI libraries is the way to
| go.
| paranoidrobot wrote:
| > Nowadays it sounds like .NET Core + third-party GUI
| libraries is the way to go.
|
| For reference for those unfamiliar with the terms:
|
| .NET Core was the name given to the cross-platform fork
| of the .NET runtime.
|
| It was forked out of .NET 4.x and dropped support for a
| lot of things in the first versions.
|
| It ran on various distributions of Linux and MacOS.
|
| At the same time there were forks of other
| libraries/frameworks in the .NET ecosystem to have 'Core'
| variants. Often these were dropping support for legacy
| parts of their code so that they could run on Core.
|
| Later versions of .NET Core brought over support for a
| many of the things that had been dropped.
|
| .NET Core and .NET had stand-alone versions until .NET
| Core was renamed to . NET and became .NET 5.
|
| So, if you want to do the most modern cross-platform C#
| you would use .NET 9.
| aspeckt112 wrote:
| Good write up that wonderfully encapsulates how stupid
| Microsoft's naming is - you didn't even mention .NET
| standard.
|
| I love .NET. It's a great stack, especially for backend
| web apps. Blazor is a great SPA framework too. But I
| loathe how Microsoft continue to handle just about
| everything that isn't the framework and C# / F#. It's
| laughable.
| paranoidrobot wrote:
| Well, to be fair .NET Standard wasn't a framework, it was
| a standards/compatibility label and compilation target.
|
| .NET Standard includes various versions of things that MS
| doesn't even touch.
|
| I stopped doing .NET stuff before .NET 5 so I'm not
| hugely up to date with the latest shenanigans.
| pantalaimon wrote:
| Is there a way to build a GUI app with .NET on Linux?
|
| Will it be cross-platform?
| cultofmetatron wrote:
| > Is there a way to build a GUI app with .NET on Linux?
|
| yes
|
| https://avaloniaui.net/
| fsckboy wrote:
| (i hardly know what i'm talking about so somebody else
| may have a better idea, but i'm here now so)
|
| mingw is a GNU's header/library environment (tools too
| maybe?) to create windows compatible applications. So I'd
| look into searching mingw .net and/or mingw mono.
|
| also, ask your favorite AI, they're good at this type of
| question so long as it's not up to the minute news
| aspeckt112 wrote:
| Avalonia.
|
| The UI isn't native, is a Skia canvass with drawn
| controls. But it'll work on basically every OS and it's
| pretty good.
|
| Also, you're not writing JavaScript, so that's a win any
| day in my book.
| Buttons840 wrote:
| Is .NET open-source? Will I find it in an open-source
| repository?
| sva_ wrote:
| Seems so https://github.com/dotnet/dotnet
| NlightNFotis wrote:
| Yes.
|
| https://github.com/dotnet/runtime/
| pionar wrote:
| 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.
| SideburnsOfDoom wrote:
| > 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,
|
| History here https://en.wikipedia.org/wiki/.NET
|
| .NET Core 1.0 (2016) was the first cross platform prototype.
| It got good in a release in 2018 or 2019, I even forgot which
| now. And took over steadily after that.
|
| We don't even think about it any more. "which OS is the prod
| env on" isn't a factor that causes any support worries at
| all.
|
| Getting set up would start at https://dot.net/
|
| And the download page, which should show you content for your
| current OS https://dotnet.microsoft.com/en-us/download
|
| But also other targets are here
| https://dotnet.microsoft.com/en-us/download/dotnet/8.0
|
| You'll want the latest SDK 8.0.x
| hsbauauvhabzb wrote:
| You're not alone.
|
| I would say I'm not 'new' and even developed .net 4.5 for a
| number of years. I'm just as stumped by the naming mess that
| Microsoft made across the board in that space.
|
| Edit: I say 4.5 because I mean the original thick .net which
| is not dotnet core, which I think is the way to differentiate
| between versions, but also all the sub libraries like the orm
| were iirc named the same but did different things.
|
| They should have rebadged everything with a new name that
| didn't involve a word that is fairly painful to google
| ('core') can be used in development as well as the name of a
| framework.
| 3np wrote:
| As the OP notes, MS use their own fork of Mono for the .NET
| Core runtime these days. So you're not wrong but they are
| different codebases these days.
| neonsunset wrote:
| In many ways, .NET today finally fulfills the original Mono
| goals, and does so in a very performant manner.
| kragen wrote:
| i want to love dotnet-core, especially since godot switched
| from mono in godot 3 to dotnet-core in godot 4, but so far i
| haven't been able to
|
| currently debian has a mono package but no dotnet-core package.
| i'm not sure why this is; usually when debian lacks a popular
| nominally open-source package like this, it's either because it
| fails to build from source, or because it has some kind of
| tricky licensing pitfall that most people haven't noticed, but
| diligent debian developers have
|
| does anyone know why this problem exists for dotnet-core?
|
| also, does dotnet-core have a reasonable aot story for things
| like esp32 and ch32v003?
| Goz3rr wrote:
| Even with AOT compilation, as someone who loves C# and also
| does embedded development in C I would personally say a
| garbage collected language like C# has no place there.
| kragen wrote:
| not _everything_ running on a 20-mips 32-bit
| microcontroller with 2 kibibytes of sram needs to be hard
| real time and failure-free, and of course the esp32 has
| _hundreds_ of kibibytes
|
| and, correct me if i'm wrong here, but doesn't c# allow you
| to statically allocate structs just as much as c does? i'd
| think you'd be able to avoid garbage collection about as
| much as you want, but i've never written much beyond
| 'hello, world' in c#
| runevault wrote:
| c# has the concept of value types (which structs are),
| which are stack allocated. Generics have seen more and
| more instance of getting a Value type like Value Task for
| stack allocated async objects. But if you add a class as
| a member of the struct that is going straight to the heap
| with all the GC stuff that entails
| kragen wrote:
| what about global or static variables of value types? i
| mean in theory you could stack-allocate whatever you want
| in your main() method and pass pointers to everything,
| but that sounds unusably clumsy. but with global
| variables and/or class variables there would be no
| problem except for things that inherently require heap
| allocation by the nature of the problem
| mdasen wrote:
| You can add add Microsoft's repo to install it on Debian:
| https://learn.microsoft.com/en-
| us/dotnet/core/install/linux-....
|
| Does Debian require packages to work on all of its
| architectures? If so, that could be the issue. .NET Core only
| supports x86, x64, and Arm64 (I think Arm32 has been
| discontinued and RISC-V is experimental at this point).
|
| It's possible that they object to .NET Core having certain
| license restrictions on the Windows port
| (https://github.com/dotnet/core/blob/main/license-
| information...). .NET Core is mostly MIT or Apache licensed,
| but the Windows SDK has some additional terms. Skimming the
| third party licenses, that doesn't seem like an issue (mostly
| MIT/BSD/Apache or similar).
|
| I think the licensing situation is an interesting question:
| if you have software that's 100% open source when compiled
| for your OS, but requires non-free stuff to run on Windows,
| is it ok to include in Debian? It looks like none of the non-
| free stuff (like WPF) gets distributed with the non-Windows
| SDK builds. Binaries created from your code only depend on
| MIT-licensed stuff on macOS and Linux, but might depend on
| something closed-source when targeting Windows - though it
| looks like almost all of that stuff is either WPF (so you
| wouldn't be able to develop on Linux/Mac anyway since those
| libraries wouldn't be in the SDK on those platforms) or were
| removed as a runtime dependency in .NET 7. It looks like
| `Microsoft.DiaSymReader.Native` might be the only thing left.
| Maybe that's what is holding it back?
|
| > also, does dotnet-core have a reasonable aot story for
| things like esp32 and ch32v003?
|
| "Reasonable" can be a lot of things to a lot of different
| people. People have been working on RISC-V support. Samsung
| seems interested in it. But I probably wouldn't recommend it
| at the moment - and Mono doesn't really have RISC-V support
| either.
| ozim wrote:
| I would say it is .Net Foundation job to prepare and submit
| the package not Debian maintainers.
| kragen wrote:
| if you want your package to be in debian, you are going
| to have to find a debian developer who is willing to take
| responsibility for maintaining it. microsoft is already
| providing .deb packages on their website, at least
| binaries
| kragen wrote:
| to be clear, my question about debian is not about whether
| i can install dotnet-core in debian; it's about why it
| isn't in _debian 's_ repositories rather than microsoft's.
| microsoft, to understate the case somewhat, doesn't provide
| the stringent protections for users that debian does
|
| debian doesn't require packages to work on all of its
| architectures. luajit, for example, has not been ported to
| riscv64, mips64el, or ppc64el
| https://packages.debian.org/sid/luajit, though lua5.1 is
| https://packages.debian.org/sid/lua5.1. what the debian
| policy manual says about architecture-specific packages
| seems to be https://www.debian.org/doc/debian-policy/ch-
| controlfields.ht...:
|
| > _Specifying a specific list of architectures indicates
| that the source will build an architecture-dependent
| package only on architectures included in the list.
| Specifying a list of architecture wildcards indicates that
| the source will build an architecture-dependent package on
| only those architectures that match any of the specified
| architecture wildcards. Specifying a list of architectures
| or architecture wildcards other than_ any _is for the
| minority of cases where a program is not portable or is not
| useful on some architectures. Where possible, the program
| should be made portable instead._
|
| i don't think the license you link to would be a problem in
| itself, because it only applies to certain files which are
| not useful for running dotnet-core on debian anyway. debian
| has lots of packages from which non-free-software files
| have been removed. i don't know anything about
| diasymreader?
|
| with respect to esp32 and ch32v003, what i meant to point
| to was not the risc-v architecture (some esp32s are
| tensilica!) but the limited memory space; jit compilation
| is not a good fit for 2 kibibytes of ram or even 520
| kilobytes of ram
| davidhyde wrote:
| I believe that you would use dotnet nano for something like
| that. I used it (or some previous version of it) once many
| years ago and was very impressed with the productivity and
| ease of use it offered. Ultimately the lack of community
| surrounding it drove me to other technologies. Might have
| changed since then though, who knows!
|
| https://www.nanoframework.net/
| MarkSweep wrote:
| .NET Core is available for Debian, you just have to add
| Microsoft's APT source [1].
|
| Fedora [2], Ubuntu [3], and FreeBSD [4] build .NET from
| source themselves. A lot of work has been done to make it
| possible to build .NET from source [5] without closed source
| components, so it might just be a matter of someone being
| motivated to create the package for Debian.
|
| [1]: https://learn.microsoft.com/en-
| us/dotnet/core/install/linux-...
|
| [2]: https://src.fedoraproject.org/rpms/dotnet8.0
|
| [3]: https://launchpad.net/ubuntu/+source/dotnet8
|
| [4]: https://github.com/freebsd/freebsd-
| ports/tree/main/lang/dotn...
|
| [5]: https://github.com/dotnet/source-build
| kragen wrote:
| yes, i know about the microsoft apt source
|
| as for building from source, i see, thanks! or maybe it's
| unresolved legal concerns? nobody so far in this thread has
| known of any, though
| johnwheeler wrote:
| Trip down memory lane touching several points in my career. Rip
| /.
| munchler wrote:
| .NET now runs on Linux and other platforms, so what is the
| purpose of maintaining Mono separately at this point?
| kcb wrote:
| Mono can run old .NET framework applications directly.
| munchler wrote:
| OK, but that doesn't require any further changes to Mono. It
| should essentially be a read-only project going forward.
| randomdata wrote:
| Is there anything to suggest that there will be further
| changes? I mean, other than bug fixes.
| munchler wrote:
| I'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 wrote:
| .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 wrote:
| "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.
| wtetzner wrote:
| It won't get new features, but will likely require
| maintenance to keep it running as new versions of operating
| systems are released.
| mdasen wrote:
| This is the thing about software: even if you aren't
| looking to improve it, the world around it will subtly
| shift so it'll need to be updated or it'll stop working.
|
| For example, Windows XP can't access the modern internet
| because it doesn't support TLS 1.2 or 1.3 and most of the
| web is now secure. The software still exists, but the
| world around it has shifted so it doesn't really work. If
| 95% of people end up owning electric cars, gas stations
| are going to become scarce. Maybe there will be
| workarounds, but the world will have shifted around the
| product. Let's say that all gas pumps were changed to
| wider-nozzle pumps. Sure, you could make an adapter, but
| that's the point: changes in the world around you end up
| necessitating changes, workarounds, etc.
|
| It might be mostly read-only, but there's always little
| possible things that come up requiring work to be done on
| it.
| masfuerte wrote:
| > 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 wrote:
| .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.
| saurik wrote:
| You 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/
| masfuerte wrote:
| Thank 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_.
| ..
|
| Edited to add: and thanks for the link. Only three developers
| and there's already drama! :-)
| peppertree wrote:
| Never miss a good tax write-off.
| bawolff wrote:
| I dont think this makes sense. What value would even be written
| off here?
| KeplerBoy wrote:
| A value you come up with hoping the IRS will not one day
| disagree.
| bawolff wrote:
| This gives me strong
| 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 wrote:
| I thought that would be a link to the Seinfeld episode.
| https://www.youtube.com/watch?v=XEL65gywwHQ
| cxr wrote:
| I 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-...>.
| romwell wrote:
| It seems like the link we got (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 wrote:
| 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?
| Y_Y wrote:
| Wine Is Not an Emulator
|
| but it is indeed the basis for Proton
| tapoxi wrote:
| Via wine-mono
|
| Games themselves typically aren't .NET but ancillary
| components, like launchers or map editors, are.
| justsomehnguy wrote:
| You are probably mix up .NET and C# somewhat.
| troymc wrote:
| 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.)
| qingcharles wrote:
| Thank you, that explains the Mono in SL.
| neonsunset wrote:
| 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.
| Rochus wrote:
| > _due to a massive rift in performance between the two_
|
| Not that massive; factor 1.8 as we found out recently.
| __s wrote:
| https://wiki.winehq.org/Mono#Microsoft_.NET for why Mono is
| relevant to Wine
| whalesalad wrote:
| What is the mono logo? a gorilla with a hat? or a pile of poop?
| serious question.
| randomdata wrote:
| A portrayal of someone's attempt at giving a "thumbs up" with a
| broken thumb, obviously.
| eddythompson80 wrote:
| It's a Monkey's head. Mono is Monkey in Spanish. The original
| author, Miguel de Icaza, is Mexican-American.
| rgovostes wrote:
| I 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 wrote:
| If 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 wrote:
| Microsoft'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 wrote:
| I 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 wrote:
| anthropomorphizing complex social institutions such as
| corporations is ultimately unproductive and a net negative
| for clear thinking
| bonesss wrote:
| I think it's just such a clear business-razor because of the
| cloud: can I take my app and spin up a bajillion cheapo
| servers with no licensing costs using that stack?
|
| If the answer for .Net was 'no' then there are meaningful
| domains where people would just jump ship in a second.
| Research, academia, teaching, and certain government areas
| pop to mind. Keeping Linux support, because of that server
| dominance, is a core concern for them.
| kej wrote:
| Presumably being able to make money spinning up cheapo
| servers, via Azure, just reinforces that decision.
| deelowe wrote:
| Microsoft as a company is extremely myopic. Budgets are
| scrutinized down to the penny every few months at very senior
| levels. This drives a culture of immediacy. Wine was a threat
| until Microsoft realized everyone in tech had moved to
| service based business models (aka "cloud"). Only afterwards,
| did they "realize" Linux as a threat to their long term
| viability no longer mattered.
| shopvaccer wrote:
| >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.
|
| I'm not sure if it benefits microsoft in the long term,
| because the "backwards compatibility" features of Wine need
| to be implemented in Windows already as a part of the system.
| So in the long run wine/proton/mono will implement windows
| features on linux in an optional/replaceable/modular way in
| user-space while keeping backwards compatibility for older
| windows software, while windows is forced to implement (and
| distribute these features) with their OS and has to sacrifice
| backwards compatibility if they want to simply their OS.
|
| I would say that the adoption of wine/proton helps the linux
| ecosystem a lot more because there wasn't a standard
| executable format for linux beforehand (static? tarball of
| program and dynamic libraries? .deb file? AppImage? Flatpak?
| Higher-level language like java?). How do you reliably link
| to libraries like mesa or even glibc? Now there is a
| solution: just distribute a windows program and test it to
| confirm it works in wine/proton. Perhaps it is better for
| DirectX adoption, but it seems like Vulkan/OpenGL/WebGPU are
| still superior in terms of cross-compatibility, regardless if
| you use wine or not.
| nine_k wrote:
| Windows NT (2000, XP, etc) used to include an emulator
| allowing to run DOS apps and win16 apps. I don't see why
| running older / obsoleted win32 APIs through an emulation
| layer won't be a good approach. Maybe even by adopting and
| running Wine.
| mark336 wrote:
| If MS was smart, they would try to get the devs working on
| Xbox projects to use their coding platforms for other type of
| development.
| qingcharles wrote:
| Microsoft in 2024 feels like a different beast. All the MS devs
| I know seem fully on board with totally cross-platform support.
| Half of them are coding on MacBooks and I would hazard a guess
| that a good proportion of .NET web sites being built are being
| deployed onto Linux boxen.
| sublimefire wrote:
| Few work on Macbooks, it is more about using WSL on the dev
| machines or even using DevBox instances.
| gnu8 wrote:
| I imagine very few of the MS devs are using BeOS.
| stackskipton wrote:
| .Net SRE here, all our .Net REST APIs are deployed on
| Kubernetes. Devs are still mostly on Windows because Visual
| Studio.
|
| I've worked with Azure team, all greenfield they do for Azure
| goes on Linux as well. Windows Server is pretty much dead to
| Microsoft though it will be continue to be supported and
| released because $$$.
| alerighi wrote:
| I mean, if wine is a problem they did basically the same thing
| with the WSL, especially version 1 (version 2 is just a VM, but
| the concept of running unmodified Linux binaries on Windows
| like they are native application is the same).
|
| I think that they don't care about going against the open
| soruce community, given that Microsoft uses a lot of open
| source software in their products (also, probably violates the
| terms of the GPL license of such software).
| pentagrama wrote:
| A 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 wrote:
| Another 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 wrote:
| What 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 wrote:
| The 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.
| voytec wrote:
| Is 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.
| Lockal wrote:
| Yes, some things never change:
|
| https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
| DrNosferatu wrote:
| They could also donate comparability with modern MsOffice.
| philip1209 wrote:
| Can 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 wrote:
| At best you would be limited to the value lost which is
| essentially zero, so no.
| nedt wrote:
| Mono 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.
| Havoc wrote:
| How is .Net/Mono connected to Wine?
|
| Or is this more of a steward role rather than technical
| connection
| pjmlp wrote:
| Yet 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 wrote:
| Based 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 wrote:
| Ever heard of Rotor?
|
| https://www.codeguru.com/dotnet/net-nuts-bolts-the-joy-of-
| ro...
|
| Or 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 wrote:
| I'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 wrote:
| I'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 wrote:
| You may want to look at F#. Because it's .NET you have a large
| list of libraries you can use
| dmw_ng wrote:
| Modern .net on Linux is lovely, you can initialize a project,
| pull in the S3 client and write a 1-3 line C# program that AOT
| compiles to a single binary with none of the perf issues or GIL
| hand-wringing that plagues life in Python.
|
| Given modern Python means type annotations everywhere, the
| convenience edge between it and modern C# (which dispenses with
| much of the javaesque boilerplate) is surprisingly thin, and
| the capabilities of the .net runtime far superior in many ways,
| making it quite an appealing alternative especially for perf
| sensitive stuff.
| dwoldrich wrote:
| Do your civic duty and disable telemetry everywhere you go.
| :)
|
| export DOTNET_CLI_TELEMETRY_OPTOUT=1
| starik36 wrote:
| .NET Core is my favorite way to quickly implement an app to run
| on a Raspberry Pi. Just basically copy & paste into a folder,
| chmod the executable and off you go.
|
| I have a number of these devices running in the house doing
| various things.
___________________________________________________________________
(page generated 2024-08-27 23:00 UTC)