What a glorious piece of history. I wonder what other "scratching my itch" solutions became so mainstream that people forgot about the original authors.
I think all of todays popular Linux distros, Debian, Gentoo, Fedora, Arch, SUSE and so on, are all very much "scratching my itch" projects that somehow managed to outlive the original authors engagement with the project.
It's not like any of them where planning to be used by millions of people.
Yes and no. I realise that to younger members of the Linux community they're all from long ago, but they're not the same age.
There aren't really clear generations in Linux distros, but as an approximation:
Debian is pretty old, but it's a 2nd gen distro, borne from dissatisfaction with the very early SLS.
So was Slackware, but it took SLS and improved it. Slackware is arguably the oldest surviving distro.
SuSE has roots as a German version of Slackware. Red Hat's package manager was bolted on later.
Gentoo and Arch are relatively modern, being 21st century projects. Arguably, they're 3rd gen.
Fedora is a 4th gen distro, younger than any of the others here. Its ancestor was Red Hat Linux, which was contemporaneous with Debian -- but was left behind by Debian's technical encancements: in 1996 or so, Debian introduced `apt`, a package manager with automatic recursive dependency resolution. This put it far in the lead of Red Hat, which still only had RPM and no dependency resolution.
Red Hat went in another direction. Red Hat Linux 7 became RHEL, a commercial, paid-for, supported distro.
The free RHL went on for 2 more versions, reaching Red Hat Linux 9, which then became Fedora Core, version 1 of the free unsupported community distro.
> Debian is pretty old, but it's a 2nd gen distro, borne from dissatisfaction with the very early SLS.
Scratches their own itch, check.
> So was Slackware, but it took SLS and improved it. Slackware is arguably the oldest surviving distro.
Itch scratching, check.
>SuSE has roots as a German version of Slackware. Red Hat's package manager was bolted on later.
Pretty sure this was itch scratching as well.
> Gentoo and Arch are relatively modern, being 21st century projects. Arguably, they're 3rd gen.
Both are itch scratching projects!
> Fedora is a 4th gen distro, younger than any of the others here. Its ancestor was Red Hat Linux, which was contemporaneous with Debian -- but was left behind by Debian's technical encancements: in 1996 or so, Debian introduced `apt`, a package manager with automatic recursive dependency resolution. This put it far in the lead of Red Hat, which still only had RPM and no dependency resolution.
Arch and Gentoo are from 2002, and Fedora from 2003.
Fedora was based on someone starting to package FOSS software for RHEL, more itch scratching!
As I understood the story as an analyst at the time, Red Hat’s intention was to just kill RHL after a decent interval but there was sufficient outcry that they came out with Fedora.
But I’m sure there are many different recollections and variants of the Fedora was planned all along story told over the years that the “truth” is probably pretty elusive at this point.
In this kind of hierarchy, I'd personally say fedora is third gen (due to it being so similar to Redhat) and that nixOS is fourth gen. Both came out around the same time, but took such vastly different routes with different kinds of itch scratching.
Gentoo and Arch are different takes on the same ways to build a distro.
Gentoo took the FreeBSD ports tree model and applied it to Linux: still relatively conventional packages, but they're source and you compile the whole thing each time. Arch, still conventional packages, but no fixed release cycle.
Nix throws all that, and the directory tree, out.
Slackware: tarballs are good enough, they're all my dad and grandad ever needed.
RHL: we'll have a package format, where packages can depend on others.
Debian: we'll take the RH idea, but make a tool that can go fetch and install what's needed by what you asked for.
Nix: you don't need to worry about stuff like packages or where stuff is. Tell us what you want and we will make it happen. (But you won't like the disk layout, so don't look.)
Guix: we'll do Nix but with Scheme.
AppImage: hey, you know Acorn did that apps-as-bundles thing first? And it's on Linux as ROX? What if we just zip up the bundles and mount them on demand?
Flatpak: that sounds too hard, dude. But we all agree Git's cool, right? So, what if we could, like, distribute apps over Git?
Gobo: all this packaging and dependency stuff is BS because you're still using a disk layout you improvised on the fly on some 1960s minicomputer with like 20 tiny little hard disks. Here, let's do a clean modern layout like NeXTstep did, but for the whole OS, then you don't really need a packaging tool any more. It's all just bundles, all the way down. But they're versioned. Just copy what you need.
(Entire rest of Linux world) Waah! But mah FHS! If I don't have my FHS then I won't compile!
Gobo: OK, OK, I'll fake it with symlinks for you, then hide it.
Snap: hey, app bundles sounds good, but let's compress them into single files and mount them when needed. Bunch of symlinks and you'll hardly be able to see the joins.
Fair point. It's annoying but it's a small price to pay.
I have machines around here running umpteen distros and OSes, but recently, I switched all my Ubuntu machines to more or less all-snap. I've purged and removed a load of 3rd party repos and replaced them with snap-packaged versions. Even on 12-13 year old machines, it's quick these days, and it makes all kinds of problems on distro upgrades and things just go away.