From what I saw as an intern at Microsoft a while back, there's way more of an engineering-led culture at Microsoft than people give it credit for, and to the extent there's a push to promote their own language and tooling, it's largely driven by a wholehearted belief (and challenge) that Microsoft tools are the right ones for the job, with initiatives being chosen to fulfill and expand that promise. And, more recently, what I hear is that Nadella's initiatives are genuinely promoting that ethos across the entire leadership structure. In that context, they make a lot of sense as a partner for Github.
[0] https://blogs.unity3d.com/2018/03/28/updated-scripting-runti...
[1] https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csh...
[2] https://blogs.msdn.microsoft.com/vbteam/2015/01/10/were-movi...
This is my opinion, but I think Microsoft tech is fairly terrible for open source and smaller projects, because .Net is a lot of complicated tooling you’ll never use outside of enterprise. At the same time they are rapidly becoming the “only” enterprise option rather quickly, and with that comes the question of why you’d chose AWS over Azure.
Sure visual studio has a free version, Windows now does Linux and .net Core is open but I see those moves as a way to make c# replace JAVA in schools not as a way to make open source love Microsoft.