The parting of Linux and Mono

As .NET's sun sets, its open-source counterpart Mono may be fading on Linux, too.

By Brian Proffitt  5 comments

On Wednesday, I wrote about the coming of HTML5, and how it could affect the future of desktop app development on the Linux platform. What I didn't realize--really--was that at the same time, Microsoft was previewing Windows 8 at the D9 conference, which featured... HTML5 (among other things).

For an open source guy like me, that was kind of awkward.

[ Windows 8's 'immersive' UI: What we know so far ]

Specifically, the new Windows 8 interface is a more tile-based interface that relies heavily upon HTML5 and JavaScript. Here's how Julie Larson-Green, Corporate Vice President, Windows Experience described it:

"Today, we also talked a bit about how developers will build apps for the new system. Windows 8 apps use the power of HTML5, tapping into the native capabilities of Windows using standard JavaScript and HTML to deliver new kinds of experiences. These new Windows 8 apps are full-screen and touch-optimized, and they easily integrate with the capabilities of the new Windows user interface. There’s much more to the platform, capabilities and tools than we showed today.

"We are excited to bring an innovative new platform and tools to developers and see how their creativity jumpstarts a new generation of apps. Windows 8 apps can use a broad set of new libraries and controls, designed for fluid interaction and seamless connectivity. Apps can add new capabilities to Windows and to other apps, connecting with one another through the new interface. For example, we showed today how a developer can extend the file picker control to enable picking from their own app content or from within another Windows 8 app, in addition to the local file system and the network."

Quick, did you catch what was missing?

If you are a Windows developer, I'll bet you did: there was little to no mention of .NET technology in the Windows 8 hoopla, and quite a few Windows developers are more than a little angry about the whole thing. Microsoft's response has been for everyone to wait and see what happens at the SHARE conference in September. As you might imagine, that has done little to mollify most observers.

Someone who saw this coming was Scott Barnes, Microsoft Silverlight Product Manager, who basically started the whole debate last summer about the future of Silverlight, the Windows Presentation Foundation (WPF), and .NET with a July broadside about Microsoft's "shiny object syndrome" and then a series of tweets and blogs in September lamenting the death of WPF.

So now, there's a whole lot of .NET developers out there who are wondering what they are going to do with all their experience. If I were a smart aleck, I would suggest they come to the Dark Side of Linux and work on Mono (and yes, we also have cookies).

True, that is indeed my standard mode of operation, but in this case I must suppress my natural smart-assery because I am not sure where Mono stands with Linux.

Here's where things are now. The SUSE business unit of Attachmate says that Mono will remain a part of SUSE Linux moving forward, and yet they turned around and fired the US-based Mono team, which presumably included Miguel de Icaza, who came to Novell when they bought Ximian in 2001. This has led many people to question just how far SUSE is really going to push Mono.

Meanwhile, de Icaza has formed his own startup, Xamarin, which will keep working on Mono and commercial .NET stacks. But here's something interesting: the Xamarin home page highlights .NET development for iOS and Android, not Linux. There's a cursory mention of "bringing your favorite .NET languages to the platforms you want to target," but that seems like Xamarin, like SUSE, seems to be hedging it's Mono bets.

Given the ruckus that Barnes and other .NET developers raised last year, it may be possible that Attachmate decided to cut continued Mono development, having seen the writing on the wall that HTML5 is indeed going to be a big part of interface development. That makes Xamarin's choice of platforms clearer: .NET for mobile platforms is the one area that is expected to continue, according to Microsoft, which has explicitly stated that Windows Phone 7 will remain focused on .NET, WPF, and Silverlight tools.

(Now you can see why the Windows developers are so upset. Imagine working on apps for the most widely used platform on the planet and then being told your favorite toolset may only build apps for Windows Phone 7. Ugh.)

If this is Microsoft's ultimate plan, then Xamarin is being particularly savvy. If .NET experts are going to have to make a choice, they are either have to stick with Windows 8 and learn more HTML5 and JavaScript or shift to a mobile platform. I can easily see where iOS and Android being a lot more attractive than WP7. Since, you know, they're actually platforms that are selling.

What we could see, then, is a migration of .NET-skilled developers coming to open source Mono--but not necessarily Linux. SUSE could make a play and grab some of these people, but if the overall desktop market is really moving towards HTML5 (or crazily, Flash and Air), SUSE may hold back.

If this is how things shake out, these are signs that, more than ever, web-based apps on desktop and nettop machines are going to be the rule rather than the exception. Native apps will never go completely away, but their importance may be diminished as the interfaces they run on shift towards web-based technologies.

Follow Brian on Google+

Brian Proffitt is a veteran Linux and open source journalist/analyst with experience in a variety of technologies, including cloud, virtualization, and consumer devices.

5 comments

    johnsonlee_Yah33T4D4 2 weeks ago
    Mono is not healthy on all linux landscapes, with fedora being one of THE largest ones no longer endorsing it , period.

    We know, thanks to groklaw and common sense, that mono is not open source, not to mention
    how Richard Stallman and other open source advocates feel about it.

    THanks to those who have spoken out on this issue, mono's days are literally numbered, so let .net be used where it feels all cozy, on mobile and windows systems.
    Fan Decheng
    Fan Decheng 36 weeks ago
    The .NET platform has its technological advantage and is still evolving. I like its simplicity to call and be called by native C/C++ code, which is far simpler than Java JNI, and is feature complete (supports called by C/C++ code, rather than just calling C/C++ code). The memory consumption of a typical .NET application is higher than C/C++ ones, but still lower than a typical Java application, and also launches faster.

    .NET development has its use on both the client and the server. On the client side, it can be used to create Windows Forms or Gtk# applications. On the server side, it can be used to create ASP.NET or XSP applications. Silverlight uses a special lightweight version of .NET, although I don't use it currently personally.
    jmalcolm 37 weeks ago
    Mono is quite healthy on Linux. If you look at the commits to GitHub, you will not see a slowdown since the Attachmate Mono team was dissolved. You will also see a lot of activity around the OS X support in Mono. So, it is not just mobile platforms that are moving forward. Those are just the most obvious platforms to commercialise. Xamarin needs revenue after all.

    I do not see much evidence that Mono on Linux is being neglected.

    WPF (and to a lesser extent Silverlight) are GUI technologies. Part of what makes the Mono strategy so great is that they are very pragmatic about GUI. While most of Mono is completely cross-platform, the GUI strategy is quite platform specific.

    With Mono, you use Cocoa (MonoMac) on OS X, Cocoa Touch on iOS (MonoTouch), Android GUI on Android (Mono for Android), and GTK+ on Linux (GTK#). You would use WPF on Windows. The Mono team has always recommended that you use .NET on Windows (instead of Mono). Mono is clearly not dependent on WPF though, so the fate of that GUI tool-kit does not impact much. Deprecating WPF would not even hurt .NET on Windows that much.

    What GUI would you use when targeting the web with .NET? The clear direction has been to use HTML, CSS, and JavaScript. These days we (the buzzword crowd at least) call that combination HTML5 (it was AJAX for a while if you want to be old fashioned). So, HTML5 as a GUI for .NET apps is really nothing new.

    I do not see lines of unemployed .NET developers just because HTML5 becomes a GUI option.

    I have written a number of ASP.NET and ASP.NET MVC apps. These have HTML5 front-ends. There is no way I could have written these applications in pure HTML5. I am not about to generate on-the-fly PDF reports or Excel spreadsheets in JavaScript. I am not going to generate and send emails from the client. How am I supposed to implement application logging, a shared database, or centralized services at the browser level? The server-side is not going away and I see no competitors to .NET on this front, at least not from the Microsoft camp.

    If anything the whole move to the 'cloud' draws an even stronger line between pretty but 'dumb' user interfaces and the server side functionality that provides all the smarts and handles all the data. If HTML5 does become a standard GUI for real desktop apps it will probably be because they are really front-ends for the cloud rather than the smart-fat-clients that we have on the desktop today. To be honest though, I do not see that going away either.

    If HTML5 did become the front-end, would that not make it easier to run these apps on Linux (both front-end and back-end)?

    As you point out in your article, the Windows team is unlikely to fall deeply in love with a development technology that allows applications to be easily ported to other platforms. Windows enjoys it's dominance because of the application ecosystem, not because everybody prefers Windows so much. If HTML5 becomes the standard Microsoft GUI, it will happen such that the deep ties back to Microsoft tech (probably .NET) will be so strong that the thin layer of HTML5 pretty will not really matter all that much.

    Developers will choose their tools. It is possible even today to write HTML5 apps without leaving .NET or C#. For example, check out Script#:

    http://projects.nikhilk.net/ScriptSharp

    All in all, I will believe the death of .NET and Mono on Linux when I see it.
    rarsamx_tw99109178 37 weeks ago
    As a corporate .NET developer (consultant) and FLOSS advocate and I fail to understand your argument.

    .NET is not just the front end. I'd say, .NET != silverlight.

    In fact most of the .NET development is done on the server side. For presentation there is ASP. ASP.NET, ASP.MVC, etc

    Now it may be HTML5, not a big deal.
    azeroth48_tw39946961 37 weeks ago
    Even if the output tech is Html5 and javascript. You can still target this type of environment with .NET..

    ScriptSharp is a good example - http://projects.nikhilk.net/ScriptSharp.

    Given the right tools.. .Net will live on :D

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      Mobile & WirelessWhite Papers & Webcasts

      Webcast On Demand

      Mobility KnowledgeVault

      How "mobile ready" is your infrastructure? This Mobility Knowledge Vault provides a wide variety of expert advice on how to strike a balance between end user ease-of-use and security. Prepare your organization with primers on data encryption and user authentication, device disablement and devising an employee-liable device strategy that makes both IT and users happy.

      Sponsor: Dell

      White Paper

      The Cost Advantages of Using a Hosted Unified Communications Service: A TCO Guide for SMBs

      A challenge for small and mid-sized businesses (SMBs) is the cost of scaling their communications systems to rival the rich functionality and flexibility of bigger competitors with dedicated IT staffs. Upfront capital costs and the requirement for on-site staff to manage equipment and applications have fueled interest in hosted unified communications (UC) services, which allow smaller organizations to use a third-party provider's UC infrastructure in the cloud and enjoy the economies of scale of very large organizations.

      Webcast On Demand

      Mobility KnowledgeVault

      IT managers at businesses of all sizes must create a mobility master plan that ensures employee productivity without compromising security. From determining a policy for employee-owned devices and data encryption to supporting the six major mobile operating systems, securing mobile devices and data is a top priority. The resources in this Mobility KnowledgeVault provide expert guidance, peer advice, survey results and best practices to help you protect your mobile infrastructure.

      Sponsor: Dell

      White Paper

      Ten Steps to an Enterprise Mobility Strategy

      Enterprise employees are more mobile, relishing the ability to work productively anywhere, at any time. They may use any means to get connected, often creating financial and security risks for your company. Discover how to get control of your enterprise mobility strategy and ensure mobile worker productivity with these ten steps.

      White Paper

      What You Need to Know About the Costs of Mobility

      Mobile workers want to get connected anywhere, at any time, often at any cost. Enterprise mobility is often a hidden "black" budget in your company. Ensure that your traveling employees are productive everywhere, even while you control cost and security, through an enterprise mobility strategy.

      See more White Papers | Webcasts

      Ask a question

      Ask a Question