MS Github

What's Github, after all?

Welcome to MS Github

On June 4th 2018, Microsoft publicly announced it was buying Github, which took many, myself included, by storm. While the acquisition angered lots of FOSS (Free and Open Source Software) enthusiasts due to the historical shadiness of Microsoft’s business practices, to me it only reinforced a few, annoying things that I had already been observing in the open source community and in software development as a whole.

Github has always been more than just a thin wrapper for Git, but we’ve grown too used to it to realize. In fact, Github is now so ubiquitous that it even looks bigger than FOSS itself. During this normativization process, which took shape over the course of a decade (Github was officially launched on February 2008), some of the most important aspects that used to go hand in hand with open source were somehow forgotten in favor of elements that are closer to social media gamification and résumé adorning.

/img/2018/07/2018-07-03-ms-github/ms-github-thumb.jpg

Microsoft's new office collaboration tool: MS Github.

First off, I haven’t forgotten what Microsoft repeatedly tried to do (and failed to) in its effort to undermine FOSS. How would I? I’m talking about mere 11 years ago, not 30. But even if it were 30 or 50. I have not forgotten “Linux is a cancer” (Steve “Cargo Pants” Ballmer), nor have I forgotten this, this or this. And I never will. I do think that Visual Studio Code is pretty decent, though.

“If I can’t see it, it doesn’t exist”

With that out of the way, let me start with one of the two main issues that bother me the most in relation to FOSS these days: the expectation that every job candidate have already contributed to a popular and respected open source project.

If I’m interviewing for a senior level Kubernetes position at Google, which is a member of numerous FOSS initiatives in the most diverse areas, then I can see why that kind of contribution should be weighed in during the application process. But if I’m applying for a generic software engineering job at a company whose relevance in the open source community is literally none and, beside, has never really contributed a single line of code to any big FOSS project, then the ask is a classic case of unrealistic expectation (or sheer hypocrisy).

The reality is that most people’s work still ends up inside walled code bases, usually private repositories that are only accessible by employees and contractors. And most companies that ask that question function in the same way—they don’t make their software public on Github or Gitlab and then go brag about it on Twitter. If they don’t, then why would they expect their candidates to?

I can think of a few possible answers to that question, but the one that strikes me as the most plausible is, simply, laziness—those interviewers want an easy way to filter out candidates. Thorough, meaningful work done in a remote code base behind corporate firewall counts less than a shiny, yet mediocre, contribution to a mildly popular repository on Github.

The immediate consequence of that practice, as you may imagine, is the flood of contributions whose main purpose is to embellish the contributors’ résumés. As someone who has been on the other side of the hiring process myself, my eyes do take pleasure in seeing some nicely written portfolios, full of links to code bases that seem to do something useful. However, when I reckon that that’s the candidate’s raison d’être for his or her code contributions, then I can’t dispel the feeling of aversion: to me, the loser inevitably is open source as a community and a way of thinking.

Facebook, Twitter… Github

The other annoyance I referred to above is the social media syndrome that has been affecting IT lately, with Github and Twitter as its biggest facilitators.

7.5 billion USD. That’s how much Microsoft payed for Github. I don’t mean to sound cynical, but I doubt Microsoft agreed to that deal out of its generosity. Github’s worth should be obvious to anyone who’s been doing software development, in one way or another, in the past 10 years. Yet, I see a lot of people making the mistake of thinking that Microsoft was after the source code of millions of software projects. That isn’t the real value Github brought to the table. Does anyone really think they’re going to confiscate all that code for themselves? Even if they wanted, they wouldn’t be legally allowed to—there’s a reason why FOSS projects come with a license attached. No. The main value Github brought them is its user base’s loyalty. In one word: adoption. Or, in three words (to quote Mr. “Cargo Pants” once more): “Developers, developers, developers.” Microsoft sees Github more as a social network than a web-based source control management tool. Because that’s what it is.

I believe this acquisition serves two purposes. First, on the social/cultural front, it makes Microsoft look cooler in the eyes of developers—attracting good developers to the Microsoft toolset and even to the company itself is a huge soft power. Second, on the product development/monetary front, pushing Azure and other corporateware as strongly as they can (for example, through Github + Visual Studio Code integrations).

I can’t confirm the second assumption yet, but time will say if I was wrong. The first one, though, is almost undeniable. Github is not only loved by software engineers and the like, it’s also ubiquitous. Not everyone is an active user of Stack Overflow, but most developers I talk to have a Github account they actually log into from time to time. Just like friends expected us to be on Facebook a few years ago, developers today are expected to be gitizens.

As of today, Github has 85 million repos and 28 million users. How did it come to that? Definitely not by simply being “Git in your browser.” If you don’t think Github qualifies as social media, think again. On Github, you have direct access to FOSS “celebrities” through the follow button, comments, pull requests, and the Github chat, Gitter; you can check how many people visited your project’s page (don’t tell me you’ve never peeked into the Insights tab); and, to put the icing on that instant gratification cake, you can also star other people’s repositories—and, of course, get yours stared as well. Not happy yet? Then wait until someone big stamps that surgically well-crafted comment you left on that popular repo with a glorious and self-fulfilling thumb up!

If you only started in IT after Github was already a thing, you may be wondering where the problem is with all this stuff. The problem is in the shift in purpose. What’s our intention when we create a new Github account these days? Or, better yet, what were software developers’ intentions when they created accounts on SourceForge in 2001? What did they want when they uploaded their own warez to a BBS in 1993? Why would they put source code in floppy disks and make them circulate among fellow college students in 1986?

They were certainly looking for some sort of recognition and a lot of them had very inflated egos, just like what happens today. But back then, developers would form micro-communities around a specific piece of software because what they really wanted was to build something together. That part is still true today (developers still want to build something together), but instead of forming communities around the software we want to build, we’re now forming a network inside a platform. The platform is taking priority now, not the other way around—it’s important to be on Github doing something, it doesn’t really matter what.

Conclusion

Open source has become a victim of its own success, and Github is the quintessential byproduct of that process. From a FOSS enthusiast’s and believer’s perspective, Github has gone from a great tool to a liability. The psychological gratification embedded in the platform; the expectation that we all use it, be it for our careers or just to prove to ourselves and others that we’re “real developers”—all that makes me look at it more and more like yet another cultural, more than technical, dependency that we won’t easily get rid of.

I still find Github a great tool and am keeping my account. For how long, that I don’t know. As much as I’d like to believe that Microsoft could perhaps fix Github, it’s more likely that they only bought it to ensure it stays broken.