Jacques Mattheij

Technology, Coding and Business

What is wrong with Microsoft buying GitHub

According to Bloomberg Microsoft is said to have agreed to buy GitHub. GitHub which reportedly has been losing money being acquired is a major development because of its central role in the development of many open and closed source projects.

For the uninitiated here is what GitHub does in a nutshell: GitHub allows computer programmers from around the world to conveniently collaborate on projects, share bug reports and fix those bugs and allows the administration of some project documentation. The company provides this service for free to entities that provide their code for free to the world and for ‘closed source’ projects there is a fee to be paid. GitHub is in essence a friendly wrapper around Git, an open source version control system written by Linus Torvalds (of Linux fame) and many others. Git already does decentralized repository hosting out of the box but it does not support any kind of discovery method, bug tracking or documentation features, GitHub built a community of programmers around Git and many open source contributors consider GitHub too big to fail.

Companies that are too big to fail and that lose money are a dangerous combination, people have warned about GitHub becoming as large as it did as problematic because it concentrates too much of the power to make or break the open source world in a single entity, moreso because there were valid questions about GitHubs financial viability. The model that GitHub has - sell their services to closed source companies but provide the service for free for open source groups - is only a good one if the closed source companies bring in enough funds to sustain the model. Some sort of solution should have been found - preferably in collaboration with the community -, not an ‘exit’ to one of the biggest sharks in the tank.

So, here is what is wrong with this deal and why anybody active in the open source community should be upset that Microsoft is going to be the steward of this large body of code. For starters, Microsoft has a very long history of abusing its position vis-a-vis open source and other companies. I’m sure you’ll be able to tell I’m a cranky old guy by looking up the dates to some of these references, but ‘new boss, same as the old boss’ applies as far as I’m concerned. Yes, the new boss is a nicer guy but it’s the same corporate entity. Some concrete examples of the things Microsoft have done:

  • Abuse of their de facto monopoly position to squash competition, including abuse of the DD process to gain insight into a competitors software

  • Bankrolling the SCO Lawsuit that ran for many years in order to harm Linux in the marketplace

  • Abuse of their monopoly position to unfairly compete with other browser vendors, including Netscape

  • Subverting open standards with a policy of Embrace, Extend, Extinguish

  • The recent Windows 10 Telemetry abuse

  • The acquisition of Skype, after which all the peer-to-peer traffic was routed through Microsoft, essentially allowing them to snoop on the conversations. To pre-empt the technical counter argument that this was done to improve the service: It only improved the service for some edge cases, for everybody else the service got worse because of the extra round-trip latency. So if that was the real reason then you’d have expected to see the traffic routed to the central servers only if one of those edge cases was detected.

  • Unfair advantage over competitors by using internal APIs for applications unavailable for competing products

  • Tied-sales and bundling

  • Abuse of Patents

The list is endless. So, this is the company that you want to trust with becoming the steward of a very large chunk of the open source world? Not me. And for all you closed source customers of GitHub, do you really want the company that abused a due-diligence process faking an acquisition interest to have the inside scoop on your code?

My own personal preferences would have been a federated model if the hosting costs are so problematic or an ‘infrastructure’ model where you basically pay for your usage of the service in a metered way.

I’ve deleted my GitHub account, I’ll find a way to replace it and if you’re halfway clever so should you. Foxes may change their coats, they don’t change their nature.