~ Moving away from Github ~

by kalekale on 2022-10-28
The microsoft acquisition of Github and its consequences have been a disaster for the free software community.

Github has been the defacto "git platform" for as long as i remember. They made it very convinient for people to host git repositories and gists, featuring a modern UI which was way better than the static generated pages that people used to host. And by 2011, the year i made my first git commit, they were already hosting a million git repositories. This was big because no service other than maybe Google Code(only the OG's remember) was providing git hosting at that scale. Since Github was the largest public git platform by far, it soon became a crucial part of the free software community, and over time many projects started moving over to github because it had become "the" git platform that everyone had an account on along with a million new features, for example just recently LLVM moved over to github. Just a reminder that github is NOT FREE(as in freedom)! We can see this trend with many other projects, thankfully most of the important free software projects arent developed on Github. GNU and related projects have their own services, and the same goes for BSD and related projects. However this is only true for older projects, these projects have been around long before github and git were a thing. Many of the newer projects, like mpv, a fork of mplayer2, one of the most, if not THE most popular media player on Linux, is being developed on Github. The Rust, Zig and NIM project, shaping up to be the future of programming languages(more on this later), are all being developed on Github. Not just software projects and compilers, even certain Linux distribution have their entire development and management done on Github, for example VoidLinux, my daily driver is developed on Github. here you can see, github.com/void-linux/void-packages, this repo contains the build scripts for void packages, and this is not a mirror, this is literally where the entire development is done. This is not necessarily a bad thing for the projects, however ideologically, this is a bit conflicting, the irony that free software development is being done a platform that is not free.

>but where is the problem? Github is a great service!

>why would you want to move from github, when all these great FOSS projects are embracing github?

you might ask, unless you know what I am going to talk about. The problem is purely philosophical and ideological, very much about the essence of free software and freedom. First and foremost, like I mentioned earlier, Github is NOT FREE(as in freedom). This many not seem like a big problem, however when added the fact that microsoft now owns Github, its a BIG problem. Even setting aside microsoft's track record on privacy and freedom, there is something worse which is finally pushing me away from Github. as drew devault called it, "Open Source Laundering", the Github Copilot problem. Github, or i should say, micro$oft, created Github Copilot, a tool for their customers to "launder" free software source code into non-free software. That is quite literally what Github Copilot is.

>Your AI pair programmer

also your AI partner in crime.
With just one g**gle search you can find dozens of cases where github copilot fails to generate the right license for the code it generates, and this becomes a very serious problem when dealing with restrictive licenses like the GNU GPL. As someone who belives in intellectual property and in the philosophy of free software and freedom, this not something that i can accept, the violation of free software philosophy. Which is why i will, slowly but surely move from Github to a better platform, or maybe host my own! This is the least i can do. Its still sad knowing soon there will be thousands of soydevs violating GPL and laundering free code into non-free programs while wearing their "I LOVE OPEN SOURCE" TShirts. However it is still debatable weither if the code generated by the Github "Copy-Alot" is a derivative work or not. I have seen alot of cases where the code it generates is verbatim with the code it was "trained" on, so, it is, in my opinion a derivative and should exactly comply the with license of the code it was "trained" on regardless of what Github/Microsoft claims.
As for the alternatives, I have considered either gitlab, or hosting my own gitlab/gitea/stagit instance. Gitlab, fwiw seems great, but the only problem is, if i want to contribute to projects that only accept patches/issues on Github, i will still need to have a Github account :/ and if i am going to host my own git server might as well say good bye to any contributions that my projects will be recieving knowing most people probably cant send patches over mail in the current year.