“the multi-decade progression toward the adoption and continual use of open source software (OSS) in developing modern technological products, solutions and services is permanent and irreversible. The majority of the world’s economic systems, stock exchanges, the Internet, supercomputers and mobile devices run the open source Linux operating system and its usage and adoption continue to expand. Billions of individuals may not know they’re using OSS every day, but their modern television, smart watch, camera, automobile and smartphone rely on OSS.” — Jim Zemlin, Executive Director at The Linux Foundation.
‘In War: Resolution, In Defeat: Defiance, In Victory: Magnanimity, In Peace: Good Will.’
- Winston S. Churchill
This week Microsoft announced that it is purchasing GitHub for $7.5 billion in stock. I waited for a few days to write up my thoughts because this is something that deserves some thoughtful reflection. The bottom line: This is pretty good news for the world of Open Source and we should celebrate Microsoft’s smart move. But before we get to that, it’s worth noting that I have been working in this dynamic space for many years and the differing reactions to the announcement reminded me of a few things:
- How awesome Git is: Thanks Linus – this is your second project that has changed the world, resulted in evolving how software is developed and created billions of dollars of value. Git spawned many of the tools and projects the world is dependent upon, including code review tools, CI/CD tooling which are all dependent on a git workflow.
- How awesome GitHub is: GitHub ushered in the era of “social coding” and brought millions of developers together in a way that we had not seen before in the open source community by creating a tool that was easy for people to learn and was super useful for collective software development.
- How there are still small pockets of deep mistrust of Microsoft in the open source community. I will own responsibility for some of that as I spent a good part of my career at the Linux Foundation poking fun at Microsoft (which, at times, prior management made way too easy). But times have changed and it’s time to recognize that we have all grown up – the industry, the open source community, even me.
- How folks seem to conflate “buying GitHub” the company and development platform with somehow buying “open source”: Two of the fastest growing projects in The Linux Foundation family, Kubernetes and Node.js, are developed on GitHub. However (and I triple checked this with our lawyers), Microsoft does not own Kubernetes or Node.js as a result of this transaction. Project copyright owners retain their ownership of their code.
- How Microsoft under the leadership of Satya Nadella has now completed its transition from an adversary of open source to a first-class citizen. If you haven’t noticed, Microsoft has been opening up a ton of code and has been hiring top developers who are deeply engaged in open source.
- How open source developer communities are deeply reliant on platforms: Whether it’s an established company or startup that’s gained mass appeal like GitHub, GitLab or Stack Overflow, we see a number of platforms coming out that are designed for mass, distributed online collaboration. There’s a reliance on the stewards of those platforms to “do the right thing” by making them useful and accessible to all. There are also a set of community expectations that these stewards will need to meet or face an exodus to competing platforms.
So what does this mean for open source? I expect generally good things. Microsoft has the means and the expertise to make GitHub better. They brought in Nat Friedman as GitHub’s CEO, someone I have known for years and has been well-respected in the open source community for a couple decades. Nat is clear that Microsoft is walking their talk stating, “I’m not asking for your trust, but I’m committed to earning it. I can’t wait to help make the GitHub platform and community that’s special to all of us even greater.” I believe he means it.
Should the open source community be concerned? Probably not. Buying GitHub does not mean Microsoft has engaged in some sinister plot to “own” the more than 70 million open source projects on GitHub. Most of the important projects on GitHub are licensed under an open source license, which addresses intellectual property ownership. The trademark and other IP assets are often owned by a non-profit like The Linux Foundation (see the Kubernetes example above). And let’s be quite clear – the hearts and minds of developers are not something one “buys” – they are something one “earns” (see Nat’s quote above).
Why would Microsoft do this? It seems simple to me. Steve Ballmer was half right with his famous “developers, developers, developers” cheer (worth a re-watch here.) He just didn’t factor in the “open source” developers that he famously discounted. Satya Nadella has righted that oversight in a spectacular way this week. Microsoft has always loved developers and wants to make a business of providing developers with great tools in order to help them to create great technology. It is literally their mission on the about page of their web site: “To empower every person and every organization on the planet to achieve more.” Today more than 28 million of those developers are on GitHub.
Why the sudden change? This is not a sudden change. Microsoft has become a top contributor to Linux and Kubernetes, they develop and distribute Linux-based products, they open sourced .NET, and they are backers of The Linux Foundation, the Apache Software Foundation, the Open Source Initiative and many similar efforts. Their commitment to open source has been active for years.
As we all evaluate the evolution of open source from the early days to now, I suggest we celebrate this moment. In a recent letter to congress I wrote that “the multi-decade progression toward the adoption and continual use of open source software (OSS) in developing modern technological products, solutions and services is permanent and irreversible. The majority of the world’s economic systems, stock exchanges, the Internet, supercomputers and mobile devices run the open source Linux operating system and its usage and adoption continue to expand. Billions of individuals may not know they’re using OSS every day, but their modern television, smart watch, camera, automobile and smartphone rely on OSS.”
Open source developers changed our world. Microsoft gets that, which is why they purchased GitHub. I for one am excited to see the improvements they’ll make and will be shocked if Nat were to screw it up (no pressure Nat!).
Microsoft’s failed attempt on Debian packaging
Just recently Microsoft Open R 3.5 was announced, as an open source implementation of R with some improvements. Binaries are available for Windows, Mac, and Linux. I dared to download and play around with the files, only to get shocked how incompetent Microsoft is in packaging.
From the microsoft-r-open-mro-3.5.0 postinstall script:
First of all, the
ln -s will not work in case the standard R package is installed, but much worse, forcibly relinking
bash is something I didn’t expect to see.
Then, looking at the prerm script, it is getting even more funny:
Stop, wait, you are removing
/usr/bin/R without even checking that it points to the R you have installed???
I guess Microsoft should read a bit up, in particular about
dpkg-divert and proper packaging. What came in here was such an exhibition of incompetence that I can only assume they are doing it on purpose.
PostScriptum: A short look into the man page of dpkg-divert will give a nice example how it should be done.
PPS: I first reported these problems in the R Open Forums and later got an answer that they look into it.