Is It Time To Quit GitHub?

Copilot might just be setting a precedent too far for many devs committed to openly-distributed code.
11 July 2022

Built for developers – but does GitHub still serve their interests?

There’s a theory in political history that every revolution becomes in time the establishment against which it once revolted. The American revolution threw off the shackles of a king, and eventually vested the largest personal power in the world in the hands of one (admittedly elected) supreme arbiter or President. The Russian Revolution exterminated a monarchy in the name of the people, only to eventually be led by people who would oppress the people more efficiently through a bureaucracy than any disengaged monarchy could ever manage.

The circle turns, and those who rose in opposition to The Man become in turn The Man against whom the next generation will revolt.

GitHub, FOSS, and Becoming The Man

If this all feels a bit lofty and divorced from the cut and thrust of modern technology, it shouldn’t, because there’s something similar going on in the world of code and program development.

In this case, the forces are not monarchs and hungry peasants, they’re proprietary code and Free and Open Source (FOSS) code – and the sites that help develop and host them.

Specifically, there’s a move, spearheaded by the Software Freedom Conservancy, to get coders to quit GitHub due to the rise in proprietarization of code on the hosting site in the years since 2018, when GitHub was acquired by Microsoft.

Ironically, Microsoft itself could be seen as another example of the giant-killer becoming the giant against which it is now time to rebel, and the creeping proprietarization of code on Github in the last four years has made GitHub itself vulnerable to becoming The Man of code hosting sites. Whereas when it was launched, it was the plucky underdog and champion of FOSS as its predecessor in supremacy, SourceForge, grew more and more away from the FOSS model and further towards proprietarization of the code it hosted.

But where SourceForge was overtaken because it was relatively stand-offish and non-negotiable when it moved towards proprietarized code, GitHub has embraced one of its own core values – communication – and essentially taken the soft sell route towards persuading coders to participate in, and promote as normal and inevitable, the proprietorial model, even when a moment’s objective reflection can only lead to the conclusion that such a model will exploit the work of FOSS developers.

The question for coders is whether the Software Freedom Conservancy’s arguments are convincing, when GitHub has become an established leader in its field, and the premier code hosting site for developers around the world.

The Problem With GitHub?

The first thing to remember is precisely that – right now, GitHub dominates the field of code development, and it does it with not only its own already-successful model, but the backing of Microsoft. That means it’s likely to remain a highly stable place to do development, post code, and generally live as a developer. Unless, of course, the Software Freedom Conservancy’s call results in the equivalent of a multinational general strike by coders, so the question of the effectiveness of any mass desertion comes into play. To change GitHub’s practices on proprietarized code would require a significant action that would eat into its ability to profit from FOSS code that is folded into proprietary products.

Then there’s the issue of GitHub alternatives. There are plenty of non-GitHub alternatives to use, but one of the benefits of using the biggest and most popular site of its kind is that it’s a known system with name recognition, which has a kudos value when you’re developing. If you’re a flavor scientist, there’s more kudos in working for Coca-Cola or Pepsi, even if they are responsible for highly questionable practices, than there would be in working for Fizzy Bean Juice Cola of Arkansas, and the same holds true of GitHub.

All of which amounts to one big thing – GitHub has become a comfort zone for coders.

Copilot and the Comfort Zone

But the Conservancy’s argument is that while coders are comfortable, GitHub is able to profit from proprietary products based on FOSS work hosted on the hub. In essence, the argument is that increasingly, GitHub exists to exploit FOSS development for proprietary products, from which the profit goes to GitHub, and thence to Microsoft, rather than to the coders who create the freely-available code put “out there” for the good of everyone.

It says that GitHub’s behavior has gotten progressively worse, and that the FOSS community has been lulled into excusing, ignoring, or even abetting the process of proprietarization of FOSS code on the site in products from which GitHub can profit.

In particular, the Conservancy has issues with GitHub and Microsoft’s actions on Copilot, which seemed to be a mostly intellectual exercise – until GitHub recently announced it would go forward as a for-product, commercial release. Long before that announcement, the Conservancy posed legal questions to GitHub and Microsoft on the use – and ownership – of  FOSS code in potential commercial products like Copilot. Neither GitHub nor Microsoft responded to those questions for over a year, pushing the divide between GitHub’s FOSS-focused beginnings and its more recent push towards commercializing products using all code developed on the site.

There’s also the huge issue of licenses. Copilot’s learning corpus was, well, potentially all the code on GitHub, including work released under licenses that stipulate work derived from said code be available under the same terms – open (published) and freely-distributable. GPL v.3 for example, states:

“[…] you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code.”

So when Copilot suggests some code that might be helpful to a developer of a proprietary application, and that code gets used, that places the developer (or rather, the company that employs them) in contravention of the license. Companies using Copilot put themselves at risk that what they create (and sell, or distribute in some way not in the license terms’ permitted modus) will become the subject of legal battles. And that’s quite in addition to the “fairness” of openly-distributed code being used to create the library of “helpfulness” in a proprietary product like Copilot.

In fairness, the Conservancy cops to its own part in the process of allowing the comfort zone of ubiquity and ease of use to overcome the recognition of drift to proprietary products. Which is why its response, a call for coders to quit GitHub, comes with strong action on its own part – ending all its use of GitHub, and developing a long-term plan to help FOSS projects to migrate from the site. In fact, it goes further – while it won’t penalize existing members with no plans to migrate from GitHub, it claims it will no longer accept new members with no plans to migrate.

Will it prove to be a cry in the wilderness, or the first boulder that precipitates an avalanche of coders away from what has become a monolith in the world of code creation?

Only time will tell.