Historically, Microsoft hasn’t been a major player in open source projects. Before some of you send me hate mail, I do realize that there have been a few successful open source projects based on the Microsoft platform (DotNetNuke and SubSonic immediately come to mind), but it certainly hasn't been the norm. Microsoft is looking to change all that with the Orchard Project, orchard.codeplex.com.

The usual strategy that Microsoft takes for getting sample code into the hands of developers is to either have their product teams build sample applications, or hire a third-party company to produce reference applications. Microsoft usually assigned the role of defining architecture best practices to its Patterns and Practices team, msdn.microsoft.com/en-us/practices. Orchard is going to take a much different approach by getting the software development community involved in the core of the project from the beginning.

The goals of The Orchard Project are threefold. The first goal is to produce a set of reusable components that can be used to build .NET applications and services. These can be used independently of each other and of the larger applications produced by the project. The second goal is to build a set of reference applications that solve common programming and business problems. These applications can be extended as needed, because full source code will be made available for download. The third goal is to create a "vibrant community to help define these applications and extensions." Essentially, Microsoft will have a team to help keep things focused and organized, but the software development community at large will be the primary engine that moves the project forward.

The first two goals are admirable but not groundbreaking. This is what Microsoft has always done. The third goal is exciting; the development community has already been deeply involved with the direction of the first Orchard application: An ASP.NET Content Management System (CMS). There have been no official releases of the project as of the time of this writing, but there are instructions for how to contact the team to get involved with the project directly. I have personally seen the progress that has been made so far, and I am very impressed. The Orchard team at Microsoft has even brought in developers from other successful open source projects such as Oxit and Spark View Engine to act as major contributors on a virtual "steering committee" if you will.

Although not explicitly stated in its set of goals, Microsoft is actively seeking involvement from developers on different platforms as well. Microsoft's application building technologies such as Silverlight and ASP.NET/.NET are making their way onto other platforms (via the Mono Project), so Orchard is a great way to involve those communities and get their alternative perspectives. There has even been discussion of moving the project's source code to GitHub (github.com), which has a much larger base of developers from non-Microsoft platforms than CodePlex and has some amazing tools for streamlining how large and disparate teams can make contributions to open source projects.

I hope that the Orchard Project continues to gain momentum and the core controls and concepts can be used as a basis for several other larger projects, in addition to the CMS project that is currently in development. With Microsoft continuing to spearhead the initiative and encourage the larger software development community to take on key roles, I give Orchard a great chance of succeeding.