My Linux journey so far: status update 2023

I started using Linux at the high school in 2002. 16 years old at that time, I didn’t have any contacts with the other Linux users in the town where I lived. I did have a slow occassional dial-up internet connection, a few books available in the local book store and a mail order shop to purchase CDs with various Linux or BSD distributions. It all started with the Red Hat Linux 7.3 Valhalla back then. I also tried Slackware, Debian, FreeBSD 4.5 and whatnot on my desktop.

During my time at the university (2003-2008), Linux was a no-go: the whole education process was Windows-centric. After trying some workarounds with Wine, I realised I was wasting more time on the “motorcycle maintenance” than on the ride itself, so I gave up.

In 2011 I got Arch Linux distro installed on my pretty low-performant machine I used for pet projects and other non-work-related things. It was all the way the hacker machine, for sure! Tiling windows manager (i3-wm and even ratpoison), even more never-ending “motorcycle maintenance” with Emacs and OS customizing!

I also had Gentoo Linux on my second, even less performant tiny machine. You can imaging building the Firefox browser on it from the source code, let alone upgrading the whole system with emerge world.

In early 2017 I realised that my current job leaves me almost no spare time for a home-grown zoo of Linux distros. So I switched to Ubuntu (16.04 Xenial back then) and had been using Ubuntu until July 2023. In the lighthning talks session during the the EuroPython 2023 conferece I attended this year, someone mentioned Fedora as a nice alternative to Ubuntu for Python developers who need simplicity with the up-to-date versions of the upstream software. Given that I wasn’t happy with how Ubuntu upgrade to 22.04 went, the mess with snap packages, and ocassional performance issues I didn’t have time to troubleshoot properly, I decided to give Fedora 38 a try.

Now, 6 months and 1 system upgrade later, I can say that I am pretty happy with what Fedora Desktop provides. It’s simple, with the sound defaults like GNOME Desktop and Firefox browser. DNF package manager feels like at home without even looking up the man pages/help. The software is not the bleeding edge, but pretty up to date. Python support is excellent indeed: you get the latest interpeter version by default, but can install all the predecessors with ease, without even bothering with pyenv. Same with Java.

Fedora release cycle is 13 month. I have to admit, that my upgrade from Fedora 38 to 39 wasn’t fully seamless. I had to switch SELinux temporarily to the permissive mode to let the upgrade process update the boot loader image on my UEFI machine. But Fedora’s discussion forums are helpful and allowed me to fix the issue quickly.

All in all, Fedora feels like a right balance between the extremes: the very stable distributions with outdated software like Debian and the bleeding edge systems that are likely to break something during the upgrades like Arch Linux; between the blows-and-whistles-heavy popular distributions that seem to neglect the quality like late Ubuntu and the spartan, distros with survivalist-flavor like Gentoo.

So far so good! Let’s see how the upgrade to Fedora 40 will go.