OSS and .NET Year In Review 2011

T’is the season for “Year in Review” and “Best of” blog posts. It’s a vain practice, to be sure. This is exactly why I’ve done it almost every year! After all, isn’t all blogging pure vanity? Sadly, I did miss a few years when my vanity could not overcome my laziness.

This year I am changing it up a bit to look at some of the highlights, in my opinion, that occurred in 2011 with open source software and the .NET community. I think it’s been a banner year for OSS and .NET/Microsoft, and I think it’s only going to get better in 2012.

NuGet Logo

We released NuGet 1.0 in the beginning of this year and it had a big impact on the amount of sleep I got last year. Insomnia aside, it’s also had a significant impact on the .NET community and been very well received.

One key benefit of NuGet is it provides a central location for people to discover and easily acquire open source libraries. This alone helps many open source libraries gain visibility. According to http://stats.nuget.org/, the NuGet gallery now has over 4,000 unique packages and 3.4 Million package downloads.

Scott Hanselman noted another impact I hadn’t considered in his DevReach 2011 keynote. To understand his observation, I need to provide a bit of background.

Back in April, Microsoft released the ASP.NET MVC 3 Tools update. This added support for pre-installed NuGet packages in the ASP.NET MVC 3 project templates so that projects created from these templates already include dependent libraries installed as NuGet packages rather than as flat files in the project. This allows developers who create a project from a template to upgrade these libraries after the project has been created via NuGet.

NuGet 1.5 adds this support for pre-installed packages to any project template that wants it. In the preview for ASP.NET MVC 4, we included libraries such as ModernizR, jQuery, jQuery UI, jQuery Validation, and Knockout in this manner. We expect other project templates in the future to take advantage of this as well.

The interesting observation Hanselman had in his keynote is that this is an example of Microsoft giving equal billing to these open source libraries as it does to its own. When you create an ASP.NET MVC 4 project, your project includes Microsoft packages alongside 3rd party OSS packages all installed in the same manner.

Additionally, the way NuGet itself was developed is also important. NuGet is an Apache v2 open source project that accepts contributions from the community. Microsoft gave it to the Outercurve Foundation and continues to supply the project with employee contributors.

Orchard Project

Before there was NuGet, there was Orchard. Orchard is an open source CMS system that was started at Microsoft, but also contributed to the OuterCurve Foundation.

What’s really impressive about Orchard is the amount of community involvement they’ve fostered. They’ve set up a governance structure consisting of an elected steering committee so that it’s truly a community run project.

They recently surpassed 1 million module downloads from their online gallery. Modules are extensions to Orchard that are installable directly from within the Orchard admin.

Umbraco

Umbraco is an independent open source CMS that has a huge following and a strong community. They’ve been around for a while, long before 2011. But in 2011, Microsoft hosted the redesigned http://asp.net/ site using Umbraco.

Micro ORMS

For a lack of better term, I think 2011 was the year of the mini-ORMS. While many refere to these libraries as micro-ORMS, they’re not technically ORMs. They’re more simple data access libraries. A non-comprehensive list of the ones that made a big splash are:

If you’re interested in seeing a more comprehensive list of Micro ORMS with source code examples of usage (Nice!), check out this blog post by James Hughes.

Micro Web Frameworks and OWIN

Like pairing a good beer with the right steak, lightweight micro-web frameworks provide a good pairing with Micro-ORMS. It’s interesting that  both of these picked up quite a bit this past year.

Some that caught my attention this year are:

  • Named after Sinatra’s daughter, there’s the Nancy micro web framework.
  • FubuMVC is billed as the project that gets out of your way.
  • OpenRasta is a resource oriented web framework for building REST services.

Again, James Hughes provides a comparative list of micro-web frameworks complete with source code examples.

With the proliferation of web frameworks as well as lightweight web servers such as Kayak and Manos de Mono, the need to decouple the one from the other arose. This is where OWIN stepped into the gap.

OWIN stands for Open Web Interface for .NET. It is a project inspired by Rack, a Ruby Webserver interface, meant to decouple web servers from the web application frameworks that run on them.

This project was started as a completely grass roots project in 2011 but has seen amazing pick-up from the community and I believe will have a big impact in 2012.

mp-mono-logo

Miguel de Icaza wrote a monster blog post about the year that he and the Mono (and Xamarin) folks have had in 2011. His post inspired me to write this less monstrous one. It’s a great post and really inspiring to see how they’ve emerged from the ashes of the great Novell layoff of 2011 to have a great year.

In the following image, you can see me teaching Miguel everything he knows about software development and open source while Scott acts surprised?

What really caught my interest in his post was the note about Microsoft using Mono and Unity3D to build Kinectimals for iOS systems such as the iPad. 2011 seems to be the year of pigs flying for Microsoft.

Xamarin is doing a great job of bringing Mono, and consequently C# and open source to just about every device imaginable!

Open Source Fest at Mix 11

Mix is one of my favorite conferences and I’ve attended every single one. And it has nothing to do with it being in Las Vegas, though that doesn’t hurt one bit.

This year was special due to the efforts of John Papa (who’s name makes me wonder if he ever goes all Biggie Smalls on people and sings “I love it when you call me John Papa”). This year, John put together the Open Source Fest at Mix.

This was an event where around 50 projects had stations in a large open room where they could represent their project and talk to attendees. The atmosphere was electric as folks went from table to table learning about useful software directly from the folks who built it.

This is where projects such as Glimpse got noticed and really took off. Would love to see more of this sort of thing at conferences.

Azure SDKs and GitHub

As I recently wrote on the GitHub blog, Microsoft is actively developing a set of Azure SDKs for multiple platforms (not just .NET) in GitHub. All of these libraries are Apache v2 licensed and actively being developed in GitHub.

screenshot of the azure sdk homepage

It’s great to see Microsoft not only releasing source code under an open source license, but actively developing it in the open and ostensibly accepting contributions from the public. I look forward to seeing more of this in the future.

GitHub_PixelOptimizedLogo

Last but not least, there’s GitHub. Full disclaimer: I’m an employee of GitHub so naturally my opinion is totally biased. But a bias doesn’t necessarily mean an opinion is wrong.

What I love about GitHub is that just about everybody is there. GitHub hosts a huge number of open source projects, including a large number of the important ones you’ve heard of. Quantity alone isn’t a sign of quality, but it can create network effects. When a site has such a large community, hosting a project there makes it easier to attract contributors because there’s such a large pool to draw from.

I’ve seen this benefit .NET open source projects first hand. Since moving some of my projects there, I’ve received more pull requests. Small independent projects such as JabbR have really attracted a passionate community at GitHub with large numbers of external contributions. Most of the credit must go to the efforts of the great project leads who’ve worked hard to foster a great community, but I think they’d agree that hosting on GitHub certainly makes it easier and more enjoyable.

What did I miss?

Did I miss anything significant in your opinion? Let me know in the comments. What do you think will happen in 2012? Does the number 2012 look like a science fiction year to you? Because it does to me. I can’t believe it’s just about here already. Have a great holidays!

UPDATE: Egg on my face. This post was meant to list a few highlights and not be a comprehensive list of all that happened in open source in the .NET space. Even so, in my holiday infused malaise, I was negligent in omitting several highlights. I apologize and updated the post to reflect a few more significant events. Let me know if I missed some obvious ones.

What others have said

Requesting Gravatar... Manuel Dec 26, 2011 5:11 AM
# re: OSS and .NET Year In Review 2011
I don't know what happened in 2011 but I found and started using some great .NET open source projects and libraries (even on Codeplex), it would be great if Github could take this scattered efforts and give them a boost.
Requesting Gravatar... Bertrand Le Roy Dec 26, 2011 5:25 AM
# re: OSS and .NET Year In Review 2011
What did you miss? Do I really have to tell you? I'm kinda stunned here.
Requesting Gravatar... netardos Dec 26, 2011 5:27 AM
# re: OSS and .NET Year In Review 2011
umbraco... it's awesome
Requesting Gravatar... Nicholas Mayne Dec 26, 2011 5:31 AM
# re: OSS and .NET Year In Review 2011
Where is the most awesome project ever!!??
Requesting Gravatar... Bilbo Dec 26, 2011 5:40 AM
# re: OSS and .NET Year In Review 2011
Orchard doesn't exist!
Requesting Gravatar... Demis Bellot Dec 26, 2011 5:46 AM
# re: OSS and .NET Year In Review 2011
LOL, yep you got it all - that's all the .NET OSS life there is!

Redmond must be a smaller world than what I imagined :)
Requesting Gravatar... haacked Dec 26, 2011 5:47 AM
# re: OSS and .NET Year In Review 2011
Sorry guys, I didn't mean this to be a comprehensive list. I just picked a few highlights from my perspective.
Requesting Gravatar... Miguel Angel Jimenez Dec 26, 2011 5:52 AM
# re: OSS and .NET Year In Review 2011
the web open stack for .net: Nancy,kayak and Owin, the effort to create a full web open stack compatible sito mono and .net framework
Requesting Gravatar... haacked Dec 26, 2011 5:54 AM
# re: OSS and .NET Year In Review 2011
Owin and Orchard is a glaring omission on my part. I'll fix that. Owin is a really great example of the type of spirit I should be writing about!

Sorry fellas, I'll fix it.
Requesting Gravatar... fschwiet Dec 26, 2011 6:13 AM
# re: OSS and .NET Year In Review 2011
Maybe just re-label this as some personal highlights rather than try to be comprensive. I do appreciate your efforts to open up the .net ecosystem, and you recognize the value of that goes beyond any one person's toolset.
Requesting Gravatar... netardos Dec 26, 2011 6:18 AM
# re: OSS and .NET Year In Review 2011
hey! good guy haacked! asks what's important to me, updates the post.

you're awesome!
Requesting Gravatar... haacked Dec 26, 2011 6:21 AM
# re: OSS and .NET Year In Review 2011
@fschwiet I don't want to make it just my highlights. Neither do I want to make it comprehensive. Just a set of things I thought were significant.

In any case, I updated the list and if others remind me of items that were significant that I forgot, I'm happy to update the list.
Requesting Gravatar... Demis Bellot Dec 26, 2011 6:30 AM
# re: OSS and .NET Year In Review 2011
@haacked

You haven't mentioned any of the other .NET web frameworks (i.e. OWIN-related) or any of the .NET NoSQL solutions, and only hand-picked a few of the Micro ORMs rather than pointing to a comparative lists like:

yobriefca.se/...

Granted you can't list everything or may not know these other .NET frameworks exist and are aware of their respective communities, which is why it's a better strategy to change the title of this post to reflect that it's "your" highlights.
Requesting Gravatar... Paul Betts Dec 26, 2011 6:33 AM
# re: OSS and .NET Year In Review 2011
The Nancy project is another great mention for OSS in .NET (https://github.com/NancyFx/Nancy#readme), it's a web microframework inspired by Sinatra.
Requesting Gravatar... Scott Koon Dec 26, 2011 6:34 AM
# re: OSS and .NET Year In Review 2011
We talked with John Papa about the OSS party at Mix on Herding Code. http://herdingcode.com/?p=318
Requesting Gravatar... Bertrand Le Roy Dec 26, 2011 6:34 AM
# re: OSS and .NET Year In Review 2011
Thanks for the update, Phil.
Requesting Gravatar... haacked Dec 26, 2011 6:53 AM
# re: OSS and .NET Year In Review 2011
@Demis thanks for the links! Makes the post that much more valuable. I added a note in my introduction to this post that these are highlights in my opinion. At the same time, I did include your suggestions.

@Paul thanks, I added Nancy as well as mentions of Kayak, Manos de Mano, FubuMVC, etc.! Even better, I found a comparison of the various micro web framework with source code samples.

@Miguel I added some notes on that. Thanks!
Requesting Gravatar... Ameer Dec 26, 2011 7:02 AM
# re: OSS and .NET Year In Review 2011
NancyFx (http://nancyfx.org/) & RavenDB (http://ravendb.net/) ?

And more https://github.com/languages/C%23/most_watched :) ?

Requesting Gravatar... Chanva Dec 26, 2011 12:03 PM
# re: OSS and .NET Year In Review 2011
Have a great year!
Requesting Gravatar... John Dec 26, 2011 1:19 PM
# re: OSS and .NET Year In Review 2011
How about nopCommerce (http://www.nopcommerce.com/)? It moved to ASP.NET MVC 3 this year
Requesting Gravatar... Anton Dec 26, 2011 4:14 PM
# re: OSS and .NET Year In Review 2011
MVC Mini Profiler became de facto standard almost for any asp.net mvc site I know.
Requesting Gravatar... James Hughes Dec 27, 2011 12:53 AM
# re: OSS and .NET Year In Review 2011
Cheers for the double shout out there Phil. Much appreciated. Hoping to dive into .NET OSS a lot more in the coming year!

James
Requesting Gravatar... Jeff Putz Dec 27, 2011 11:05 AM
# re: OSS and .NET Year In Review 2011
The open source fest at Mix was a blast, even if I wasn't eligible to win. Would love to bring POP Forums back next year (any volunteers for translating the resx files?), but it's looking like there won't be a Mix 2012. Bummer. I went to most of them, and it was a fantastic conference.
Requesting Gravatar... mycall Dec 28, 2011 5:31 AM
# re: OSS and .NET Year In Review 2011
CQRS + Event Sourcing is starting to gain momentum. Perhaps that will what to look for in 2012.

http://abdullin.com/cqrs/

What do you have to say?

(will show your gravatar)
Please add 6 and 3 and type the answer here: