If you're a Fedora fanboi, this latest release might break your heart a little
Version 28 of Linux distro embraces non-free third-party repos for some reason
The Fedora Project has released Fedora 28, a significant update that supports something it shunned for years: third-party repositories of non-free apps.
These third-party repositories allow you to easily install Chrome and Steam on Fedora 28, but for some they may come at the sacrifice of Fedora's long-standing ideals. Fedora has always had a very clear policy about which types of software were included in its Linux distribution, though it has always allowed for non-free firmware, which keeps it from making GNU.org's list of truly free distros.
The third-party repo support goes a step further, though, offering non-free apps in an official means to get onto people's systems. To be clear, the software is not hosted by Fedora, and instead by the owners of the applications and tools. Having said that, the repos can now be accessed via the operating system's Software Repositories control panel.
There are two things worth noting before your free software hackles get raised. First, the third-party repos are not enabled by default. Download Fedora, do nothing and you won't be able to get any non-free software. Unlike Ubuntu, Fedora is not including these repos out of the box. The second thing is that the official repos are currently limited to Steam, Chrome, PyCharm and Nvidia graphics drivers, all of which, and much more, have long been available via unofficial repos like RPMFusion, or through COPR. The first three included apps honestly feel unnecessary and none of them are hard to install via RPMfusion. But the Nvidia drivers, if you need them, will be very welcome, and enable Fedora to run on a larger range of hardware (Linux tip: avoid Nvidia graphics cards if possible).
Leave it to Beaver: Unity is long gone and you're on your GNOMEREAD MORE
That said, the sky is sort of falling here and it is a little disappointing to see. Fedora has long been the closest to a completely free distro – of the major distros anyway – and that has always been a big part of its identity and, I suspect for many, its appeal. The new third-party repos, even if they aren't enabled by default, or particularly full of software, are nonetheless a step in the direction of, well, let's face it, Ubuntu. That's not to knock Ubuntu, but do we need another? I've always enjoyed Fedora for its principles and its developer-centric focus and frankly this change makes me nervous for the future of Fedora. It feels like Fedora is chasing a different audience all the sudden, and while that sometimes works out well for the distro, it often doesn't for long-time users along for the ride.
The good news is that, if you ignore the new repos, Fedora 28 makes an otherwise fantastic update. I updated my Fedora machine using the DNF system upgrade plugin and had no difficulties. I also did a fresh install in a virtual machine and, aside from one strange quirk of the installer, had no problems there either. What I found somewhat odd is that you don't create your user account until after the system is installed and your reboot in the GNOME Shell. The account creation is apparently handled by GNOME and very closely mirrors Apple's macOS installation process. Not surprising given how much GNOME already apes macOS, but a little disconcerting if you're used to the install process followed by every other distro/desktop.
Speaking of GNOME, Fedora 28 ships with the very latest release, 3.28, which arrived earlier this year. GNOME 3.28 has a couple new features worth mentioning, including a much-improved version of GNOME's virtual machine manager (Boxes), some new organising tools in the Files app, and a more refined version of the default font, Cantarell, which goes a long way to improving the polish of the interface.
Fedora is one of the few distros that actually ships with Boxes, GNOME's rather nice, if a little bare bones, virtual machine manager. Boxes has a nice new feature in this release – the ability to search and download operating systems straight from the new box assistant. All you need to do to create a virtual machine is pick the OS you want and Boxes will take care of the rest. It's pretty slick and, unlike much of GNOME, Boxes is surprisingly speedy, better in my testing than Virtualbox (though again, not as full-featured at this point).
Another GNOME app in 3.28 worth mentioning here, despite not being in Fedora 28 by default, is Usage, a system monitoring app. Fedora doesn't include it because it's considered a "technology preview", which I think is GNOME-speak for beta, or maybe even alpha. It's a neat app, though, and it goes beyond simple monitoring to try to help diagnose and resolve performance issues. Right now it looks at CPU and memory consumption and highlights any potential problems. If you're low on disk space or running out of RAM for instance, it will point out potentially problematic files/applications. It is a little buggy (it crashed quite a bit on me), but worth checking out anyway. You'll find it in the official Fedora repos.
Now you can get all the details on RAM-hungry GNOME using a native app (note CPU graph, redlined by GNOME itself). Click to enlarge
While I'm not thrilled that Fedora has given the nod to non-free, third-party repos at all, I must say the interface they created and the way they handled the opt-in is very well done. After upgrading to Fedora 28, the first time you launch the Software application you'll see a blue bar at the top of the window with a notification asking if you want to enable the non-free repositories. Click the "enable" button and the repos will be added and Software will have your non-free apps available. It's very well done and strikes a nice balance between making opt-out the default but still easy for less advanced users to opt in if they'd like to.
I'd like to see Ubuntu steal this interface for its data-gathering tool, make it opt-out by default but easy to opt in, and see what the community response is. As it stands I fear Ubuntu is going to be pilloried for choosing opt-in for its controversial new tool. Fedora will be pilloried for its controversial decision to officially support non-free software (even though it's opt-out) and this interface design will be quietly lost in the spittle of philosophical arguments, which is a shame.
Fedora's nicely done opt-out/opt-in dialog, which you will see the first time you launch Software after updating to Fedora 28. Click to enlarge
One of the reasons I keep a Fedora box around (my primary machine dual-boots Arch and Fedora) is because I admin many a CentOS server. Since I imagine this is a common use case, there's a really cool new feature in the Server variant of Fedora 28, something called Modular repositories. The official docs on Modules say that it's a "release-independent package groups on independent lifecycles, providing alternative streams of content to Fedora".
That's a bit of head-scratcher, but basically it solves the venerable too-old, too-new dilemma by providing packages for multiple versions of software independent of the underlying distro packages. Take my CentOS server – I like it because it's stable and slow to update. I dislike it because I can't install Django from the repos because it's hopelessly out of date. With Modules I can install the latest Django and still have the stability of CentOS. Or at least I will when Modules make it to CentOS. It's a pretty cool idea, worth a deeper look if you're a sysadmin.
There are plenty of other upgrades that make Fedora 28 well worth installing, including all the latest developer tools and software that you'd expect from a Fedora update. You can find full details on all the minutiae in the Fedora 28 release notes.
Fedora 28 is available in three versions – the Workstation release (desktop users), Server, and Atomic Host for containers. The latter is even available via a click-to-launch interface for Amazon EC2. Fedora 28 will be supported for approximately 13 months (until one month after the release of Fedora 30). ®
Sponsored: Becoming a Pragmatic Security Leader