Microsoft takes .NET open source and cross-platform