There was a time when Microsoft was the antithesis of everything that is open-source. On June 4, Microsoft announced that it is acquiring GitHub in a $7.5 billion deal that aims to help define Microsoft as a champion of open-source and operator of the world’s largest open-source code repository.
While some are applauding Microsoft’s acquisition, there are also those in the open-source and GitHub communities that are somewhat less than enthusiastic. Microsoft has been a polarizing entity in the open-source world for decades and despite recent strategic shifts at the company toward being open-source friendly, there remains significant, fear, uncertainty and doubt about Microsoft’s intentions.
For the uninitiated, GitHub is a development platform that enables developers to host and collaborate on code development. At its core, GitHub uses the open-source Git version control system that was originally developed by Linux creator Linus Torvalds in 2005. GitHub provides free git repository hosting for open-source and community efforts and generates revenue by providing private repositories and enterprise support.
Torvalds originally created Git to enable Linux development, after a dispute with the commercial vendor behind the proprietary Bitkeeper version control system that Torvalds had been using. Torvald’s goal with Git was to have a free, open-source version control system that enables distributed development. With Git, code repositories can be located in multiple locations, including a developer’s own system or server, as well as a multiple other locations and still remain synchronized.
The irony of GitHub, as pointed out by Benjamin Mako Hill, Assistant professor at the University of Washington’s Department of Communications, in a May 22 keynote at the OpenDev conference, co-located with OpenStack Summit in Vancouver, is that GitHub, has actually done the opposite of what Torvalds originally intended for Git.
“Git was created as a way of escaping the reliance of a proprietary software company running a centralized service and in many ways GitHub has created many of the problems that get was created to solve,” Hill said.
Hill argued that although GitHub began initially as a website to host git repositories, it is now a large proprietary service. He noted that GitHub has its’ own terms of service and a user can be kicked of the service at any time. Hill’s overall message, was that open-source software should be built with free tools.
“When we’re building free software or open source tools we must reject proprietary software development tools,” Hill said. “The software we produce is only as free as the software it depends on for its continued use deployment and distribution.”
Hill’s keynote was delivered weeks before Microsoft’s acquisition of GitHub and was somewhat prescient in several respects. While GitHub as an independent commercial entity might have stoked the fears of some about proprietary vendors, with Microsoft now in control, those fears are now more manifest.
Microsoft Open-Source
Microsoft has tried and failed, to run an open-source code repository before. In 2006, Microsoft launched the Codeplex code repository, which attempted through its lifespan to be a home for open-source code. Codeplex never really gained significant traction beyond Microsoft’s own limited initial open-source efforts and the site was officially shutdown after years of limited usage in December 2017.
In recent years, Microsoft under the direction of CEO Satya Nadella has moved to embrace open-source and has become one of the largest users of GitHub. While Microsoft in the past had positioned itself as a rival to Linux vendors, Microsoft in 2018 is partnered with multiple Linux vendors including Red Hat and Canonical. In what was once an un-imaginable move, in November 2016, Microsoft joined the Linux Foundation, and formally committed itself to supporting the vision of growing the open-source community.
Microsoft now also enables Linux distributions to run on Windows with the Windows Subsystem for Linux (WSL). In the developer community, Microsoft is a leading contributor to multiple efforts including the Kubernetes container orchestration system.
Distrust
Despite the many initiatives and investments that Microsoft has made in the open-source developer community in recent years, there is still a significant amount of distrust.
While commercial vendors and organizations like the Linux Foundation have embraced Microsoft, there are many developers that have not forgotten Microsoft’s attacks on open-source in the past. Microsoft has alleged that open-source software infringes on hundreds of its patents and former CEO Steve Ballmer once called Linux a cancer.
Multiple popular developer sites including hacker news, slashdot and reddit have been flooded with negative comments and opposition to the acquisition.
In the final analysis, it seems likely that there will be a contingent of users and organizations that for whatever reason, dislike or distrust Microsoft, that will choose to now move away from GitHub. The open-source nature of Git itself makes that possible, preventing vendor lock-in. Git by definition is a distributed code repository and a simple git-clone command is all that is needed to make a copy and move away from GitHub.
Microsoft’s acquisition of GitHub on the other hand, also provides a stable enterprise parent for what has become a critical open-source and development resource. Microsoft has pledged to enable GitHub to remain a separate business unit and will continue to support open-source. So like it or not, GitHub is going to stick around for a long time and the open-source community, for better or for worse, has Microsoft to thank for that.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.