Entity Framework, a database mapping tool that can be used while developing apps using the .NET Framework, has joined the list of projects that Microsoft has made open source on CodePlex. Is this good or bad news for users of EF and .NET in general?
The change to open source is being handled by Microsoft Open Technologies, a subsidiary of Microsoft that was launched in April to manage Microsoft's open source work and alongside the announcement that Entity Framework is being taken open source a CodePlex landing page for MSOpen Tech projects has been launched.
The landing page is designed to promote the work of the Open Tech Hub, a new program where engineering teams from across Microsoft can be temporarily assigned to MS Open Tech to collaborate with the community and work with the MS Open Tech full time employees to contribute to its projects, and create open source engineering best practices.
Welcoming Entity Framework (EF) to join join the other open source components of Microsoft's dev tools – MVC, Web API, and Web Pages with Razor Syntax, Gianugo Rabellino, Senior Director Open Source Communities at Microsoft explained that the new MS Open Tech CodePlex landing page will:
enable everyone in the community to monitor and provide feedback on code check-ins, bug-fixes, new feature development, and build and test the products on a daily basis using the most up-to-date version of the source code.
EF is an Object/Relational Mapping (ORM) framework that will provide an alternative choice for open source fans to the popular NHibernate. Both let developers treat relational data as domain-specific objects, so your code doesn’t have to deal directly with the data access methods.
Microsoft released EF 4.3 earlier in the year with support for Code First Migration that is designed to let you evolve database schema in a code optimized way. EF 5 is close to being released with enum support, spatial data types, table-valued function support and improved performance and Visual Studio Tooling support.
According to Scott Guthrie of Microsoft’s Developer Division said, in his blog post about the announcement, Microsoft will continue to ship official builds of Entity Framework as a fully supported Microsoft product both standalone and as part of Visual Studio:
“It will continue to be staffed by the same Microsoft developers that build it today, and will be supported through the same Microsoft support mechanisms. Our goal with today’s announcement is to increase the development feedback loop even more, allowing us to deliver an even better product.”
This is an upbeat statement, but you would expect it to be - it is in the "he would say that wouldn't he" category.
However, open sourcing unwanted software has become a way for companies to pass the buck to users when it is no long profitable to continue to support said software. Users of EF have to be worried that perhaps this is what Microsoft is up to.
There is also the fact that EF has a reputation for being very a very complex piece of software to create, let alone use. With Microsoft busy "re-imagining" Windows and the whole of its development environment it might well be considering why it is putting so much effort into creating something that is so peripheral to its aims.
What better way to get rid of the problem than to open source it?
Only time will tell, but the list of .NET systems that have been open sourced recently is a strong signal that Microsoft no longer sees many of them as being core to its future profitability.
Consider this - can you imagine Microsoft open sourcing WinRT? Metro? WinJS or any of the new framework?