back to article Microsoft .NET released from its Windows chains... but what ABOUT MONO?

Today Microsoft announced that the .NET core framework, which powers web applications using the ASP.NET libraries, will be open source on Windows, Linux and Mac OS X. But what are the implications for Mono, the existing open source project which already provides .NET support on Linux and the Mac? The Reg spoke to Miguel de …

  1. Steve Davies 3 Silver badge

    The last throw of the dice?

    Well IMHO lets hope so.

    My question about the .Net source code is...

    Are all the patched included in this and next and next and next and .,... months Patch Tuesday going to be included or are the people who use the published code doomed to use insecure versions?

    For something so small, the sheer number of patches is mindblowing.

    1. asdf
      Mushroom

      Re: The last throw of the dice?

      Going to take a half dozen downvotes before I delete this but the only good news concerning managed code is if it is finally disappearing.

      1. ThomH

        Re: The last throw of the dice? (@asdf)

        What's wrong with managed code? Is it virtual machines in general or just Microsoft's approach?

        I think the Android switch from Dalvik to ART is interesting: Google is switching from just-in-time to ahead-of-time compilation, compiling on the device at the point of app installation a lot like a traditional make install but from an intermediary byte code rather than from source. It's being promoted as a performance win, eliminating any remaining user-noticeable distinction between 'managed' (in Microsoft parlance) and 'unmanaged' code.

        I've seen it argued that such an approach should ultimately prevail everywhere because it resolves the same security issues as an MMU without requiring all those expensive context switches every time a system call is made. That is, given the semantics involved, a proper compiler can generate code that is guaranteed safe to run as ring 0. I have no independent opinion on that other than that it sounds reasonable at a brief parsing to someone who doesn't do anything closely related for a living.

      2. MIc

        Re: The last throw of the dice?

        Ya... like javascript. For sure on the way out.

        1. asdf

          Re: The last throw of the dice?

          Javascript lol exactly. Graphic design software development what's the difference?

      3. Jonathan 27

        Re: The last throw of the dice?

        Really? It seems more like a slow evolution. More and more code is managed now. The last bastions of the C era are Windows and the Linux kernel, how long will they hold out against the more productive and increasingly high-performance AOT-compiled managed code? It's happened before.

        Switches->Punch Cards->Assembly->Fortran/Cobol->C/C++->Java/C#->Future Magic.

        Note: We're just talking about compiled languages here, not scripting.

  2. Steve Channell
    Angel

    First Mentioned on TheRegister five years ago :-)

    18 Apr 2012

    The obvious next step is to open-source “.net” and let the common language runtime spread to big-data and cloud computing (Azure is a failure while the while it’s runtime is proprietary).. they’ve done it before with ROTAR and .NET Micro Framework.. they really have nothing to loose

    13 Mar 2012

    ..but if MS is smart they’ll open source .NET and give Azure a real chance of being the “Cloud Level Runtime” (CLR), and flank Oracle at the same time.

    26 Jan 2012

    The magic will come with the integration of Linux with the Azure application platform through .NET services running on Linux either through a Mono commercial support licence (with Xamarin) or the bold open-sourcing of MS .NET

    19 Sep 2011

    ...and the next step... open source .NET

    26 May 2011

    • .NET CLR on other platforms.. won’t damage Windows, but will flank Oracle

    7 Apr 2011

    Great.. we'll have .NET on ChromeOS

    5 Feb 2010

    Most importantly they need to unbundle .NET from Windows to prepare the foundations to grow into a technology leader for the next millennium.

    1. asdf

      Re: First Mentioned on TheRegister five years ago :-)

      Yeah but during all those dates Microsoft had a chair throwing buffoon in charge who was so hip with the times that he used discredited stack rankings straight from the 1980s. Collaboration was a dirty word in those days not just inside the company but especially with anything that was not Microsoft.

  3. Anonymous Coward
    Anonymous Coward

    Reap what you sow

    I suppose with Pootering and the systemd fanboys doing all they can to turn Linux into a poor man's windows this was inevitable. Microsoft have read the writing on the wall and are starting their classic 3E move.

    1. This post has been deleted by its author

      1. Nigel 11

        Re: Reap what you sow

        @asdf

        Are you actually a person, or a bot? Because that comment doesn't contain enough internal logic for me to work out whether and how to disagree with it.

        But just for starters Wayland and Systemd are both open source. What part of open source do you not understand, and in what way is that like Microsoft 25 years ago??

        1. asdf

          Re: Reap what you sow

          Systemd is a cancer, a Linux only hairball creeping more and more as a required dependency into other open source projects. RedHat doesn't make their bones supporting other UNIX/BSDs so they are fine with that. Linux is becoming a pig that walks like a man ala Animal Farm. A tightly coupled hairball like Windows except even Windows seems to value portability and interoperability more these days as shown by this article. I guess the three Es can be done to open source code as well if you get enough distros/developers to go along with you.

          1. This post has been deleted by its author

      2. Tyrion
        FAIL

        Re: Reap what you sow

        >> One could argue Microsoft at least stole less of other people's work even.

        I guess you haven't heard of the latest features for Windows 10 then. Namely virtual desktops/workspaces and a package manager. No Microsoft doesn't steal from Linux does it..

        As for Systemd, I don't know what any of you are talking about. Microsoft has nothing like it. Systemd goes above and beyond traditional init systems. I've got it running right now on my Arch Linux box and I love it.

        Regarding the article, two words - .NET foundation. All controlled by Microsoft and its poster boy Icaza. I wouldn't invest my time, energy, or skills into obsolete Windows platforms. .NET is dead and so is Microsoft. They've been reduced to giving away all their software now because no one wants it.

        1. asdf

          Re: Reap what you sow

          Not really defending Microsoft as i tend to agree with you at this point they are irrelevant outside the enterprise as far as I am personally concerned. I am more disgusted with the direction Linux is heading which is why I have become an OpenBSD (once I wipe my last Debian testing box) man at home. Sadly I see systemd not only ruining Linux but many other open source projects as well before all is said and done which does affect more than just Linux the pretend Unix.

          1. asdf

            Re: Reap what you sow

            Lol now I am in full rant mode best description of systemd ever below. The Svchost of Linux. So much for a program doing one thing and doing it well. You know pretty much the philosophy that built Unix and has kept it relevant for four decades.

            "systemd is becoming the Svchost of Linux—which I don't think most Linux folks want. You see, systemd is growing, like wildfire, well outside the bounds of enhancing the Linux boot experience. systemd wants to control most, if not all, of the fundamental functional aspects of a Linux system—from authentication to mounting shares to network configuration to syslog to cron. It wants to do so as essentially a monolithic entity that obscures what's happening behind the scenes."

            1. adam_peter_hu
              WTF?

              Re: Reap what you sow

              Nah, Tyrion - another Linux expert - just said three comments above yours that Windows has nothing like systemd. Could the so called Linux community duke this issue out and hold to a single fact, please?

        2. Anonymous Coward
          Anonymous Coward

          Re: Reap what you sow

          No-one will be surprised that ArchLinux fans like systemd, all that group of ricers ever cared about was comparing boot speed charts.

          The fact that systemd fans are happy to sell the ethos of unix / linux down the river over a few seconds of faster booting is a pretty sad thing to behold.

        3. Hans 1

          Re: Reap what you sow

          @downvoters

          Why are you downvoting ? Think for a second, why is Microsoft giving away Visual Studio and .Net ? They want traction, they have none, devs have moved off of Windows 8[.x] and onto mobile (Android, iOS[Apple]).

          Seriously, stop being biggoted for a second and think about what is happening here ...

          1. RyokuMas
            Stop

            Re: Reap what you sow

            "Why are you downvoting ?"

            ... because it's Microsoft. Surely after having an account on these forums for over five years, you should have learned that there are some people who just can't let go of a 15+ year grudge?

            1. Anonymous Coward
              Anonymous Coward

              Re: Reap what you sow

              It's the same old Microsoft. I don't hold a grudge from 20 years ago. Problem is, I walk away but they keep getting in my face and pissing me off. Over, and over, and over. They've done some good things but not enough to overcome my negativity. Just enough to survive.

              If only this company had the common decency to crawl into a hole and die...

  4. Peter2 Silver badge

    > "what are the implications for Mono, the existing open source project which already provides .NET support on Linux and the Mac?"

    Very limited, if the communities using it have any sense of self preservation. I can see why people might want to use slices of the code or fork it, but why in the name of $deity would anybody want to use Microsoft code directly given their infamous trademark embrace, extend etc strategy?

  5. John Sanders
    Linux

    Obviously...

    In the words of the late admiral Ackbar:

    IT'S A TRAP!

  6. I_am_Chris

    Licence

    No mention of which licence they'll use?

    That'll indicate how trustworthy this endeavour is. GPL, no problem. Some non-OSI approved licence with royalty-free clauses, run away.

    1. ThomH

      Re: Licence

      The repository is up at https://github.com/microsoft/dotnet and says:

      .NET open source projects typically use either the MIT or Apache 2 licenses for code. Some projects license documentation and other forms of content under Creative Commons Attribution 4.0. See specific projects to understand the license used.

      .NET Core uses the MIT licence. The .NET Compiler Platform remains Apache 2.0. For comparison, Mono components are primarily licensed via one of the GPL, LGPL or MIT X11 licences.

      So I think that's one barrier to trust overcome.

      1. Anonymous Coward
        Anonymous Coward

        Re: Licence

        I hope this is another nail in the coffin for GPL3 and other licenses that attempt to restrict developer flexibility and creativity.

        1. asdf

          Re: Licence

          > GPL3 and other licenses that attempt to restrict developer flexibility and creativity.

          You mean like Microsoft and friends software patents?

    2. John Sanders
      Linux

      Re: Licence

      It is MIT licensed, the difference between this and licences such as GPLv3, Apache2, or Mozilla2 is that this licence only covers the code "as part of either a .NET Runtime or as part of any application designed to run on a .NET Runtime".

      So if there's a useful library or subroutine and someone inserts it into Python or GNOME or whatever, then MS have retained their rights to sue you with their patents.

      Further, ".NET Runtime" is defined as being a "compliant implementation". So if you take the code and remove some parts so that it fits on your embedded device, then you're out of compliance and MS can sue you.

      So it's a fine patent licence for use of the code as-is, but the protection disappears quite easily if anyone modifies the code.

      Like I said, A TRAP!

      MS is not serious about open source at all, all they are after is nice and warm PR provided by gullible people in media.

      1. Vic

        Re: Licence

        this licence only covers the code "as part of either a .NET Runtime or as part of any application designed to run on a .NET Runtime".

        If it is MIT-licensed, then that restriction is not possible.

        The MIT licence is here. Note the phrase "without limitation"...

        Vic.

  7. Christian Berger

    Well it needs to be open to have a minimal chance of survival

    Microsoft cannot go on basing their business on fanboys, they need to have a minimum of actual facts supporting their platforms.

    And there only being one implementation which even is even closed source certainly does not help. So it's a no brainer.

    Of course .net is still just competing with Java. And both try to solve problems already solved by POSIX. And unlike Sun and Oracle, Microsoft still doesn't seem to quite believe in .net. Otherwise they'd offer "Office for .net" or at least "Internet Explorer for .net".

    Plus Microsoft has had a history of abandoning their "latest fads".

    So it's an essential move for Microsoft, but it still doesn't put .net on my map. It's a technology I haven't been able to find any use for.

    1. Anonymous Bullard

      Re: Well it needs to be open to have a minimal chance of survival

      "Office for .net" or at least "Internet Explorer for .net".

      No.

      Just like Java, .NET is shit for the desktop. It is good on the server, however - but only because of C# and MVC.NET. Without them, it would just be a bloated VB6 clone.

      Now that it will run on Linux, it's actually usable on the server now.

  8. minnsey231
    Thumb Up

    I think this is a positive move for Mono

    If you read the blog it implies that the new .NET Core will come to underpin Mono in the same way as it currently underpins the .NET Framework. Replacing Mono's alternative implementations.

    Mono will bundle the value added things on top, as will Microsoft with the .NET Framework.

    e.g. presumably WPF will remain a Windows/.NET Framework think while Mono will have MonoMac, XWT, MonoTouch, Xamarin.Forms etc.

    The game changer will really be the fact that it looks like you will be able to run the lightweight .NET Core independently of the .NET Framework and/or Mono and have it pull in only the dependencies you need at run time. .NET Core also has the neat feature that effectively allows you to re-implement core .NET namespaces and have your implementation used in preference to MS or Mono's one.

    At that point .NET really is cross platform. Personally I think its a really exciting prospect, and I think they are serious about Open Source now.

    http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

    1. John Sanders
      Linux

      Re: I think this is a positive move for Mono

      "" "At that point .NET really is cross platform. Personally I think its a really exciting prospect, and I think they are serious about Open Source now."""

      No, it is not serious, at least not until they release code under the BSD or GPL licenses.

      And I will add that it will be considered serious when they opensource anything that is really useful outside the MS world and its beneficial for many others, not just MS.

  9. thames

    Not a big deal for Mono

    I don't think it will affect Mono much, because Mono never had any success outside of a few niche markets (primarily games). Mono has been around for years, but it was met with a big yawn in desktop and server markets on Linux, BSD, and Mac. Java developers weren't interested in switching, and neither was anyone else. The few Mono applications which were written were demos intended to show that Mono worked.

    Nothing of any significance was ported from Windows to Linux because DotNet was never really a portable system. There are too many Windows assumptions baked into it, so making a program cross platform using Mono was in reality a port, just like writing it in C++ would have been. Software vendors who wrote stuff in C# weren't interested in being cross platform, and developers who wanted to be cross platform generally picked something else.

    Some people happen to like C# better than Java (and visa versa), but quite frankly the rest of the software world just saw C# as Microsoft Java, and if they wanted Java they would just use the real thing. The value that C# and DotNet had was better Windows integration. If your platform wasn't Windows, then that advantage disappeared and what was left wasn't really all that compelling.

    When Novell was bought out by Attachmate, Mono was dropped like a hot potato. This is why Xamarin was formed by the newly redundant Mono developers to focus on the mobile market. Their value-add isn't Mono though, it's all the extra bits and services they add onto it. They could have used anything as their core run time and got the same result.

    Unless Microsoft is going to duplicate all of Xamarin's work to compete directly with them (which I admit they could), then it makes no difference whether Xaimarin ship Mono or Microsoft's run time. I should correct that - the Mono that exists today is oriented to the mobile market. What Microsoft actually open sources might be too bloated or otherwise unsuited to mobile, as de Icaza mentions in the interview.

    Five years from now it might be a different story, but for now, I expect Xamarin to cherry-pick a few bits that they like, but otherwise nothing will really change.

  10. Anonymous Coward
    Anonymous Coward

    Mono smono bono

    We still won't get Netflix on linux...

    1. desht

      Re: Mono smono bono

      http://www.pcworld.com/article/2824623/ubuntu-linux-gets-netflix-without-weird-workarounds.html

      1. Anonymous Coward
        Anonymous Coward

        Re: Mono smono bono

        As much as I hate Ubuntu I guess it is worth a install of that instead of having to go through the hoops I did on CentOS to get Netflix working. Still struggling for a good reliable long term solution to ahem prove I am in the good old US of A, because my netflix thinks it is the UK for some reason. A lot of the DNS codes you have to pay for as with Hola when the trial expires :-(

  11. aberglas

    Giving away their competitive advantage?

    .Net is technically the best platform to develop on by far. It has moved leaps and bounds ahead of Java. And it may surprise C programmers that some people want to get stuff done rather than staying up all night chasing obscure memory corruptions.

    .Net was the reason to use a Windows Server. If you what to write a server app and sell it widely use Java. But if you are doing bespoke work then .Net/Windows shines and the Microsoft tie in does not really matter.

    But if I can run real .net on Linux, why would I buy Windows et. al.? Having lost the client business to tablets, I thought that Microsoft would retire into being a server company.

    1. GrumpyOldBloke

      Re: Giving away their competitive advantage?

      why would I buy Windows et. al.?

      For the same reason you buy windows to get the latest features in office even though Microsoft have a version for MAC's. I have no doubt that Microsoft will be happy to let you play in C# but will do everything it can to encourage you back to a windows server for the production build. Systemd and the loss of a securable linux might just be the icing on their cake.

  12. Hans 1
    Happy

    GNU/Linux had won, now it's OpenSource's turn

    Linus said that when Microsoft would write software to run on GNU/Linux, it would have won. Now, there are apps that Microsoft shifts that run on GNU/Linux and/or Android/Linux now.

    Now, not only are they writing software for */Linux, they are also porting their dev languages to */Linux - yes, they were doing it via mono before, but this time, they have acknowledged that OpenSource is the best thing to do!

    All hail the best development strategy out there ... OpenSource. Richard Stallman must be drinking champagne ...

    That much for cancer!

    1. P. Lee

      Re: GNU/Linux had won, now it's OpenSource's turn

      >not only are they writing software for */Linux...

      Not so much. They bought skype and .net is just a framework. Where's Office on Linux?

      It isn't really even about the products they offer. Yes, Word, Excel, PP are available for Mac, and they are useful, but MS has never had the heart to bring the whole of the suite (Project etc) to OSX. It's far more popular on the desktop than Linux is, so why not? Quite simply it makes commercial sense to make people buy Windows. If you own the whole stack you can push the upgrade cycle by making apps dependent on software libraries in the OS. If the app doesn't depend on OS software libraries, how will you make people upgrade to versions they don't really need? The Mac software doesn't match the Windows one so you still run the risk of format errors. Everything is designed to be a second class citizen to the Windows version. Once you're in the windows ecosystem, its very hard to get out. License savings are almost impossible to realise until you've removed every bit of MS software.

      MS have so much of their own stack, that I wouldn't trust them to play nice, even if we had a full Office suite for Linux. I'd be constantly worried that the next version would be substandard or unsupported. Its hard to manage a strategy which includes both MS and Linux in the same space. It isn't just MS' fault. I've seen so many tech companies start to make things worse than they used to be rather than better. They add more things I don't want and take away the things I do want. Quite a bit of MS software is very good, but its a very expensive ecosystem to lock yourself into.

      Linux hasn't won the desktop industry yet. Perhaps it never will. It doesn't actually matter that much. It solves my problems, scratches my itches and that is what open source is all about - cooperation by people to solve their common problems.

  13. Hans 1
    Boffin

    As for the commentards claiming .Net is better than Java - I understand that taste is something you cannot challenge, however, the .Net runtime nightmare (absolutely 0 backwards compatibility) really is a mayor showstopper for me. It is a pain.

    And keeping the runtime versions safe (security updates) will become a very big problem as new mayor runtime versions are released.

    With Java, you do have some compatibility issues here and there, but, if it ran on 1.4, it will run on 1.8 ... if the original devs were bright.

    1. dogged
      Stop

      FUD FUD FUDdy FUDdy FUD.. you do love your FUD don't you?

      Because this is either a) ignorance or b) outright lies. .NET framework versions used to be cumulative - 1.1 will run 1.0 assemblies without issue, 2.0 will run 1.1 and 1.0, 3.0 will run 2.0, 1.1 and 1.0 and 3.5 will run 3.0, 2.0, 1.1 and 1.0*

      With 4, they started moving toward the Core model and you're going to need the 3.5 framework if you want to run anything earlier than 4.0. So that's two versions. Which, according to your post in another thread is a "gazillion". Or you're a liar.

      *The essential caveat here is that if you are a truly shitty programmer then it is entirely possible that you've written your assemblies to check for a specific framework version and refuse to run without it. Does that sound like you, Hans 1?

      I don't think it does. I think you just prefer making shit up.

      1. Hans 1
        Windows

        I call BS on this claim, the doc might say so, experience tells me otherwise ... one example (!!cross-post!!):

        To reproduce:

        1. Install XP SP3 in a VM

        2. Download and "attempt" to install SQL Server 2008, notice that it asks for TWO separate .Net runtimes as well as PowerShell ... there, happy ... FFS.

        There is this French saying: Faut pas parler aux cons, ça les instruit.

        Excuse my French

        Now, maybe you prefer calling SQL Server dev team are a bunch of numpties ? Your call.

        The reason why I use XP in this example is because it ships without .net runtimes by default after a fresh install, unlike Vista/7/8/8.1/9^H10. Note that I installed the express edition and it asked for 2.0 and 3.5 (IIRC), note also, that I later downloaded another little tool that wanted .net 1.1 - cannot remember what it was, maybe crap dev in that case, maybe ... I prefer to stick with Java.

        I don't care about down-votes, ROFL. Care to clean the manager's desk, he's waiting, don't forget to scrub both the surface and the windows thoroughly.

        1. dogged

          I shall try this if I get time at the weekend.

          Upvoted for providing a testplan.

  14. breakfast Silver badge

    Picking between devils

    I have been doing a little dabbling in Java lately, for the first time in about ten years, and having worked with a bunch of different languages - including C# - since it just felt really old and clunky. Everything about it was like a clunky and awful version of something I have seen well implemented elsewhere.

    I was interested to realise reading this that I trust Microsoft to manage .Net more than I trust Oracle to run Java. At least they pretend to care about developers.

    If this new .Net allows decent cross-platform UI development that doesn't look horrible on any platform then it might be quite convenient, though I suspect the days of the native UI are coming to a close.

  15. GotamaPrime

    not only work better

    this biggest impact of this really going to come from native apps interacting with .Net services, not some generic UI framework, Native is better on every platform out there, except RT/Metro which is really crappy frame IE anyway. if you can't get better results than HTML5/Canvas/Webstack frameworks, why bother?, but the thought of WCF and MEF on MAC/Linux blows my mind!

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like