This blog has never before veered toward anything that might be considered opinion, but today I am making an exception. With no small amount of chagrin I heard recently that Microsoft had bought GitHub, and so I am now taking my open source projects off GitHub and moving them to GitLab.
I will be the first to admit I'm not completely rational about this. Perhaps a long-ago spurned lover of Barack Obama refused to vote him into office. Ghandi's ex-girlfriend may say he was a jerk. Well, I've been hurt by Microsoft, and if you use computers with any frequency I'd argue you've been hurt as well.
But Microsoft never wanted to be a software company, they wanted to be the software company. They never wanted to participate in an ecosystem, they wanted to be the ecosystem. They got their start by providing languages to various computer systems, moved on to providing the operating system for the most popular personal computer (by accident!), and then started selling the key applications for its own and others' operating systems.
Flash forward to today and among Microsoft's products you will find an internet search engine, a video conferencing service, numerous video game companies, a professional social network, and cloud computing services. Under what mission statement would it make sense to operate in so many disparate areas?
Here is Microsoft's mission statement: control everything. Every time you click/type/joystick on a non-Microsoft thing the company feels a little sting. If enough people click enough times, Microsoft will eventually need to control that thing. If they can buy it cheap, that's easy enough. Often they will make a competitive product, only to later buy the market leader if they fail to take control. Microsoft shut down their CodePlex service last year, admitting defeat to (and therefore necessitating the buying of) GitHub. Microsoft is very upset it didn't buy Google, YouTube, and Android when it had the chance, because even Microsoft can't afford to buy them now.
Here is something not in Microsoft's mission statement: make good stuff. Microsoft couldn't care less if the things it makes are any good, as the goal is dominance, not quality. That doesn't mean Microsoft is incapable of making good stuff; if the only way to dominate a sector is through making a high-quality product, then fine, Microsoft will do it, often after multiple failed attempts. Internet Explorer in its early days is a good example of something Microsoft made well because it had to. But if there's an easier/cheaper way to take control (regardless of the legality of that path), Microsoft is just as happy to make something crappy. Sometimes Microsoft will buy something high-quality and then make it crappy—just look at Skype.
The 1990s really saw Microsoft at its worst. They had complete control of the productivity software market (the main use for computers at the time) with Microsoft Office. They solidified their market dominance by finally releasing a decent replica of the Mac operating system in Windows 95, then turned their sights on whatever small niches were left, like desktop publishing and 3D graphics. Anything another company announced would immediately get hit with a shot of Microsoft FUD (fear, uncertainty, and doubt), and the market would just wait to see whatever thing Microsoft was going to come out with, which was often nothing because once the new thing withered on the vine there was no longer a thing to dominate. Then the Internet became a thing and billg nearly had a heart attack, turning the company upside down to try to dominate that.
It was really the Internet that saved us from complete Microsoft dominance. As Web browsers supplanted word processors and spreadsheets as the main programs people ran on their computers, users became more aware they need not be tied to a particular platform. Calls to "standardize on Microsoft" began to quiet and Steve Jobs' return to "beleaguered" Apple brought about candy colored iMacs and iBooks, drawing new and old users to the Mac, which saw its market share increase after years of steady decline. Linux became a viable option on the desktop and the #1 choice for servers. Obviously Windows and Office still loom large in many areas of the computer industry, but few would argue they have no alternative.
So things are better now, but I have not forgotten the havoc wrecked on the computer industry during those times. As much as Microsoft likes to talk about innovation, their main tactic is to stifle other people's innovation. I'd say the desktop software landscape is about 10 years behind where it would have been were it not trapped in the Microsoft dark ages. And yes I take it personally, seeing as those were really my salad days as far as computers are concerned. And I have spent a lot of time with computers.
Microsoft would tell you they've changed. While Steve Ballmer once called Linux a "cancer," current CEO Satya Nadella in 2015 declared "Microsoft Loves Linux." You can now run Visual Studio on your Mac and build Mac, iOS, and even Linux programs with it. Microsoft has made many of their own projects open source, big ones like C#, .NET, PowerShell, and over a thousand more. There are rumors they may open source Windows! So I guess they've seen the light, right? Wrong.
What's really going on is Microsoft has decided that the PC market will continue to shrink and since they have epically failed in the smartphone market they are looking to dominate what's left: the cloud. Since most of the software people run on the cloud is open source, Microsoft is opening up its code in an attempt to stay in the game. They're betting their giant code base is a competitive advantage and that flinging it out into the open will get them cloud market share. It's the same type of grand gesture that lead them to "integrate" Internet Explorer when they got scared by the Internet. To Microsoft, software is now the razor and cloud services are the blades.
So that's why they acquired GitHub. It's a tool used by virtually every cloud developer, therefore it bothered them not to control it. Soon I'm sure they'll try to use GitHub to pull developers away from other cloud platforms by offering exclusive integration features, even if it makes the standard GitHub experience worse. Well, I'm not sticking around to see it.
Or not. Maybe Microsoft won't change a thing and GitHub will be as great a tool for open source developers as it's always been. Well, I'm still not sticking around to see it. Screw you, Microsoft. I don't care if you claim to be rehabilitated. Or if you are rehabilitated, how about returning the vast sums of money you made with your bad behavior? I didn't think so.
Of course, I won't be able to divorce myself from GitHub completely any more than I've been able to divorce myself from Windows. I have users on Windows, and I contribute to open source projects that are on GitHub, at least for now. So like the bully who's always back at your high school reunion, I will never be able to completely escape Microsoft/GitHub. But I can move to another town so I won't keep bumping into them at the local watering hole.