# Microsoft and FOSS: a fire to be extinguished 'define expected-reading 6 min 'define created 20 February 2024 'define edited 20 February 2024 [$pagenav] .contents .numbered 1. [url #githubs-embrace-and-extensions GitHub's embrace and extensions] 2. [url #blowtorch-to-the-penguin Blowtorch to the penguin] 3. [url #but-these-are-good-things-for-the-user But these are good things for the user] .numbered 1. [url #the-practical-answer The practical answer] 2. [url #the-moral-answer The moral answer] A week ago [url https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/ Microsoft announced they'll be adding "sudo" to Windows]. I'm not really knowledgeable enough to be certain what I'm saying is true, so I could be wrong, but upon hearing these news, my mind immediately jumped to the [url https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish EEE: Embrace, Extend, Extinguish]. As it is explained on Wikipedia, this is a very old and successful tactic, where Microsoft would enter new markets by: .numbered 1. Embracing public standards and implementing all features the current product landscape offers, then 2. Extending their offering with proprietary features, which will be pushed to customers and finally 3. Extinguishing their competition, since the vast majority of consumers would be depending on the proprietary features of Microsoft's product ## GitHub's embrace and extensions Thinking about the development of GitHub under Microsoft's rule, this pattern seems to show up. Open-source by itself is primarily about publishing the source code of your project, but GitHub isn't just about that. Now we have: .bulleted - [url https://octoverse.github.com/ GitHub Octoverse], yearly reports on open-source globally, but quite often through the lens of GitHub - [url https://resources.github.com/newsletter/ GitHub Insider], a monthly newsletter - [url https://github.com/features/copilot/ GitHub Copilot], an AI developer tool - [url https://github.com/enterprise GitHub Enterprise], an AI developer platform - [url https://github.blog/ GitHub blog], mostly a set of tutorials and informational articles regarding GitHub and the list just goes on. GitHub isn't just a public place to view open-source software anymore, if you are a novice developer or you just don't care that much, it will be very easy to associate the FOSS community with the GitHub community. Once you've started using all of those services and tools, there is no coming back, because other repository platforms focus only on repositories. I mean, [url https://gitlab.com/ GitLab] doesn't offer a developer forum like [url https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/about-discussions GitHub Discussions], you won't find a [url https://sourcehut.org/ sourcehut]-branded FOSS newsletter, [url https://sourceforge.net/ SourceForge] won't allow you to add [url https://github.com/abhisheknaiidu/awesome-github-profile-readme animations, graphics, games, etc. on your profile], there isn't a [url https://codeberg.org/ codeberg] [url https://cli.github.com/ command-line repository management app], so *[obviously GitHub is where it's at for FOSS]*. And you'll be introduced to GitHub before any of the others, thanks to the [url https://education.github.com/pack GitHub Student Developer Pack], where students can get free access to a variety of services, or to [url https://docs.github.com/en/education/manage-coursework-with-github-classroom/get-started-with-github-classroom/about-github-classroom GitHub classroom], where newer developers will probably publish their first pieces of code. Why learn to use the git terminal command when [url https://desktop.github.com/ GitHub Desktop] abstract everything away in a beautiful clicky interface (as a "bonus", this will make you associate git with GitHub too), why follow [url https://news.ycombinator.com/ Hacker News] or multiple different FOSS websites, when Microsoft provides. Why learn anything, when Microsoft's GitHub serves it to you on a silver platter? Well, for an increasing number of developers, I fear, the answer is: "there is no point". ## Blowtorch to the penguin Now let's talk about Microsoft's other plaything: Linux. Here, I feel, the tactic is even more obvious: thanks to [url https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux WSL], Linux applications look and run like any other Windows app. Thanks to [url https://en.wikipedia.org/wiki/Windows_Terminal Windows Terminal], Windows can't be seen as a lesser OS for developers, all benefits of having a proper, fully-fledged, UNIX-like command-line can now be found on Windows. I mean, they've added the sudo command for crying out loud, there is even an official [url https://en.wikipedia.org/wiki/Windows_Package_Manager Windows package manager]! For a novice or someone uninterested, you wouldn't ever have to learn how to use Linux. You'll use Windows as you've known for your entire life, and if you need something even vaguely related to Linux, you'll just easily get it on another silver platter. I'm certain over the coming decade, the true Linux desktop market share, as in machines running natively Linux, will shrink, but since WSL users will contribute to that number, we'll see the opposite. ## But these are good things for the user It could be argued that Microsoft is creating something good for the user, that GitHub's extensions will pull more people into FOSS, it will make developers stronger and more connected than ever. You could argue that integrating Linux into Windows just gives you the best of both worlds, that for a user you don't have to chose anymore, but reap the benefits of both OSs. Why should any of this be seen as a problem? ### The practical answer The whole point of FOSS is to oppose business, to oppose the idea that everything is a product which must be sold, which must be unchangeable and fully under the control of the company who made it. A product which can be changed and regulated to feed the bottomless greed of businessmen. If everyone thinks Microsoft equals FOSS, then they can start changing that definition and people will follow. I can easily imagine a future where, all of a sudden, you can view GitHub repositories only if you have a GitHub account, when it will be on a subscription, when to access Microsoft's open-source projects you need to go through some enlisting process (similar to that for Unreal Engine), when Microsoft adds some sort of authentication mechanism, where you cannot run modified versions of certain FOSS projects (so even if you have the source code, and can modify and compile it, you cannot run the executable, forcing you to use the official version only). If everyone thinks Linux is found in Windows, then developers will focus on integrating it better with Windows, until most new Linux software is somehow available only through WSL, but doesn't work on distributions. It's tempting to imagine Linux software or Linux projects turn into Windows software and Windows projects, when less and less people try to make something new, something good, something for everyone, and more and more create proprietary garbage. ### The moral answer [url https://en.wikipedia.org/wiki/We_choose_to_go_to_the_Moon We do things, not because they are easy, but because they are hard]. Knowledge is the most important resource we have, everything humanity has achieved has been with the creation, expansion and distribution of knowledge. Developers are the craftsmen of computer software and to create you need knowledge, the more you have the more you can do. Tools we make must be used to make our job easier, but we must be able, or at least understand, how to do the job without the tool. Walking down this path, at a certain point, entire concepts can become forgotten to history, which makes developers worse at their craft, and software worse to use.