So in summary
1, Amazon want .NET to work better on Linux so it can save money on Windows licenses
2, Amazon think somebody should fund this work.
3, Profit ?
"We found that .NET open source is heavily under-funded," said Saikat Banerjee, an AWS software development manager, at a re:Invent session this week. "The sad thing about .NET open source is that we still call it third-party open source. That should not be the case." At the session, AWS spoke about its support for open …
Microsoft set up the .NET Foundation which says it is "an independent, non-profit organization established to support an innovative, commercially friendly, open-source ecosystem around the .NET platform. AWS is listed as one of just 10 corporate sponsors."
It would seem Microsoft also think someone else should fund this work.
> "The sad thing about .NET open source is that we still call it third-party open source..."
It *is* third-party open source. So is Linux, Python and other stuff used on/with AWS. Different third parties in each case, of course. What is sad about that?
> "...That should not be the case."
So, Amazon is - going to try and buy .NET Core?
Yours etc, Confused of Tunbridge Wells
Calling Canonical... ??? I'm confused.
You posted a link with the string "microsoft.com" in it. The linked page is edited by a Microsoft employee. The page is for Microsoft users. The page contains this sentence: "Microsoft continues to maintain .NET packages in its packages.microsoft.com feed for Ubuntu and we intend to continue that going forward."
Why am calling Canonical again? Either I'm reading that page wrong or you didn't read that page.
FWIW, I minimally ported something called "CUETools" to rip CDs and while .NET core does work, it didn't for me when it came to accessing CD-ROMs. I assume windows has some COM spec or HID thing that also needs to be present but, just .NET didn't cut it, although for pure form based software it seemingly does as I still could access the CUETools DB with the forms (which was the whole point). Long story short... still using CDParanoia and fre:ac.
Same reason that if you're running .NET in AWS Lamda's you don't contact Microsoft for support, you contact AWS
There are now 2 "supported" options to install dotnet on Ubuntu
1) Through packages.microsoft.com (compiled by Microsoft, supported by Microsoft)
2) Through packages.ubuntu.com (compiled by Canonical, supported by Canonical)
If you'd rather read the information on Canonical's site then you can find it here - https://canonical.com/blog/install-dotnet-on-ubuntu
If anyone has had any experience with Microsoft, then none of this should be in any way surprising.
Admittedly, Amazon is coming at this from a position to make themselves more money, and that's O.K. Amazon isn't the group that's proclaiming to all the world the open source bona fides of .Net.
Microsoft is determined to get get as many developers as possible to use .Net. They know that to do that it needs to be seen as a 'safe and open' programming framework. Currently their biggest competition on the desktop and more importantly on the server is Linux. So what do they do? They partner with Canonical to make the inferior Linux environment, inferior to native Linux, Windows Subsystem for Linux (WSL, WSL1, WSL2). They leave key portions of .Net Windows only. Ironically, the new MAUI *universal* windowing toolkit for .Net, the one that Microsoft is determined NOT to work on a Linux desktop for Linux desktop apps, originated in Mono Forms. You remember that open source project created to bring .Net to Linux? It's come full circle. The Linux windowing technology has been repurposed, and limited, to only writing Windows, MacOS, Android, and IOS apps.
While Java is a bit long in the tooth, and there's always Sun's erratic legal presence, .Net isn't a safe, universal replacement. Unless you are willing to limit yourself to the Microsoft ecosystem.
We need to look for a truly open source, vendor unencumbered, free to use and contribute to languages and set of frameworks if we are ever going to have the freedom to create the best for our companies and ourselves. Right now these are the markedly unsexy old school languages; C, C++ and even old timers like COBAL and FORTRAN. Some newcomers are showing promise: Rust, Python, Go, etc.
Companies like Microsoft will only succeed if people let them. .Net, especially C# is a very nice language (I've done a bit of coding in it myself) and a nice evolution of Java. The problem is that C#, .Net and the entire ecosystem isn't actually, in any real sense, independent of Microsoft. Microsoft's goals will always take precedence. Even in the ostensibly 'independent' .Net Foundation, Microsoft retains out sized influence and direct behind the scenes powers.
Either Microsoft has to give up "all" control over .Net, or we would all (save those who realize and want to remain in a non-open Microsoft playground) do better to use something else.
AWS: .NET OSS is very poorly supported!
.NET OSS users: You're just now noticing?
I have a number of mono-based components that need to be updated to use .NET Core. Considering Microsoft's attitude, I think the time might be better utilized moving away from .NET completely.
(Anon because they're not *my* components, as such.)
I'm tempted to try and learn something else just for my own projects. But what's the alternative? GTK/QT and C++? It's 20+ years since I did any serious C++ and I suspect it's probably moved on so much it'll feel like a foreign language again.
>I suspect it's probably moved on so much it'll feel like a foreign language again.
If you are tempted to revisit the past and learn a "foreign language", perhaps learn Rust and thus aim at assisting in the porting of .Net to rust...
Yes, both Microsoft and Amazon are commercial organizations and want to make money my luring customers away from their competitors, and capitalism is evil yadda yadda
But isn't it amazing that we're seeing the open sourcing and portatibility of a great framework like .Net, all available to developers for free, instead of competitors trying to sabbotage each other in the marketplace like we had with IE, Java, and numerous others. As someone who's been programming since the early 80's I think it's fair to say "you never had it so good"
I work daily with .Net, Java, Node, Python, on Azure, AWS, Windows, Linux in many different combinations, and sometimes I have to stop and pinch myself at how much free software and amazing interoperability we get nowadays.
I think this .NET open source is underfunded because it's a waste of money.
.NET (the runtime and such, at the time the Microsoft marketdroids were sticking ".NET" name on everything including briefly Office), .NET started out as a Java competitor except not cross-platform (Microsoft's claim of "cross platform" was it supporting both the current Windows version and 1 previous, which is not cross-platform by anyone else's standards.) The goal was to draw people away from truly cross-platform Java into using vendor-locked-in .NET.
Then they did hire a Mono developer or two, since people were seeing .NET did not run at all in Linux or Mac and were still going to Java and other environments if they cared about portable code. This did make .NET itself portable but did nothing to keep Microsoft from being all sloppy about it and keep shipping features in the form of thin shims over native Windows-only code, rather than shipping these features as portable C# code or CLR (Common Language Runtime) libraries or the like.
Present day, Microsoft could most definitely have ported WCF and such to native C# code if they'd cared too. I don't see why someone else should pay to do Microsoft's job in this regard. There's really no point to it -- there's loads of high quality cross-platofrm environments that are actually cross-platform not "some stuff kind of works but all this doesn't" like .NET. And if you DO want .NET on Linux anyway, go ahead and throw wine on there, it ships with Mono but Mono for Windows so WCF, COM, etc. should be available; if Mono for Windows is not close enough, you can indeed install Microsoft .NET on Wine.
yes and it's all about the fools who drank the Microsoft coolaide and instead of using open standards for their applications they continued with Microsofts "new and greatest thing since sliced bread" marketing trick called Microsoft .Net. It was promoted as was Win32 back in the day when Microsoft temporarily licensed Win32 to UNIX software vendors and then pulled the rug out from under them.
Suckers have money too and Amazon wants some from those who realized Microsoft's cloud sucks.
Web forms is no real loss. That runtime is based around making websites similar to programming windows applications. It's extremely limiting and you need to do a bunch of things that make no rest from a stateless perspective. Just let it die and build new applications, it's not really practical to build a modern web app with it anyway.
Not everything's a web form. There still doesn't exist a native .Net GUI toolkit for Linux *desktop* applications. If Microsoft gets their way, they never will be. .Net on Linux is for the server, and only because Microsoft's utterly failed at convincing folks to run their large scale enterprise apps on Windows Server.
You can't say that Microsoft doesn't recognize the value of desktop apps, it's 90% of their Windows experience, they are just not going to give anyone an easier way to get there. MAUI is their .Net GUI framework, it *doesn't* support Linux, by design.
As long as it's impossible to create the same type of apps, and that means *all* of them, on all of your *cross-platform* supported environments, it's not really cross-platform.
I’d agree it’s underfunded given I’ve wasted most of this morning fighting a bug in System.Data.SqlClient that segfaults on Linux if you connect to any db with Kerberos auth. Simple workaround is to use a newer version of SqlClient, but this took a while to diagnose.