I think Microsoft knows how bad of a rap they got back in the days of IE6, and they know that people don't really change their opinions very easily. So they're hoping to change the minds of devs (which is why they've open sourced so much - they're trying to look better and nicer, and now they're taking it further by putting in a lot of work into languages/ecosystems that aren't their own).
Through their charitable work, they look like the "good guys". The great thing about getting devs to like MS is that those devs might praise MS when talking to their non-developer friends, and their non-developer friends might ascribe a lot of value to that praise simply because they know that devs probably know more about tech companies.
In other words, by getting devs to like/trust MS more, non-devs will also like/trust MS more
These recent moves aren't making me trust Microsoft anymore than before.
It's fantastic that they're open sourcing some stuff these days, but the things they're open sourcing and external projects they're contributing to are all either cost centers (nobody makes money on browser engines these days), or areas where they've lost the battle for cloud hosting, and are hoping to get a leg in on Linux-based hosting.
Now if they were to open source something like MSSQL, Exchange server, truly open up the office format, or pretty much anything where they haven't utterly been defeated by existing open source products I'd be impressed and might think their company culture is truly changing.
As it stands I don't see any reason to think that this isn't just all part of an experimental marketing strategy to bring already lost markets back under the Microsoft umbrella, and once they can achieve lock-in again; goodbye open source.
With .NET Core, all .NET languages, and ASP.NET Core being open source I'd say they've made that jump. It's literally millions of developers who use .NET and pay for Visual Studio (not to mention, this is what an incredible amount of Microsoft's products are built with), which last I checked is a billon-dollar business for MSFT. The open source stuff is where they're taking that business strategically, or at least it certainly seems that way.
All the things you've listed fall squarely in the category of "we've lost the hosting war, and nobody's going to ship proprietary .NET binaries on Linux distros".
The further you go from that sort of thing where they've already lost the market and either have nothing to lose or the writing is on the wall (how long can paid-for languages truly compete with free ones?), the less they have open sourced.
E.g. even Visual Studio which would be the next logical step is still for sale starting at $500 on their website[1], maybe that'll be fully open one day. After all how long can the paid-for editor wars persist?
What I was pointing out is that there's no sign of them opening up anything that would truly make them an open source company. I.e. things they make real money on, or would threaten their established lock-in.
Note that, while VS is still proprietary, VSCode is open source.
Keep in mind that there's a considerable overhead in open sourcing large products with very old codebases that evolved over many years, sometimes decades (this describes Windows, Office and VS, among many others). For example, they may incorporate code and components from other sources, and the license that permitted their use and redistribution may not permit opening the source. Worse yet, in many cases, you won't even be sure if they do or do not before you do an expensive code audit.
Open sourcing something mostly brand new, like ASP.NET Core or Roslyn, is much easier in comparison, because you architecture for that from the get go.
Yes, of course. But they're products in a similar area, with the main difference being that one is a brand-new, from-scratch codebase, while another one is ~20 years old, and in places, might be based on code going even further back. Which reinforces my point that it's much easier to open source new stuff.
Both Visual Studio and the Jetbrains IDEs are commercial and they're considered some of the best tools available on the market. Quality tools can still command a decent price.
To put things into perspective, IntelliJ has been battling both Eclipse and Netbeans for ages and it is (slowly) winning.
Yes it makes perfect sense that they're selling it. I'm not saying it doesn't.
What I'm saying is that the comments here to the effect of "Microsoft has changed their stance" don't seem to be in touch with reality.
Microsoft has just realized relatively late that there's certain things that they can't make money on yet are still strategically important, such as core .NET technology, or JS engines.
That doesn't mean that they'll keep open sourcing stuff, or that they're not likely to pull back the second they think it services their commercial aims.
> "Microsoft has changed their stance" don't seem to be in touch with reality
I would say that porting MSSQL to Linux, open-sourcing .NET and ChakraCore (amongst other things) is definitely a change from the "Linux / OpenSource is a cancer" days, no?
Microsoft is in no way going to become the next Red Hat in running a service-only model onto of Open Source products. It doesn't make sense for them to do that. But the fact that they have accepted Open Source as a possibility for some of their products, and put that into action is a step in the right direction.
The fact that they are happy to ship proprietary products that are known to have backdoors doesn't make me believe they've changed their views on user freedom. It's a relevance ploy, nothing more.
You're probably right. The thing is, Microsoft is right now in existential danger, at least if it wants to grow, and I think it has to grow, because it's a public company.
Their core market (desktop/enterprise desktop) is basically saturated. Almost their secondary efforts have failed from a financial standpoint or are only second in their niche (Bing, Edge, Azure, Xbox, etc.).
Unless they pull off some sort of a miraculous switch:
* they'll continue to be perennial underdogs
* they'll opening things up in order to gain allies, through genuine community building
From my point of view, in a sort of twisted way, that basically means that they're safe from a open source point of view.
They'll have to develop communities in almost every area they want to compete in (which means that there will be stewards available if they back down) and they'll invest quite heavily in their open source contribution.
It might not be done for the purest reasons, but I think that their new contributions will be here with us for the long term.
The open sourcing of .NET core is incredibly significant. As much as people here like to pretend no one uses C#, it's a massive and profitable ecosystem.
The license you're buying for VS is a support seat with some special integrations. It's not like IntelliJ doesn't do that too. The community edition is entirely serviceable and free.
I think that's a misleading picture of where things are going. Seeing these releases as charitable work misses the point. They haven't open sourced any of their core many makers. Nothing of the Office suite got open sourced, and you still can't code for your game console without special permission.
They do as many others, they open source what's already lost in an effort to stay relevant. It has been .net stuff (which was supposed to out-compete Java, but captured exactly zero mindshare outside the Windows ecosystem which is necessary to grow it at this stage), other developer stuff (not Visual Studio, mind you, but things like git and ssh where they tried to compete but lost), cloud (they need Linux on Azure to stay relevant) and web development. Much like Apple when they started out with OS X and released networking, printing and X11 stuff to get back developers. That worked out well for them but we haven't seen any more releases since then.
Don't be tempted to view this in terms of good and evil, but in terms of where these products are in their life cycle. Time will tell if it's successful. I would guess they lost web development long ago and there won't be any mass exodus from PHP or Rails to .net, but they still have a fighting chance against Java, especially if Oracle continues to bodge it.
Through their charitable work, they look like the "good guys". The great thing about getting devs to like MS is that those devs might praise MS when talking to their non-developer friends, and their non-developer friends might ascribe a lot of value to that praise simply because they know that devs probably know more about tech companies.
In other words, by getting devs to like/trust MS more, non-devs will also like/trust MS more