GitHub and Microsoft sitting in a tree,...

June 13, 2018

I think at this point most people having any involvement in software development have heard that GitHub will soon be owned by Microsoft. If you happen to read comments you will likely have heard that GitHub, open source, and the freedom of developers are doomed "because Microsoft!". But it looks like the same people declaring the impending end of all days are missing over a decade of development.

Honestly, I have been there and I think I have seen enough OS flame wars. In the 90s when running Linux was considered an entry requirement to the high Olymp of hacking - all those Microsoft sheeps were so stupid and clueless and obviously hated freedom. In the 00s when distributions got more user friendly and the "year of Linux on the desktop was declared" and you just fed the freedom destroying machinery of proprietary software. In the... well, I think that was it. At some point people noticed that running Linux on the desktop does not make you a better person. Some noticed that Windows actually improved quite a bit. Others switched to OSX.

The hate for Microsoft has been deeply rooted in "the community" for decades. I am just sticking with "the community" here - there are hackers wo do not feel like they belong to the open source community, there are OSS advocates who do not want to be associated with the hacker community,... so let us just call it "the community" so everyone who feels like they hated Microsoft for a few years feels included.

But things changed. Microsoft swapped leaders and is invested in the open source community. I would prefer to not quantify how much since I do not believe there is a very good metric. Especially not the often cited "contributions by organisation". Ignoring vanity metrics and random numbers you can pull from whatever data source you have at hand - their recent actions actually show some clear commitment. Projects like Visual Studio Code, contributions to various open source projects, Linux on Azure - which makes sense for various reasons and should not have been taken as a commitment to OSS in my opinion - and, of course, the Windows Subsystem for Linux. What Microsoft is doing today is the opposite of their previous stance that Linux is cancer and open source the reason for lacklustre software.

The obvious choice to move to seems to be GitLab. I use it a lot myself and it is doing a decent job. I believe it had a few more problems than GitHub in recent history, but overall I get so much for free that I will not complain. What is highly enjoyable right now are people panicking and migrating to whatever they can find and the groups mocking those people. Sadly, as always, there are tons of false ideas floating around, let us look at my two favourite ones.

GitLab is hosted on Azure: Okay, that one is true. If you feel like Microsoft should never be able to look at your not open code, this is a valid reason, but by using something that is hosted on Azure you are not giving Microsoft or a company owned by Microsoft any rights to analyse what you put on the hosted service.

GitLab is a free platform: This is partially true. There is a free edition to use, which does not have feature parity with the hosted version. If GitLab is ever acquired - you know they have VCs, too, right? - you will not be able to replicate the hosted offering as easily as you believe.

There is a simple solution if you want a free platform to host your code on. Do it yourself. Sure, it is some work, but guess what: only death comes for free and it costs your life. But you will not have to fear that a corporation is making money by looking at your closed source code. You are only worried about close source code, right? Because your MIT licensed one can always be analysed. Projects like Gitea make it super easy and fast to setup a service that provides most important functionality, but instead of some rights on your work you have to pay with money and time, so this could be a stopper for some people.

I would love seeing more self hosting; I actually spent some time on this and still have projects on GitHub or use GitLab for private repositories - there is a very good reason hosted offerings or SaaS took a dominant role. Remember when you asked on IRC for the link to a project? Had to use a search engine and guess what keyword matches roughly the project you are looking for? Searched your bookmarks for hours? Remember sending patches to mailing lists which were swallowed by an over aggressive spam filter? Discussing an issue involved staying up late or getting up early to catch one of the maintainers or authors on IRC? Instead decided to send a mail meeting the spam filter boss again. Or the full mailbox boss. Or... I could go on. There is a good reason people use a centralised platform for a decentralised version control system. It is discoverable. It is a lot easier to build and maintain a community. And it certainly does not make it harder to collaborate, especially considering all the additional tools beside hosting a repository you get.

As with anything there are pros and cons with GitHub being owned by Microsoft. There certainly will be some corporate interests being on the roadmap at some point. But you will likely not have to worry about GitHub just going away. The features, for now, are still the same, the TOS will likely not significantly change. Leadership right now and in future still seems to understand a few things about "the community". If you care about the advantages of a centralised platform GitHub is still, as it was, a viable choice. But it will not hurt exploring other platforms, hosted or self hosted. Just make sure you are actually aware of the tradeoffs and that you are okay with them.