MonkeySpace shines a light on the future of .NET OSS

open source, code, community 0 comments suggest edit

At the end of last year, I wrote a blurb about the Open Source Fest event at Mix 2011. Imagine the typical exhibition hall, but filled with around 50 open source projects. Each project had a station in a large room where project members presented what they were working on to others. You could see the gleam of inspiration in the smiles of developers as they exchanged ideas and suggestions. I left this event completely fired up.

This is the spirit we tried to capture with the MonkeySpace conference this year. And at least for me, it succeeded. I’m fired up! There was much sharing of ideas, some of which I’ll talk about in subsequent blog posts. One such idea is I hope we add something like the open source exhibition hall in a future MonkeySpace.

monkeyspace-spaker-dinnerMonkeySpace speakers dinner. Lots of idea sharing going on.

MonkeySpace is a rebranded and refocused Monospace conference. While MonoSpace dealt mostly with Mono, the goal of Monkeyspace is to put the spotlight on .NET open source everywhere, not just on Mono. Obviously Mono is a big part of that. But so is Microsoft. But most of all, the many small “labor of love” projects from those in the .NET OSS community are a big part of this.

MonkeySquare

Before I go further, I want to briefly describe the relationship of MonkeySpace to me, Mono, and MonkeySquare (the website is, as the cliché goes, under construction).

As I mentioned already, MonkeySpace is a rebranded Monospace conference, but with a new focus. Dale Ragan and others created a non-profit called MonkeySquare with the goal to “evangelize cross platform and open-source development in .NET.”

I got involved when Dale asked me to be on the board of directors for the organization. I admit, I was a bit hesitant at first as I tend to overcommit and I need my afternoon naps, but the mission resonated with me. I suggested he invite Scott Hanselman because he’s a force to be reckoned with and a fountain of ideas. And he has a big forehead which has to count for something.

As we started to have board meetings, it became clear that we wanted the next MonoSpace to become MonkeySpace. Due to the herculean efforts of Dale Ragan and others like Joseph Hill of Xamarin, this became a reality. We kept the first MonkeySpace small, but we hope to grow the conference as a premier place for .NET open source developers to share ideas and grow the ecosystem.

Pessimism turns to optimism

In recent times, there’s been some pessimism around .NET open source. There’s the occasional rustle of blog posts declaring that someone is “leaving .NET”. There’s also this perception that with Windows 8, the Windows team is trying its best to relegate .NET into the dustbin of legacy platforms. I don’t necessarily believe that to be the case (intentionally), but I do know that many .NET developers feel disillusioned.

But here’s the thing. The .NET ecosystem is becoming less and less solely dependent on Microsoft and this is a good thing.

OSS Fills the Gaps

An example I like to point to is when WPF was first released, support for presentation separation patterns (such as MVP or MVC) was non-existent and there was much gnashing of teeth. It didn’t take long before small open source projects such as Caliburn Micro sprung into existence to fill in the gaps. This by no means excuses some of the design choices that still plague developers who want to write testable WPF applications, but it certainly makes a bad situation much better.

In his keynote at MonkeySpace, Miguel de Icaza told a story that is another dramatic illustration of this phenomena. Microsoft XNA is a toolkit for building PC and X-Box games using .NET. But for whatever reasons, Windows RT does not support running XNA applications. You can still write an XNA game for Windows 8, but it won’t run on the Windows RT devices.

Once again, the open source community comes to the rescue with MonoGame. Here’s a blurb from their project page, emphasis mine:

MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. Our goal is to allow XNA developers on Xbox 360, Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro.  PlayStation Mobile development is currently in progress.

Interesting! MonoGame makes it possible to take your existing XNA based X-Box game and with a tiny bit of effort, port it on Windows RT. Think of the implications.

A cornerstone of the Windows 8 strategy is to entice a new developer audience, web developers, to build client Windows applications with a development experience that allows them to leverage their existing JavaScript and HTML skills. Nevermind the fact that they ignore the culture and idioms of these communities, replacing such idioms with Windows specific conventions that are awkward at best.

Ironically, something like MonoGame may be better positioned to realize this strategy for Microsoft in the short term than Microsoft’s own efforts!

As an example, Miguel talked about the developers of Bastion, an X-Box and PC game, and how they used MonoGame to port the game to the iPad. Now that same developer could easily port the game to Windows RT should they choose to. Before MonoGame, they might not have considered this option.

Miguel suggested that the majority of applications in the Windows 8 app store are C# applications. This only makes sense because the attempt to bring over web developers is a long lead strategy. Meanwhile, C# developers have been Microsoft’s bread and butter for a while now and are Microsoft’s to lose. They should not take them lightly and one would hope, if these numbers are true, that this has the attention of the Windows folks.

It certainly makes me excited about the potential for C# to become, as Miguel calls it, the lingua franca for cross device applications.

So despite the pessimism, my discussions at MonkeySpace leave me optimistic that .NET and .NET OSS is here to stay. There’s a lot of good OSS stuff coming from Xamarin, independents, and various teams at Microsoft such as the efforts from the MS Open Tech initiative and all the stuff that the Windows Azure team is churning out. But even if Microsoft started to deemphasize .NET, I believe .NET would endure because the community will continue to fill in the gaps so that the ecosystem abides.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

20 responses

  1. Avatar for Zubair
    Zubair October 21st, 2012

    Nice post and good to see your positive observations on .NET in OSS and beyond.
    I have a open source WinRT project Windows 8 RSS Reader and if the number of downloads and developer participation is something to go by it certainly looks like .NET is not going down.
    Wish I could bring my project to MonkeySpace some day,

  2. Avatar for dodgy_coder
    dodgy_coder October 21st, 2012

    Agree totally with your post.
    Having been a long time visual studio/windows only .net developer, a couple of months ago I tried mono development for the first time, initially on Ubuntu, then on a Raspberry Pi. I was astounded at how good both the mono compiler and general ecosystem is - it basically turned my view 180 degrees about the future of .NET.
    Some of the pessimism was rooted initially 1 year ago around the time of the MS build conf, which seemed to be placing C++/native windows development above .NET.

  3. Avatar for Scott Hanselman
    Scott Hanselman October 21st, 2012

    Good post. This part I disagree with though. Most Windows 8 store apps are written in .NET.


    There’s also this perception that with Windows 8, the Windows team is trying its best to relegate .NET into the dustbin of legacy platforms.
  4. Avatar for Stuart Lodge
    Stuart Lodge October 21st, 2012

    I wish I could have come - and am looking forward to watching some of the videos!
    Good luck with MonkeySquare.
    I'd love to see a MonkeySpace London ;)

  5. Avatar for mr metro
    mr metro October 21st, 2012

    WinRT is not 'a tiny bit of effort' like you said - I've spent several weeks trying to port my existing C# code. There's lots of API's that existed in .NET that don't exist in the Metro version (system.io has changed radically, arraylists, hashtables etc... etc...)

  6. Avatar for Justin Koreska
    Justin Koreska October 21st, 2012

    Big forehead definitely counts for something!

  7. Avatar for jimmy
    jimmy October 21st, 2012

    looks like a cobol conference from 1981

  8. Avatar for Steve Marx
    Steve Marx October 21st, 2012

    I'm pretty sure this is a typo and is supposed to say MonkeySpace: "As I mentioned already, MonkeySquare is a rebranded Monospace conference..."

  9. Avatar for Mark Rendle
    Mark Rendle October 21st, 2012

    @ mr metro: The "tiny bit of effort" refers to using MonoGame to target Windows RT, porting a game (Bastion) that has already been implemented in MonoGame for the iPad. It's not suggesting that the MonoGame code is also standard WinRT-compliant .NET code.
    I wish I'd been at MonkeySpace. I will definitely make the effort to attend next year.

  10. Avatar for haacked
    haacked October 21st, 2012

    @Scott I didn't say the perception is true, only that certain moves created this perception. Remember the gap after they announced the JavaScript story for Windows Metro but didn't say anything about C# on Metro? That created this perception. They're still trying to dispel it based on conversations I've had. People had months to form these perceptions and the late C# announcements struck some as being a "turnaround" even though it was likely the plan all along (I have no inside knowledge of this).
    Also, the huge emphasis on JavaScript strikes some as neglecting C# developers.
    I do agree that .NET will play a huge part in the new Windows App Store and Windows RT ecosystem. It just feels like this fact hasn't been emphasized enough.
    @Steve Thanks! Fixed!

  11. Avatar for codekaizen
    codekaizen October 22nd, 2012
    It just feels like this fact hasn't been emphasized enough.


    @Scott, I think that the perception exists, too, and I think it exists for a good reason. From all the hype around HTML+JS to the re-emphasis on C++ for "native" apps (especially on Channel 9 which seems to even glorify it a bit) to the retirement of Silverlight and XNA (and with it, MS-supported managed DirectX) to the de-emphasis (and seeming retirement) of WPF - it's like the entire MS .Net platform has retreated into the cloud and surrounded itself with angle brackets. While I know the story from the developer side is a lot of C#+XAML love, there certainly doesn't appear to be much love from MS these days for client-side .Net development. I'd say the perception has some legitimate motivation, if, in fact, ultimately it is to be incorrect.

  12. Avatar for Erx
    Erx October 22nd, 2012

    I want to know why MS didn't / doesn't support XNA on WinRT right off the bat? Is there some other form of game development included in WinRT that I haven't heard about apart from XNA, or...? How did they expect devs to write gaming apps for WinRT? I'm just curious about this design decision, does anyone have any insights? Thanks,

  13. Avatar for BuckminsterEdwards
    BuckminsterEdwards October 22nd, 2012

    I know the story from the developer side is a lot of C#+XAML love, there certainly doesn't appear to be much love from MS these days for client-side .Net development.

  14. Avatar for Steve
    Steve October 22nd, 2012

    Phil you're a saint of the C# community. Cheers!
    I love C# so Xamarin please keep on keeping on. But please let this community not be dominated by client facing tablet apps. C# has a lot more strength than this space and isn't supported by many cloud platforms or tools. Love you XAML guys you make some great looking stuff but as a developer I know that the first thing that is going to change is the client facing device (and it's hard to keep up). I program with cloud services and won't be writing games or apps for any app store. I mean it's cute and fun. But this isn't where Java or even NodeJS is getting most traction.

  15. Avatar for haacked
    haacked October 22nd, 2012

    @Steve well the good news is I have a follow-up I hope to write about some of the cool server side stuff presented at MonkeySpace. So stay tuned. :)

  16. Avatar for Steve
    Steve October 22nd, 2012

    Me again ... I feel like I should elaborate a little from my previous post.
    It seems like languages at large are trying to solve problems when their strengths are in other places while Oracle crosses its arms and laughs saying in a deep God like voice "hahaha I might have alternative motives but like a software pimp but I'm already on every other platform ... especially the cloud". All the while the countless CTOs say hmmm maybe we should consider selling ourselves and become a whOracle. Not to solve any problems other than being able to get into cloud tooling and platforms beyond Azure.
    I won't go into examples of where other languages sit in PolyGlot land but I really think C# and Xamarin could be a big secret sauce player to the PolyGlot world. Lord knows I've tried using them but have had to opt for something closer to Windows based each time, thinking hmmm maybe NodeJS, TypeScript and ECMA 6 will save my ass... God forbid a JS way bastardizing an OOP way that we know works better. I think JS can be very useful as how it has matured and community behind it but maybe C# can be a bigger brother in functionality to JS. And maybe we could even learn something from the JS community.

  17. Avatar for Steve
    Steve October 22nd, 2012

    Looking forward to it Phil

  18. Avatar for RothHowe
    RothHowe October 23rd, 2012

    ASP.NET makes building real world Web Applications dramatically much faster & easier. Even though the name ASP.NET takes the name from Microsoft’s old web development technology, ASP, the two differs significantly.

  19. Avatar for Starfield
    Starfield November 21st, 2012

    @Steve: Yes TypeScript will play a big part. Writing large JS apps without it is like moving from IDE to plain text editor.

  20. Avatar for Kiev Marble
    Kiev Marble November 25th, 2012

    Big forehead definitely counts for something!