I have been asked several times what the community can do to help get WCF RIA Services open source. After doing some research into how open source works, and reading articles like this one, it is clear that just asking Microsoft to open source something is not enough. We need to have to have a vision and a plan.
What I am going to layout here is my vision for what an open source WCF RIA Services project would look like. I have development split into three main branches which I have numbered as 4.2, 5.0, and 6.0. We are starting at 4.2 as the current closed source WCF RIA Services has a 4.1 version number.
4.2 will be the initial open source release of WCF RIA Services. Here we will fix bugs, add M2M support, change a bunch of internal code to public, and other things which do not break backwards compatibility.
The version 5 branch of WCF RIA Services will be where cross-platform work will happen. My position is that supporting the same API across all platforms is more important than maintaining the current Silverlight API as-is. Accordingly, there may be breaking changes within the Silverlight client and/or server parts of WCF RIA Services to create a consistent API. If you want to contribute breaking changes to WCF RIA Services then the 5 branch is where you will want to be.
The 6 branch is targeted to be released along with Visual Studio v.Next and the Roslyn compiler. The focus of the 6 branch will be on integrating Roslyn into WCF RIA Services where it makes sense. For example, Roslyn will enable client side POCO object to be used as entities instead of the current code generated entities which inherit from Entity.
This branch is where I am going to put things that may not end up in one of the main releases. There is a lot of wild things that could be done in WCF RIA Services and not all ideas may turn out to be good ones.
The Plan
So, that in a nutshell is my vision for WCF RIA Services. As you can see, each branch has a page linked where more information about each branch can be found. You can contribute more ideas at the original blog post.
If/when WCF RIA Services is open source my main priority is going to be the 5.0 cross-platform branch of development. Merijn, the developer of M2M4RIA on Codeplex, has already indicated that he would be willing to work on adding M2M support to the 4.2 branch and there a few things I want to get done in the 4.2 branch like change notification before I get too deep into the 5.0 branch.
I don't think development on the 6.0 branch will start until late 2013 after the 5.0 branch is completely stable and more features have been added to the 4.2 branch.