Microsoft has RTM-ed .Net Core, which is a major revolution for the .Net Framework. .Net was originally built for the Windows platform in a time that Microsoft was very desktop-minded and Ballmer still had the idea that the iPhone didn’t have a chance in the market…
Times have changed and for now it seems that Microsoft has learned from these mistakes and is more getting ‘multi-platform’ minded these days. They are working on a bash implementation for Windows, they released an multi-OS .Net platform and there will probably be more in the (near) future. Also their cloud offering is already offering VMs with different platforms, from RedHat via CentOS to Ubuntu, you can get it there.
So what we can expect moving forward? My guess is that Microsoft will invest more and more in cross-platform and will finally recognize that the desktop PC is becoming less and less of a mainstream product but gets to the realm of specialized business equipment. People at home are using their TV to game on, their tablets to read the news and their phones for their social networks. Sooner rather than later the PC will slowly disappear out of the household.
This leaves businesses. Small and medium sized business still will have to do with the PC on the desk. Windows will still play an important role here, but other desktop operating systems are slowly getting more grip on the market.
So why .Net first? Simple: Developers, developers, developers! Ballmer was right on the money with that one! There are TONS of developers out there which are very skilled in .Net coding. This way .Net slowly gets rid of the ‘Windows stigma’ and it will become an even more widely used programming technology. And what has Microsoft to gain here? They can sell their tools and related products for the time to come.