loading...
Cover image for Discussing Microsoft's open-sourcity

Discussing Microsoft's open-sourcity

areknawo profile image Arek Nawo Originally published at areknawo.com 惻6 min read

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?

War against open-source

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.

Change of heart

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.

Linux

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! šŸ˜…

Acquisitions

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!

Next up, the NPM was acquired only recently by GitHub, so technically MS too. The largest package repository in general, used mostly within the JavaScript ecosystem. Here, we haven't seen yet any striking changes (like with GitHub), and so we'll have to wait and see how this plays out.

Open-source contributions

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! šŸ™ƒ

New business model

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! šŸ’ø

Bottom line

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!

Anyway, thanks for reading this piece! For more up-to-date content on everything Web Development related, follow me on Twitter, Facebook, or here on Dev.to. Thanks for checking in!

Posted on by:

areknawo profile

Arek Nawo

@areknawo

Hobbyist. Web Developer. šŸ‘Øā€šŸ’» Freelancer. Blogger. Making awesome websites. šŸ˜

Discussion

markdown guide
 

I love how step by step you break down all the topics. I was pretty skeptical of Microsoft myself, but looking at the actions of the past few years, including all the Build 2020 announcements! I think they are taking good decisions. They are really embracing open-source.

I collaborate in a Medium group, PuntoTech, where we talk about different technologies and programming news in Spanish, would it be possible to translate your post into Spanish and publish it in this group, linking to this article and (obviously) with proper attribution ?

See u!

 

Sure thing! Iā€™d just prefer that you link to the original source from my blog. šŸ˜

 

no problem! I would let you know as soon the translation is posted, thanks a lot! <3

 

I think ROI is always great when you open source 'tools' and keep 'products' proprietary. A direct example is GitHub, which, despite being the largest platform for open source software, continues to be proprietary.

 

Embrace, extend, and extinguish was not briefly the strategy. They have been doing that for more than two decades.

Also the statement that Microsoft is the biggest Open Source contributor is not true. It's based on a subset. Not all Open Source happens on GitHub. And just because MS has a lot of GitHub accounts doesn't make it the biggest contributor.

But even besides that. Microsoft Open Source contributions are mostly on their own Open Source projects, and maybe a few others but only out of self interest (e.g. improving Linux kernel compatibility for Azure. Microsoft is hardly involved in projects which are not their own.

If Microsoft cared so much about Open Source, why haven't they helped out the Samba team with documentation on the latest version of their SMB/DFS/etc. protocols, something which is important for Linux interoperability with Active Directory ?

 

I really like what Microsoft is doing but what I don't understand is why are they ignoring Linux based OS, I mean why visual studio is not available for Linux?

 

I wouldn't say they're ignoring Linux. Sure there's no Visual Studio, but the VS Code is arguably getting better and better for majority of coding-related tasks thanks to its vast extension ecosystem. And it's available on Linux. Personally, I look at Visual Studio as more of a Windows-focused IDE - something a bit similar to e.g. XCode on MacOS.

 

I also think its a much bigger project to port Visual Studio to run on Linux with little ROI. Whereas VSCode being a new editor built ground up was an ideal candidate to be cross-platform.

 

Yes, Microsoft is doing great job :) Visual Studio is Windows only because Microsoft also wants you to buy the Windows license, it is simply one of the main streams of money for Microsoft ;)