One of the best data access technologies to come out of Microsoft in a long time, built on a foundation developed from several attempts over the years, has been Entity Framework. Microsoft positions Entity Framework as the mainstream ADO.NET data access technology, and an increasing number of developers are drinking the object-relational-mapping Kool-Aid by using its tools. That's a very good thing for productivity and application quality. Entity Framework beats writing low-level data access code nearly every time.
It was exciting news when the company announced in July that it would release the upcoming Entity Framework 6.0 as open source under the Apache 2.0 open source license on CodePlex. Microsoft calls this "development transparency," which I suppose it is, but the company is going to let anyone and everyone "engage and provide feedback on code checkins, bug fixes, new feature development and build and test the product on a daily basis using the most up to date version of the source code and tests," as Scott Guthrie said in his blog post that announced the move. Microsoft is nearly becoming an open source company, at least with some of its developer technologies. This is quite a change from a few years ago and will probably be a big factor in keeping the company relevant for far longer than some analysts had recently forecast.
Microsoft is managing its investments in open standards and open source through a new subsidiary, Microsoft Open Technologies, which it created last spring. According to Jean Paol, the subsidiary's new president, "the subsidiary provides a new way of engaging in a more clearly defined manner. This new structure will help facilitate the interaction between Microsoft's proprietary development processes and the company's open innovation efforts and relationships with open source and open standards communities." Microsoft certainly seems to be making a long-term commitment to releasing strategic products as open source, which, in the case of Entity Framework, is a huge benefit to .NET database developers. It not only provides a way to share the source code but also enables community to contribute to the core technology.
The best thing about Microsoft's decision is that the company has committed to continue to provide the same resources and investments in Entity Framework as it had when it was originally created. So the move to open source isn't just cutting loose a dying technology so that those who foolishly keep using it can adapt to the technology's changing needs in the face of abandonment. Instead, Entity Framework will remain a core data access technology built in to the .NET Framework for the foreseeable future.
Entity Framework joins ASP.NET MVC 4, ASP.NET Web API, and Razor as open source. If you care about those technologies, you can get the source code, explore it, modify and adapt it to your own uses, and follow the daily builds and check-ins as Microsoft and the community move forward to new releases. These are indeed exciting times for .NET developers!
The most immediate benefit of having Entity Framework as open source is complete access to the source code to build a deep understanding of how things work internally. The source code comes with many projects in two solutions: one for the core Entity Framework runtime, NuGet package, unit tests, Code First, PowerShell support, migration features; and another for the Entity Framework Power Tools, which requires the Visual Studio 2012 SDK.
After you've satiated your thirst for deep Entity Framework understanding through the source code, you can adapt it to your needs or choose to dive in and start making community contributions to a future release, as well as engage in community discussions about design and implementation. Frankly, it will be interesting to see how much code that's contributed by the community makes it into future releases of Entity Framework. The company promises to rigorously review and test all code submissions so that only code that meets an "extremely high bar for both quality and design/roadmap appropriateness will be merged into the source." Time will tell if contributing developers will meet the company's standards. You can learn more on the project's Ways to Contribute page on CodePlex.
All too often, Microsoft gets things extremely wrong. However, this isn't one of those times. Bravo, Microsoft! Keep the open source technologies coming!