I suppose a fringe benefit of open-sourcing .NET would be an eventual reduction in this phenomenon.
I mean, it doesn't really even make sense to have a closed-source application programming language in this day and age, where the community building and maintaining it is entirely employed by a single company. It just isn't efficient enough, the maintenance is intractable, and you end up with false starts because the whole thing is subject to the whims and shifting priorities of management.
Besides, Sun open-sourced Java back in 2006, already...