Embrace, extend, and extinguish - these 3 words briefly describe the strategy Microsoft used in the '90 to further expand its multi-million dollar empire. But things have changed since then. No longer are we bound by the terrific Internet Explorer, nor see Microsoft engage in anti-competitive behavior. In fact, we see what's an almost-complete switch - new Edge embracing Chromium, Azure using Linux, and the whole company being much more open-source-friendly.
And so, with such a drastic change, I think it's understandable why many people - especially in the programming community - have different opinions about the company. Has Microsoft truly changed, or is this only the first step in their grand implementation of the "triple E" strategy?
First, let's take a step back to see how MS was back in the day. And, as a matter of fact, we don't have to go very far, as even in 2001, then-current CEO - Steve Ballmer - claimed Linux and open-source in general to be - quote here - "cancer that attaches itself in an intellectual property sense to everything it touches".
Now, to be clear, I don't intend to judge or critique here anybody personally. I think we can all agree that a company is a lot more than a sum of its employees and executives. Yet still, the CEO is a very important person, whose thoughts and opinions often influence the entire company's operations.
In this case, Ballmer was unhappy with Linux and its licensing. Sure, he did have a bit of a point there, but it certainly didn't help that MS back then was a primarily proprietary software-driven company. And it's not like that fact alone is bad. Naturally, most companies are less willing to open-source what makes them profit. But in this case, it's the overall context related to the mentioned statement that puts it in a very bad light.
Such a statement might not have spanned such a controversy if not for MS's questionable past. Browser wars, IE dominance, and negative approach towards open-source "helped" MS establish its perception as this big, bad company in the minds of many customers, programmers, and enthusiasts alike. And even though this might be profitable short term, bad public opinion is nothing that you'd like to have attached to your company's name in the long run.
So, with all this "bad press" as some might call it, how is it possible that a company so big, making such great profits from its fight against the Open-Source Software (OSS), suddenly turned around and became arguably one of the biggest OSS contributors out there?
Well, it's really hard to say, and the reasoning behind any kind of assumptions can be quite complex. Thus, we'll try to understand MS's new business model in a moment, but first, we'll take a look at how much exactly the company has contributed to the open-source community.
Let's start with the elephant in the room - Linux. It went from being called cancer to straight-up being openly loved. Whether it's because MS truly lost its battle against the open-source OS, or it's changed its mind doesn't matter.
What matters is that MS has truly embraced Linux - both on the user as well as the business side. The OS is now the most used one on MS Azure cloud platform, which on its own competes in size with players like GCP or even AWS itself! But the changes don't end here!
On Windows, MS added something called Windows Subsystem for Linux (WSL). You might have heard of it. It's official, MS-supported solution for running Linux right inside Windows itself, meant mostly for developers to take advantage of UNIX-like OS capabilities.
I'd say that the only way to go more Linux is to make Windows be based on Linux kernel, which... we all know is not going to happen and doesn't make much sense anyway. So, kudos to MS for going full-on Linux in all logical means! 😅
What about MS's last acquisitions? What do they say about their new direction? As you might expect, I'd mostly want to focus here on GitHub and NPM - two of the arguably most influential acquisitions in my field (web development).
Starting with GitHub, MS acquired it in late 2018. At the time the opinions were mixed. On one hand, MS with its vast resources could boost GitHub's development, but on the other - no one knew what plans they had for the company. Currently, I must admit that GitHub only got better since then. New features such as Actions, Discussions, or the upcoming Codespaces continue to push GitHub into becoming an all-in-one platform for everything code. And there's also all the new free features like private repos for individuals and teams! I don't know if all this would have happened if not for MS's bigger budget!
As a cherry on top, let's take a look at some of MS's open-source contributions. And, in all fairness, there's so many of them that I can't even list them all - from beloved VS Code and TypeScript, through Rush and Playwright to tools like Windows Calculator and Terminal. There's literally tons of high-quality open-source code right here - code that like VS Code or TypeScript empowers millions of developers around the world.
I must admit - I have no reason to complain about MS and its latest actions. I'm almost completely "trapped" (and I say it in a positive, comfortable meaning) inside its open-source ecosystem. My go-to code editor is VS Code and most of my mostly-TypeScript-based code lives on GitHub or gets published on NPM. Sure, I don't use Windows, but when I think about it - I'm already fairly deep into all that stuff! 🙃
So, I think I've talked enough about all the positive changes that MS has gone through. Now, about that "why?" question. Why did MS have such a drastic change of heart? Where's the money to be made now that things are so open? Surely that trillion-dollar market evaluation comes from somewhere, right?
Well, I don't know what MS's real end goal is, but it's pretty obvious that currently, their main focus is on the cloud. Azure is growing rapidly and MS's presence in open-source helps further boost that growth. If you think about it Azure is mainly powered by Linux, and as it's a cloud platform, it's beneficial for MS to have better contact with their main customers - developers. And how to better reach them than through open-source platforms like GitHub - places where new talented individuals often start their coding journeys? And along the way, getting people more accustomed to the MS ecosystem - even if it's open-source - through tools like VS Code or TypeScript, helps convince them to go with Azure for tighter integration and better development experience.
That's already about 3 very compelling reasons for MS to go all-in on open-source. And I haven't even mentioned how it's a great way for a company to improve its software, without much investment! 💸
As you can see, MS has gone a long way from what many might remember it as. The embracement of Linux, OSS, and the coding community as a whole improved the company's overall image. Sure, no one can ever know if it's not only yet another implementation of the EEE strategy, just on a wider scale. With all the MS's open-source software that I'm using - I hope that it's not. And even if it was - I think MS would lose too much trying to execute the final step. It's just no longer profitable. 🤑
What do you think about this whole topic? Feel free to leave your thoughts in the comments below!