How my students taught me that Github’s monopoly is hurting the Open Source ecosystem even more than I thought.

https://ploum.net/2026-01-05-unteaching_github.html

#github #floss

How Github monopoly is destroying the open source ecosystem

How Github monopoly is destroying the open source ecosystem par Ploum - Lionel Dricot.

@ploum I always wanted to teach such course to our CS students. I wonder if you have some teaching material you could share...? 
The material is currently in a very bad shapes, with old slides, notes scattered everywhere. Putting it in order and publishing it is one of my goal ;-)

@ploum

For all those years, I involuntarily managed to teach my students that Open Source was a corner of the web, a Microsoft-managed repository of small software one can play with. Nothing serious.

Edit: This is a quote from the above blog article. You should read/ like/ share that one.

@bionk @ploum
We had just talked about github alternatives after @tante mentioned the move of gentoo to Codeberg. The idea to have a federated network of forges. And there is even work done in this direction. #forgejo

https://tldr.nettime.org/@tante/115850432548385972

@prefec2 @bionk @ploum @tante Thank you for the link. Very excited now.
@ploum You cannot imagine how happy I am to see the stuff you're teaching. That's great ! Keep up the good work !

#quote | «Big institutions […] or entire countries have no excuse to still use American monopolies. This is either total incompetence or corruption, probably a bit of both».

https://ploum.net/2026-01-05-unteaching_github.html

Akkoma

@ploum

Merci pour le témoignage.
L'open-source a été créé pour tourner le dos à la philisophie d'émancipation du logiciel libre. C'est comme ça.

On peut ne pas dépendre de Github.

https://www.tryton.org/ prouve qu'on peut résister, avec un serveur souverain Mercurial.

Il faut cependant supporter le harcelement par les tenants de l'opensource: "j'aurais volontiers contribué si vous étiez sur Github" !

Et donc il faut accepter de placer ses priorités avant la notoriété commerciale.

Modularity, scalability & security for your business

TRYTON is business software, ideal for companies of any size, easy to use, complete and 100% Open Source.

Tryton
@Dominique74230 @ploum Beaucoup de gens sortent ça : "j'aurais volontiers contribué si vous étiez sur Github" ???
@lascapi @Dominique74230 @ploum je sais pas pour tryton, mais oui. Quand tu es sur gitlab/sr.ht, il est fréquent de se faire signifier l'absence de github..
@ploum c'est un triste et bien déprimant constat.. Dans la formation pro, même son de cloche.. Et iels ont pas l'excuse de pas connaître de projets libres..
@ploum What a great read. As a #Bioinformatics professor, I feel a lot of parallels.
Thank you for sharing!

I appreciate instructors who actively learn lessons from their students. Even DJ Q*Bert when answering questions at Night at the Octagon events, expresses similar sentiments when it comes to skratch deejayin.

Though, I have avoided becoming a formal teacher myself (omits long story not worth sharing here and now), I have to wonder:

Since you have students, can't you fail them? Or less harsh, maybe better pedagogy: make it a course requirement that they use something other than GitHub?

Admittedly, I am vehemently anti-GitHub; not just because I've been involved in libre/free open source software for decades and GitHub was never open source, even before Micro$oft bought them.

For example, it deeply distresses me that MacPorts migrated from self hosting to GitHub circa 2016.

I'll also note, jkh (Jordan Hubbard, who co-founded MacPorts when it was still known as DarwinPorts though he's probably better known as a co-founder of FreeBSD and even though he stopped actively contributing to FreeBSD circa 2 decades ago, he was still in the top 10 of most commits to the project IIRC? Anyway, jkh stopped contributing to MacPorts in 2016, which to me: is a damning sign, even if he maybe didn't say anything about it explicitly [he and I worked together at iXSystems circa 2013 and to say, having been blessed to know and work with him personally, that he doesn't toot his own horn, would be an understatement, so I tend to pay closer attention to what he does, or doesn't do, and read between the lines]).

I am, admittedly somewhat biased in such realms, I know the Mercurial developer personally as one example. In more recent years, I've been down streaming Got (https://www.gameoftrees.org and Got developers are also actively working on https://gothub.org as another libre/free open source alternative with Git interoperability) into MacPorts (I know, despite what I wrote earlier, I haven't given up on MacPorts, but I wasn't a founding member like jkh and am less invested after a fashion, even if I wish they would migrate away from GitHub).

I also love mentioning that OpenBSD still uses CVS and OpenBSD's https://cvsweb.openbsd.org/ was sharing source code on the web (1995) more than a decade before GitHub ever existed (2007).

I am happy to see you made mention of Fossil! Fossil is IMHO, is extremely underrated and wonderful. Its Git interoperability leaves a lot to be desired (e.g. it can't sync the FreeBSD git repo without crashing last I checked) but why should Fossil treat Git as anything but a second class citizen anyway?

Presumably something like Fossil's Git interoperability shortcomings is maybe why FreeBSD ended up creating gitup (https://github.com/johnmehr/gitup) because they needed something in their BASE that wasn't GPL?

IMHO, it was still a bad decision for FreeBSD to migrate to Git. I had much better times with FreeBSD using csup and svnlite in previous VCS systems they used. gitup is least there now, but a memory hog, to understate it; still at least an effort was made to rectify a part of the problem space, I guess?

Also while I worked at iXSystems, I worked with zb (aka https://people.freebsd.org/~alfred/ ) who was an outspoken proponent of Git (this was before FreeBSD had migrated away from SVN), hoping to get more folks to contribute to FreeBSD by being more "hip" with the "cool kids" in Linux land or something? smdh, I don't think folks were raving about Git, so much as following the Linux Lemmings and the ensuing effects of mass adoption.

I'm a bit more removed from FreeBSD relative to OpenBSD anyway, so it wasn't really my place to say then and certainly not an argument I was going to win at the time. Probably still isn't an argument I can win, I am not really an argumentative individual and prefer to focus my constrained energy and resources on other pursuits.

But, y'know, Git and Linux are bad enough but at least open source?

GitHub is like the poster boy for "embrace extend extinguish" and it should be no surprise that Micro$oft bought them as a result.

But, I am not in a place of teaching, with students. So I am enthused to at least read that there is at least one instructor out there who is at least mentioning to their students that there are alternatives to GitHub!

It was also distressing to read: "they couldn’t use the git command line."

This was a bit more heartening: "This year, I forced them to use the command line on an open source OS, which solved the previous year’s issue."

So, it would be my hope, maybe future years' students can improve from tutelage that makes them use some other (D)VCS tools?

Ideally, not just your students though, what is the adage?

"Not bad student, bad teacher" ー Mr. Miyagi from The Karate Kid
Game of Trees

the main Game of Trees page

It was only briefly mentioned in the article, but one of the biggest problems with GitHub (et al) in my mind is their effect on the contribution process. Git was designed for email. It was designed around every developer having their own local copy of the repo, and being able to hack as needed before packaging a patch up and sending it to a mailing list. There are features which can be used to coordinate an official source for the project, but they can equally be turned toward connecting directly with the other devs. It was not built around making an account, forking the project,¹ and feeding everything to a single upstream as a monolithic pull request. Even before looking at the effect of laundering every open source project through a single company, the very model underpinning it inherently diminishes developers in favor of organizations.

re: @[email protected]


¹ Which is a terrible abuse of a long-standing term. This is basic distributed development, not splitting the community.
The advantages of an email-driven git workflow

@ploum great read! Thank you for sharing your experience.

I’ve noticed something similar amongst SE friends. They turn to Github without even thinking about it. When I suggest one of the many alternatives, they are usually against it because “Github is just easier”. But easier, they usually mean they don't want to both trying anything new.

We should be supporting more platforms like @Codeberg or self-host @forgejo

@ploum i don't know how much this would actually solve the centralisation on github problem, but ive always wished there was something like a code hosting search engine that would let you perform searches across many code hosting websites all at once
ive only made maybe a whopping 3 or 4 contributions to open source projects before in my life that aren't just filing bug reports, so im not really coming from that perspective, but i *do* like idly browsing open source projects in my free time, like a software version of crate-diving at record stores, and admittedly... usually i just thumb through github. it's big, it's old, so it has a wealth of stuff to look through. sometimes i do this with gitlab/codeberg/notabug/etc etc but i have a severe habit of just going for github only. and i know im missing so much cool shit this way, especially because some of the open source software i use the most isn't hosted on github
@nu There used to be Freshmeat.net, which was originally release announcements/software project news. It was also so successful, it quickly became a somewhat of a central encyclopedia/searchable listing of actively maintained open source software. Just about everything was on it.

Then suddenly every project started using Sourceforge, to the point users overwhelmingly looked there first. Traffic on Freshmeat declined so dramatically the owner shut it down.

Sometime after that Github happened.
@ploum
@aaron @ploum i wonder if a wiki hosted at a site like miraheze might be a good starting point to bring something like this back... i would actually kind of be keen to help maintain something like this, but im not confident enough in my programming skills to roll something by hand (and the only programming language i'm skilled enough in is perl, so it'd be less likely other people could help)
@nu If you are serious, start collecting links. How you store them does not matter: flat text file, Markdown, a wiki somewhere, even your browser bookmarks. Anything that can be easily copied and later extracted from.

The actual storage, presentation, and retrieval matter far less than simply making such a database exist at all. It can be transformed into something more usable later.
@ploum I swore off that site the day it got taken over by Micro$lop

@ploum good write, and from personal experience, github is so inevitable.

my entire OS (#nixos) goes down the moment github doesn't like them anymore. we have our fucking package manager on github.

sometimes i think i'm more at the mercy of microslop than windows users are, and yet, i push on, jumping with joy when finding some random forgejo site hosted in nebraska where some homie has only one single repo on it and yet it is exactly what i need and sometimes i feel like adding inputs to my flake i really don't need just to have something from not github.

@marty @ploum
I think a problem with self-hosting something like Forgejo is that it's harder than it seems...

Sure, setting it up and keeping the server updated is totally doable.

But for usual open source projects you want people to be able to report bugs without much friction, which means they must be able to easily create an account or even better be able to log in at your instance with OAUTH or whatever from another page.

But that means you'll have to moderate and fight spam

@marty @ploum
That can be considerable non-fun overhead besides developing and maintaining your open source projects - so using a big platform that mostly does that for you is an understandable choice :-/
@ploum "improve what you use" is a great approach imo - it's generally how I get people interested in programming. solve your own problems, scratch your own itches, the great part about software is that you usually *can* just go do it. it usually costs nothing and you already have all the tools you could ever need for 99% of all software (because you have a computer).

@ploum "Las grandes instituciones, como mi alma máter o países enteros, no tienen excusa para seguir utilizando monopolios estadounidenses. Se trata de una incompetencia total o de corrupción, probablemente un poco de ambas cosas."

:(

@ploum wow. This is depressing. I really want to understand the mind of someone who thinks using ChatGPT to generate a report is okay and that no one will notice.

Have they learned to expect no pushback from society?

@ploum Oh no @rms was right again! Quelle surprise!
TreeTime

TreeTime# Linked Trees for Notes, Tasks, and Structured Data# TreeTime is a tool for keeping, organizing and analyzing information using separate cross-linked hierarchies. Unlike flat lists, spread sheets, or single-view apps, the same data item can appear in multiple trees at the same time — giving you flexible, multi-perspective sorting, categorising, and calculation. Python Package Download / Windows Download / Linux Documentation Source Code Report Issues What is TreeTime?# TreeTime is a light-weight data manager that arranges your data in trees — units and sub-units. Each data object can belong to several trees at the same time, allowing nested mathematical operations and exports to different graphic formats. → Read an explanation: What is a Tree?

TreeTime

@ploum beautiful text and i hard agree with everything said there, except one thing.

USA didnt kidnap a president, but an illegitimate dictator. Its safe to call Maduro this, because last elections there were clearly rigged.

@ploum I don't understand why you merely allow to have homework handed out on github and not on a forge hosted by your University, or at least one that does not immediately steal their homework.
Read the piece again. Report are submitted on a local Gitlab.
@ploum interesting article! I have things in github, but in the last years I start moving things out... but at the end... my projects are small. It's sad that not more projecte like zig followed zig aproach.
@ploum totally agree!
I have the same problem teaching that there are a billion ways to edit an image not using Adobe. Thinking outside Adobe is already a great success.
@ploum They figured out if they could skip the "Extend" bit from "Embrace, Extend, Extinguish' then they could get to where they wanted quicker.

@ploum

> And if they truly don’t use any open source software at all and don’t want to use any, why do they want to follow a course about the subject in the first place?

unfortunately, i know the reason why. some questions: how many of your students gets A’s? What is your rating on rate my professor (or a similar website)? generally, how much effort is required by your students?

if i’m guessing right, to them this is an easy A meant to boost their gpa. they dont care otherwise :(

@ploum You wrote "A few years ago, one of my friends was locked out of his Google account while travelling for work at the other end of the world."
In 2016, I was locked out of my gmail account while travelling to the other end of Germany. Something about "don't use imap but install our mail app". This is when I cancelled my google account.
@ploum thank for the insight on open-source and github. Your course sounds really cool!
@ploum are you based in Australia? I got my own open source project which I unfortunately postponed but, I met another student from Aus that was looking to contribute to OSS projects. Would be a small world if it is the same thing haha
Nope, Belgium.
@ploum ah country neighbors. Netherlands represented

@ploum while I'm happy to see schools teaching OSS contributions, I worry this is creating one-off contributors similar to Hacktoberfest. From my experience, those are a net-negative for OSS maintainers.

Rather than pushing students to maintainers that didn't opt-in to be part of the classwork, consider maintaining your own OSS projects, maybe as part of another class.

@ploum I've seen far too many LLM generated contributions, that appear to be scattered across multiple projects, with no follow up to questions. I've always assumed these are reputation farming bots, but it's entirely possible it's the result of students trying to get one PR approved, and then they abandon all the others when that happens.

At the very least, require students to have a public profile, including a link back to your class in case maintainers have feedback.

That’s a valid point. During my classes, I explain this and how not to wast maintainer’s time.

Most of the students are straightforward and announce that they should contribute for a class. But with LLM’s contribution on the rise, I should be more careful.

@ploum I've yet to encounter the "too many requests" error on GitHub from my own usage, though I'm aware of others reaching it with automated issue and PR generation tooling.

I wouldn't be surprised if the limit is not a single usage threshold, but based on behavior analysis from a given source. If your account is frequently accessing content that has been flagged as spam by other maintainers, that could be a trigger.

@ploum The irony of me experiencing the same from https://codeberg.org is less than ideal.