My projects are leaving GitHub

Macoy Madson

This article is mirrored on my blog.

I have been migrating all of my code from GitHub to my self-hosted Gitea instance.

My Gitea instance has been mirroring my GitHub code when it changes. In the next week or so, I will be deleting my code outright from GitHub.

Here's article that pushed me to finally do it: Give Up GitHub: The Time Has Come!

I am doing this for several reasons:

  • I don't want my code plagiarized by Copilot. (Although, writing code in Cakelisp makes that a non-issue!)
  • The master fiasco. Any way you swing on any issues, I don't want politics showing up on my code hosting site.
  • I don't like how the youtube-dl takedown was handled. While nothing I write does anything "illegal", I don't want a corporation having that kind of power over my work.
  • I want to avoid centralization on services I don't control. It's the reason why I set up macoy.me, and have been migrating to it.
  • Microsoft. Enough said.

Even though I am moving my code to my website, I am still interested in collaboration. If you want to work with me or contribute in any way, please email me at macoy at macoy dot me.

If you are also interested in moving your code off GitHub, check out Gitea. Overall, I am quite pleased with my experience with it.

In other news

I did an informal game jam with a coworker of mine a few weeks ago. I'll be posting screenshots and/or video of the resulting game soon. Cakelisp was used as the build system. The rest of the game was written in C so that my coworker was familiar with the main language.

It turned out to be a good project because it tested Cakelisp and C interoperability. There were a couple things I needed to tweak, but overall it went smoothly. The Mac platform caused some troubles. I wasn't surprised because I don't have a Mac for testing, so it's understandable that it isn't a seamless experience.

I have been focusing on distributed-automation, my continuous integration solution written in Cakelisp. I ported over the self-update code I wrote for Machsearch which allows the workers to be told to download and run the latest version. This allows me to start to have workers running on various machines without having to be "done" with the system. Once I make a new feature, I can simply tell the master to instruct the workers to update themselves. I couldn't use a package manager for this because I have workers running natively on Windows, and I don't really care much for package managers anyways.

Not invented here

At this point, the Cakelisp project involves a significant amount of things people would call you crazy for building:

  • A language
  • A linker/loader
  • A continuous integration system
  • The code repository not being on GitHub

I'm sure there will be more to come. I'm learning a lot. I do still use a fair amount of third-party software.

I think that being willing to tackle these things is a good attribute. If everyone always buys instead of builds, the whole industry falls into complacency and mediocrity.

While I get the sentiment of doing this, some of the reasons won't change much.

Because unless you're ready to enforce license/copyright legally then moving off the github won't really prevent your code being plagiarized by Copilot. People will create clone of of your code (which they legally can do for open source projects) and put it on github.

Similarly for "takedowns" - you will need to handle them even for your own hosted instance. If you'll ignore the takedown requests, then simply your hosting provider or domain registrar will receive same takedown request. No difference there. Unfortunately that's how dmca law works. Corporations will control what you're putting on public internet in one way or another.

Owning and controlling your data is always a good thing. That is a good reason on its own. But saying that everything will be solved/avoided just moving off github is not a real thing.

That's true. It at least makes doing these things a bit harder for them.

Of the programmers I most look up to (Jonathan Blow, John Carmack, and Casey), I side with Carmack on the open source issue. I'm a believer in FOSS. I prefer to create value through my ability to create software, not my ability to restrict access to it.

For that reason, I license all my software under GPL v3 or later, and usually also have an offer for companies to pay to have a different license, if they so desire.

I have benefited far too much from the GNU/FOSS ecosystem to not contribute back to it.