The perfect time to release source code?

Microsoft released last week a ASP.NET MVC demo project called "Oxite" and many Newssites wrote things like "MS launched open source blogging plattform". It´s great that Microsoft released the source code, but on the other handside, there are many criticisms from the alpha geeks. The question is: Should source code only released if it is "perfect"?

As a software developer I think open source is great and I´m very happy that open source is becoming more and more popular. Even development teams at Microsoft release more and more open source code (e.g. MEF, .NET Framework…). "Oxite" was developed by the MIX Online team.

What is Oxite?
"Oxite" is a blogging plattform. It use the new ASP.NET MVC framework (which is itself beta). The Microsoft ASP.NET MVC team don´t even know, that the MIX guys use their stuff. Unfortunately the source code isn´t a great resource for a beautiful architecture (currently – refactoring is going on!).

The problem with Oxite
Every developer know: You don´t have endless time or endless money and your customer wants to see something. Often the right guys with the know how are unrechable and that´s why you are now the developer who implements it – the first time of course!
I think the Oxite team just want to try something out and had to show something to their mangement – and release the source code. If Microsoft is releasing something, they should provide a high quality, because it serves many time as an example.
The Oxite team made one really bad decision and wrote what a great application it is:

We heart you so much, that we thought of everything. Oxite was developed carefully and painstakingly to be a great blog sample, or a starting point for your own web site project with CMS needs. Its line-up of sexy attributes includes: [...]

This is obviously a…

image_thumb2

When and how should I release source code?
Many programmers created some really nice applications at home (or in his spare time) and save it just local on his hard disk. Often these projects are based on cool ideas and nobody knows about that, because the programmer doesn´t have the time to "finish" the application or the last 10% are boring.
Create – Use – Forget: In every developer company there are so many cool showcases and tools, which are only used once time and nobody knows about that.
If you ask the program manager (Info: The manager like open source in this scenario) if he could release the source code to provide some demo code or example code, then you often here that the source code should be refactored before the release or that nobody cares about such an application.

My opinion:
If really nobody care about the application, than it shouldn´t make a different if you release it or not. The internet has many senseless services, so what? If you think your code really suck, because all your business logic is in the "OnClick" event receiver: Who cares? If you make it very clear that this is just a demo application, nobody want´s to kill you and maybe you could help some other developers.

Find help in the internet
We are just humans – everybody made mistakes. You could involve the developer community if you are not comfortable with your solution.
I want to highlight 2 cool projects from 2 well known community guys:

Rob Conerys "MVC Storefront": Rob is an ASP.NET MVC team member and wants to create a webshop with TDD, MVC and other cool stuff. As Rob started the project he wasn´t a expert in TDD. He recorded every big step and you can see how he is learning and improve the application.

Scott Hanselmans "Babysmash!": Scott is another MVC team member at Microsofti and want to create a application for babies. He use WPF for the UI and ask the community to help him and share some thoughts about WPF, architecture, deployment and so on. It´s very cool to see what cool features you can create with WPF.

Show me YOUR code!
Release your cool demo apps and share them with the community to help other and to get feedback. The learn effect is colossal!

Made some screenshots, wrote a short description about your app and publish it – via blog, newsgroups, forums or use Codeplex or Google Code.

Scott Hanselman wrote yesterday a similar post about the community, learning and Oxite.

PS: It´s after midnight in germany, so please don´t flame my englishskills to much ;)

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

About the author

Written by Code Inside Team

Currently there is no additional info about this author.

One Response

Comment on this post

Recent Posts

  • image1452_thumb.png
    Javascript to Dart Translator

      Dart, a Google Javascript alternative was presented a few months ago and the web developer scene are a little bit unsure about the usability of Dart. To declare the language Google has translated the Javascript basics into Dart. The result is this “Translator”. In my opinion the name doesn’t find that well because it’s ...

  • image1366-570x194.png
    Twitter Bootstrap as UI-kit

      HTML and CSS are not foreign words for me but I regret, I’m not a Web designer – I see myself as a webdeveloper. But at least a dressy side is a must. But thank good there are some ready “Systems”. Twitter Bootstrap Twitter Bootstrap is a Toolkit for every kind of Web applications. ...

  • image1441.png
    Fix: the value ‚x‘ is not valid for Foo in ASP.NET MVC

      To get files into the MVC Controller Modelbinding from MVC is a clever method. But in fact it is a little bit complicated to set the error message if the connection failed. Example: public class RegisterModel { ... [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email address")] public string Email { get; set; } [Required] [Display(Name = ...

  • You Tube API – recall Video Meta files with .NET

      A loooong time ago I’ve blogged about how to access to You Tube with the Google Data APIs. After all that time there are several new ways how to recall files. Google offers You Tube a “simple” surface. If you prefer to do low-Level HTTP calls it is also possible. Aim: I want the ...

  • image1426-570x194.png
    MacBook Pro for .NET Developer – useful ore just pretty?

      I own a MacBook Pro (from 2010) for about a year now and because I’ve used to think about this Question since I have it, I’m going to blog about my experience now. My Notebook Configurations MacBook Pro April 2010 - 2,66 Intel Core i7 - 8GB RAM - 15’’ Glossy Display - Intel ...

Support us