To me one of the clear things that GitHub gave us was a structure around a person rather than a project. To me it felt liberating to quickly create a repository attached to my name than it was to go through the (what felt to me) very serious process of coming up with a project name and reserving it on sourceforge just to get a cvs or svn repository (along with website, mailing lists, issue tracking(?), etc, etc...). It felt like the mental load of "oh this is just a quick thing" was a lot easier with github.
> It gave projects issue trackers, pull requests, release pages, wikis, organization pages, API access, webhooks, and later CI.
Although it didn't give us this all at once. I still remember when we created a new user account in order to simulate an organisation, before they existed. I distinctly recall discussing with friends if we wanted to set up a bug tracker software for our project with the assumption that "GitHub will probably release one in a few months anyway". In the end we just kept a text file committed in the repository. Issues were announced a few months later.
I use Fossil for all my freelance work and it so easily allows me to get right back into the context of a project, niche details and agreements had with a client, etc. No need to pollute the codebase or gather together a million emails or notetaking software just to get back up to speed.
It can still change, I hate the notion that because Git is so culturally embedded we couldn’t ever switch. Fossil makes it super easy to switch and the workflow is actually easier coming from Git.
I think this is a bad thing actually. Having something that's centralized but helpful-99%-of-the-time atrophies our collective archival skills. If everything had to be seeded by someone to keep it alive, everyone would be better at holding on to their copies of the things they really cared about instead of being able to assume they can just check it out again when they want to.
There should be no single place that something can be taken down. When a project on GitHub gets DMCAed it takes everyones' forks with it too. Just look at what happened when Nintendo took down the popular Switch emulators in 2024, where archival/continuation efforts consisted of people figuring out who had the latest revision checked out and sharing it. That was only possible because they were very popular project: https://news.ycombinator.com/item?id=40254602
Aside: I really love the Splatoon-ish header/footer animation on this site! Very unintrusive, adds a lot to the vibe, and also quickly gets out of your way as soon as you scroll down. I'm totally going to rip this off lol
If anything Codeberg’s legal structure (being a non-profit) and vision makes it a lot more aligned with the objectives of free and open source projects than GitHub in the long run (which has always been the case but it’s just abundantly clearer today).
I think “for-profit corporations providing high quality public services for free” was a zero interest-rate phenomenon and never sustainable.
There is already such an organization in Europe:
https://www.softwareheritage.org/
Underfunded relative to the task, and the (accelerating) speed of free software production.
Fun fact: Django is still running on Trac today, and has been for more than 20 years now: https://code.djangoproject.com/timeline
(I was not involved in setting that one up, though it's possible I helped get the private Trac that pre-dated it running, I honestly can't remember!)
GitHub has their own: https://archiveprogram.github.com/
Software Heritage is a non-profit funded by UNESCO: https://www.softwareheritage.org/2019/08/05/saving-and-refer...
Although they're mostly the code / commit history, not so much surrounding metadata like issues, PRs, discussions, wiki, etc.
My memory is telling me that I set up Bugzilla at some point after I joined the core team, though that may have been someone else. When git started becoming a big deal, I spearheaded converting our big SVN repo into many git repositories, and set up the cgit web interface for it. We were still using Bugzilla at that point.
I left the project in 2009 or 2010 or so (I'd joined a small startup and didn't have much time for OSS, sadly), and rejoined in 2022. In the intervening years they'd stood up a GitLab instance with CI runners, and had migrated everything from Bugzilla to GitLab issues.
It's still a very small team (handful of active people), and the infra is mostly managed by one person. It's all very doable, even for small teams. We're very lucky that our infra is generously donated/sponsored, though we also probably get just enough in regular donations that we could pay for it ourselves if we had to. I really appreciate that we're not dependent on Github/Microsoft for anything. Seriously, if you told me 20 years ago that Microsoft of all companies was going to own the largest OSS code forge in the world, I would have thrown up. It still doesn't sit well with me.
His post is a response to Mitchell's, from just a few hours ago. I'm impressed with how quickly he wrote a long-form, high-quality, well-reasoned post.
This archival project already exists, it is funded by France computer science research agency Inria, by Europe, and maybe by the UN through UNESCO if I'm not mistaken, but I really think it should still receive much more attention and funding to really pursue its goal: Software Heritage.
Thankfully, this doesn’t have to be the case – Forgejo imports pretty much everything mentioned. (1) Whether you decide to move to Codeberg or host your own instance, you won’t have to lose the context.
But I definitely agree we should also have a metadata archive of some sort, for both GitHub, Codeberg, and self-hosted projects.
(1): Not sure about code reviews, and you don’t get the security advisories, though I’m sure it can be replicated with a CI workflow somehow?
Before we had FTP, which made easy to mirror stuff with "lftp mirror -p".
HTML is not good for archiving.
We have to rethink those protocols so that mirroring is made easy, and "git clone" is not an answer sorry.
I do not agree with details, because it was for me before and after git.
So the hidden denominator here is and still is git, which sparked a tooling frenzy with reversing flow by being online server first (it wasn’t named cloud back then).
So even today, all splinters are doing something around git. That hasn’t changed.
What I really miss is the some sort of standardization that GitHub provided for a brief period of time. Projects would get no love aka stars when you couldn’t easily be used even for the experts. Some convenience as well as tooling evolved, devops became a thing.
I think of the future of a concept called cocooning. The JavaScript expert of today would be puzzled to write code on a notepad in a html file, because it has become so meta, being TypeScript essentially.
There is so much tooling going on that especially Python before AI already felt like I would miss something out if I would code more than 100 lines and that there must be libraries that abstract this all away and instead of coding I should google better.
AI is one thing, but the cluttered tech stacks aren’t really sparking any interest or joy in me, I think it is the not invented here syndrome or because I can story.
I miss the die hard coders, who stick to a tech stack which simply worked, not optimizing for weird use cases which are contrived at worst and rarely needed at best.
This became evident with the decline of data sheets, because Grunt, Gulp etc. as build tools were great but slow. We JavaScript devs couldn’t any longer joke about the compile times of the Backend dudes. And besides that, build times costs you focus, money, cpu time. But this was the main currency.
With AI I stopped trying out lots of tools because they feel like a weekend project by some dude who blasted his Claude budget.
Over are the fork and commit wars. Until AI battles itself this hard for quality source code I will stick to GitHub.
Then it's BYOR -- bring your own renderer. Trivial CLI bugtrackers, agentic nonsense, pretty web stuff, whatever and the data lives in the repo.
But as I say, New tech invades the world and makes the perfectly working old tech as incompatible, just by changing the world around it. So git became a necessity imposed.
Anyone who is able to just plop a forgejo instance on their own machines... please do that if possible!
> That is one of the great ironies of modern Open Source. The distributed version control system won, and then the world standardized on one enormous centralized service for hosting it.
Cycles everywhere indeed. Perhaps we should ->
> GitHub wrote a remarkable chapter of Open Source, and if that chapter is ending, the next one should learn from it and also from what came before.
Indeed! Try to learn from the inevitable iterations to make the next instance at least that slightly better.
... Where the stuff meets the metastuff it seems all works under very similar forces. My thinking is step-by-step - it works on the individual level, and it scales up.
Day to day is step by step and a step today funds the step tomorrow.
What Microsoft acquisitions still have any of their original spark left in them? Or Oracle? Or IBM? Or Google? Etc…
Hell, some Microsoft originals from inside the company like Xbox have even lost their edge.
Money is great and I’m sure I’d take the big check, too, but I’m surprised more tech founders don’t think of their legacy in this way when they decide to sell out.
It’s considered a grand accomplishment to essentially lead the wonderful thing you created to its slow demise and hand it over to apathetic quarterly earnings zombies.
Nearly any of us could run an XMPP/Matrix server and federate with friends or Nostr/{0xchat,whitenoise}, all with audio, video, text, file exchange etc, yet less than 1% do that.
Simply people, techies as well, have forgot the meaning of personal ownership and therefore are owned by someone else.
Unfortunately I don't have a clever solution (to the social aspect of the problem).
Well ... sad or not sad ...
I remember I was very displeased when Microslop, 'xcuse me, Microsoft assimilated GitHub. But for some time it worked quite ok-ish, to some extent. Only more recently are things suddenly breaking down. I am not sure why they break down right now, but I suspect it has a lot to do with the new AI-focus Microslop pushes onto everything. The AI permeates everything like a virus and contages things (I just tried to create a new word from contagious ...). It seems as if this is the real new corporate identity. As Microslop proceeds to dive deeper into AI (they have no alternative anymore, they already sold their soul to AI), they forget that GitHub used to be about people, first and foremost. Steve Ballmer also had this with his fake antics aka "Developers developer developers" many years ago in 1999 (https://www.youtube.com/watch?v=8fcSviC7cRM - at the least Ballmer was entertaining, the current slop-CEO is boring to no ends).
> So when I think about GitHub’s decline, I also think about what came before it, and what might come after it.
Well - the decline happens largely because Microslop totally struggles. They could have decoupled departments and what not, but they decided the corporate strategy is AI-only now. And this creates a ton of downstream problems. So in many ways the current CEO is to be held responsible; he is in charge since 2014 after all. Fatigue kicks in. I am not saying a single person alone is responsible for failure, but it is clear that whatever the reasons for problems, this comes from Microslop first and foremost. The GitHub team contributes to this decline as well (services no longer working suddenly) but it really is induced from top, aka the overall corporate strategy here. And I also don't see Microslop being able to change course - they overcommitted already, so now the decline is indeed unstoppable.
> GitHub changed how Open Source feels, and later npm and other systems changed how dependencies feel. Put them together and you get a world in which publishing code is almost frictionless
Frictionless is a strange word. I retired from rubygems.org when shopify flooded the zone with ... corporate agenda. The final straw was the 100k download limit ("past that point we disallow you from removing old code you published to rubygems.org", which meant that people would download old code and assume that I would maintain that, which clearly was a lie, so thanks for that RubyCentral ... a year after that they went amok and mass-fired numerous devs; the whole story is a bit more complicated than that, but I can now wisely nod my head, since I retired about a year from that before that mass-fire devs event unfolding). I think if you have a source code hosting service in place, no matter what it is, you need to think about making publishing code super-easy at all times, including the UI. GitHub did this, sort of; I notice this when I compare it to gitlab. Perhaps gitlab has more features, but using it is soooooo much more annoying compared to GitHub. Codeberg lacks features on the other hand. Offering a good service here is actually difficult. It almost seems as if there are no clever UI designers anymore.
> My first Open Source projects lived on infrastructure I ran myself. There was a Trac installation, Subversion repositories
Well. I hated using Trac. Reporting issues is of course possible, but it feels so much more cumbersome than github issues. What could help would be to kind of make semi-universal IDs, e. g. I register once, but then I could use the same account on many different issue trackers. Right now I need to register for each instance and that is just tedious. I keep a password file (don't tell anyone) and I noticed that, say, after about 100 different websites and names and password, it just becomes unmanageable. Yes, I could use software to help me with that, but I decided that I simply no longer want to have a gazillion accounts. I almost never register for phpBB webforums (though discourse appears to be killing phpBB anyway).
> You could find forks, and old issues and discussions all stayed online.
That is true in general, but I would like to remind the blog author here that when the xz backdoors utils were found, Microslop took down the whole repository INCLUDING discussions. I remember that because I also discussed this on the xz utils github issue; and next day when I looked for more discussions, the whole thing was gone. Microslop censored here. Lateron the repository was back again, some days later, but if I recall correctly the whole discussion section was also gone. Microslop did not like the discussion; perhaps it was the author too, but the initial removal was from Microslop. So why was that bad? The whole discussion contained valuable information for people who were not yet familiar with this. Thus, Microslop deprived people of that information. Since then I am very wary about "trusting" Microslop or any private actor here when it comes to censorship. So I would not trust the "discussions stay online" claim here.
Not that much smaller right-before GitHub and right-after it became available.
> but in the number of projects most of us could realistically depend on.
Most FOSS I realistically depend on I don't obtain from GitHub actually.
> There were well-known projects, maintained over long periods of time by a comparatively small number of people.
There were even more not-well-known projects, maintained for less time, by a larger number of people. They just weren't that many of them in one place.
> You knew the names.
You absolutely did not know the names. Post author is just thinking of the names they knew as though those were everybody.
> reputation mattered in a very direct way.
And now it doesn't?
> We took pride (and got frustrated) when the Debian folks came and told us our licensing stuff was murky or the copyright headers were not up to snuff, because they packaged things up.
RedHat was just as popular a distribution; and most users used Windows (like they do today); and the BSD distributions were a thing (although we didn't have Apple's BSD, i.e. MacOS)
Bottom line: Inaccurate description of history.
I'd love to have a longer conversation with you about how we can seed a better system, because on the off chance I'm successful I have a once-in-a-generation opportunity to fix past mistakes.