Microsoft is buying GitHub for $7.5 billion dollars, and predictably, there's a developer backlash.

GitHub, though notionally a for-profit company, has become an essential, integral part of the open-source community. GitHub offers free hosting for open-source projects and has risen to become the premiere service for collaborative, open-source development: the authoritative source repository for many of these projects, with GitHub's own particular pull-request-based workflow becoming a de facto standard approach for taking code contributions.

The fear is that Microsoft is hostile to open source and will do something to GitHub (though exactly what isn't clear) to undermine the open-source projects that depend on it. Comments here at Ars, as well as on Slashdot, Reddit and Hacker News, suggest not any specific concerns but a widespread lack of trust, at least among certain developers, of Microsoft's behavior, motives, and future plans for the service.

These feelings may have been justified in the past but seem much less so today.

Microsoft today is a company with a wide range of high-profile open-source projects, hosted on GitHub. Among other things, there's the Visual Studio Code developer-oriented text editor, there's the .NET runtime, and there's the Chakra JavaScript engine from the Edge browser. Even Microsoft's new documentation system is backed by GitHub.

These projects are all hosted on GitHub, and by most accounts I've heard, Microsoft is doing open source in an effective, community-engaged way. Publishing source code is not the same as developing in the open; there are corporate open-source projects where all development is done privately, in-house, with few-to-no outside contributions accepted. The code is published periodically (often without the full commit history, so providing no way to see how the code was incrementally developed) with an open-source license attached. For the most part, Microsoft hasn't used this model; instead, it uses the GitHub for authoritative repositories, with all development published to GitHub as it's done. Microsoft welcomes outside contributions, uses GitHub's issue tracking to publicly record bugs and feature requests, and the projects engage with their user and developer communities to prioritize new development. This is a corporation doing open source the right way.

That's not to say that Microsoft has always been like this, and the company has expressed hostility to open source—in 2001, then-CEO Steve Ballmer said that "Linux is a cancer" because of the viral nature of its GPL license—and is often accused of trying to "Embrace, Extend, and Extinguish" platforms and standards that it doesn't control, after the term was used in a 1995 company memo to describe its HTML strategy. I'm not aware of any examples in which Microsoft has actually engaged this strategy successfully—although both Microsoft and Netscape developed all manner of proprietary extensions to HTML, it was ultimately Netscape's failure to respond to Internet Explorer 4, 5, and 6's speed, relative stability, and superior (though still poor) standards compliance that won the browser war, not Microsoft's extensions—but the term is still widely used by critics of the company as if it offered some explanatory power. It doesn't.

The Microsoft of today is a company that understands and embraces open-source development, both in the strict technical sense of publishing source code and in the broader sense of community-driven, collaborative development. The movement appears to be genuine, and frankly, that's not something that we should find altogether surprising: there's a hell of a lot of programmers working at the company, and many of them are users or contributors of open-source software themselves. They get it; it was only a matter of time before the company did, too.

GitHub almost certainly needed buying

As a private company, we don't know exactly what GitHub's bank account looks like, but we can make some reasonable inferences. The company has had two rounds of venture capital funding, one for $100 million, a second for $250 million. Leaked financials from 2016 painted a picture of a company burning cash at a prodigious rate, with salary and benefits alone rivalling revenue. Even a more positive analysis of the numbers suggests that GitHub was on track to have burned through that $250 million by around the middle of this year.

GitHub is also said to have been looking for a new CEO for about a year. Taking so long to find a new CEO doesn't necessarily mean that there was a problem: perhaps a strong candidate fell through at the last minute causing the search to be restarted or something. GitHub's CEO search doesn't necessarily mean that the company's problem is entirely financial—for example, there may be lingering fallout from the sexism and harassment claims from 2014—but the search suggests that the company is struggling to find someone willing, able, and confident who can tackle these problems, and money issues have to rank among the concerns of the CEO of an unprofitable company.

If money problems were indeed looming, GitHub had only a few solid options. Its backers could, of course, have decided to cut their losses and let the company fold. The effect of this on the open-source world would be devastating, and it's hard to imagine that any prospective buyer could ever do more harm than this would cause. If the desire was to keep the company as a going concern, that meant raising more money. That presents three options: another round of VC funding, an IPO, and a sale.

Both an IPO and another round of venture capital cash would share a similar problem: any putative investors will look at the books, and if the books are an endless sea of red ink with no profitability in sight, those investors might be scared off. Existing backers with doubts about the business might have wanted out, pushing things toward an IPO or sale rather than another funding round. IPOs take time, and that may have been a luxury GitHub didn't have.

GitHub makes its money from enterprise customers, with both a service for private cloud-hosted repositories and an on-premises version of the GitHub software stack. To turn a profit, the company needs more enterprise customers, and it needs to acquire them at lower cost.

In contrast to a funding round or an IPO, a sale to another company changes the parameters somewhat: it can make the path to profitability that much shorter. A cash infusion doesn't offer any direct access to these enterprise customers that GitHub needs. Selling to, say, Microsoft, or Amazon, or Google, would open up access to those companies' existing reach into enterprise markets. GitHub would no longer be solely responsible for building its sales channels: it could take advantage of ones that its new owner already has. This greater reach can boost revenue much faster than a mere lump of cash ever could.

Being bought also opens the door to certain synergies, which is to say, job losses; while we wouldn't expect any immediate changes, it wouldn't be tremendously surprising to see HR, sales, and marketing get the axe sooner or later as they get subsumed into Microsoft. As with enterprise sales channels, this is something that merely taking cash can't do.