Open Source and .net – not really an ideal partnership

Open Source Software is one of the cornerstones of the modern internet, not only thanks to the Apache Web Server, but also (and in my opinion, mainly) through the vast amounts of Open Source Software that runs on these sites. Forums, Blogs, Photo Galleries – there are dozens of good Open Source programs. Yet arguably, most of them are nowadays written in PHP, including this very Blog which runs on WordPress.

There is nothing wrong with PHP (ok, actually there is, but that does not matter here), but I recently switched to ASP.net for work purposes. I love C# and ASP.net, among other things also because of the very strong built-in class library. So it felt natural to look for an ASP.net Blog Software and Photo Album to run an ASP.net website on.

Given the fact that this Blog is hosted on WordPress, you may have guessed that the search was not very successful. As Jeff Atwood puts it, Open Source is often a second-class citizen in the .net ecosystem.

There are indeed plenty of ASP.net Blog Systems – SubText, Community Server, BlogEngine.net, to name a few. I tried about 6 or 7 different ones, and I decided to stay with WordPress. Why? Because it is much more mature. With PHP, installation is normally a 3-step process:

  • Upload all files to your web server
  • run the install script
  • use the applications

With the ASP.net Blog Systems i’ve tried, installation is a process for the system administrator. Manually building Connection Strings and putting them in the web.config file? Having to create a separate IIS Application for the Admin Panel? Requiring dbcreate rights in the database? Asking for FullTrust? That’s not how it is supposed to be!

I don’t know if .net Developers in general consider themselves “Elite” or “Enterprise Developers”, but you can clearly see a different philosophy. Warning: I am generalizing here, there are always exceptions, and this is only my personal opinion.

.net is obviously associated with Microsoft, so I see a lot more “commercial” attitude. The installation is a lot more complicated, you have all sorts of weird requirements, and the amount of “free” information that can be dug up by google is rather sparse. PHP is associated with your typical Linux Hacker, which is why there is even the acronym “LAMP” to describe your standard Setup of Linux, Apache, MySQL and PHP. PHP does not seem to be as polished as .net, it looks a lot more like “organic growth”, with all it’s pros and cons. But the available PHP Applications seem a lot more polished and it is no problem to find a wealth of good PHP Code and Tips by Google. (Of course, you can also find a lot really really bad PHP Code on Google)

It feels a bit awkward to associate Microsoft with Open Source, even though they now seem to be a bit more serious about it. But that should not prevent anyone from making great Open Source Applications with .net Technology. Paint.net is one example of great .net Open Source Software.

Coming back to my original plan to find an ASP.net Blog Software and Photo Album, I have given up finding one. Instead, I started to make my own now. My Photoalbum – Souvenance – is now in Beta and should be released soon. I will then continue to work on my own Blog Software. More information on that will follow later.

5 thoughts on “Open Source and .net – not really an ideal partnership

  1. Yes, open source software for .net is still lacking a lot today. But it will improve in time, I’m sure. I, for example, am trying to finish (in my spare time) a small validator for ASP.NET Webforms which I want to publish as open-source.

    I have tried SubText, DasBlog and BlogEngine.NET and they all seem to suck. I mean if I recall right BlogEngine.NET at some point(s) loads ALL the posts in memory (RAM) which is ok for small and medium blogs but for LARGE blogs that would be unacceptable IMHO.

    Studying them I drew the conclusion that I’d rather write my own blog software rather than use any of these. Oh… and Community Server is a real bloatware.

    Paint.NET is on the other hand a real good example, just as you put it in this entry. I use it mainly. I don’t have other similar software installed. I used to have Paint Shop Pro (can’t stand Photoshop – too big, yes it can do EVERYTHING but too fat) but since Paint.NET I don’t really need something else. That reminds me… I should donate a small amount to its creator.

  2. Hey” And what about codeplex? It’s Microsoft’s site for free placing of programming projects. And as I know, they can be just open source.