Tuesday, November 6, 2018

Why I use Fedora

While most users choose Ubuntu, Fedora could be a better alternative for most users. Read to understand why.
November 6th, 2018 marked Fedora's 15th anniversary. To celebrate that date, the Fedora Community Operations Team organized the Fedora Appreciation Week (FAW) to coincide with the announcement of the project 15 years ago. This week-long event celebrated the efforts of the Fedora contributors and was and opportunity to share our gratitude with the bigger Fedora team.

On this post I'd like to explore the reasons why I use and love Fedora Linux and why I think it is a very viable alternative to Ubuntu, Mint and even friendlier distros such as elementary OS and Pop!_OS.

My Thank You

My thank you to the Fedora Community is this humble blog post: thanks to all the Fedora team and to the whole amazing Open Source communities that contributed on hundreds of projects that compose this fantastic free, open source operating system! Thank you developers, QAers, devops engineers, designers, beta-testers, community members, volunteers, translators and everyone else that helped this project all these years. =)

Fedora and Me

I've been using Fedora Linux as my primary operating system for almost 5 years. Using a Linux-based OS may seem a strange choice for a .NET developer. So how did that happen? And why Fedora?

I have been using Linux for 15 years but always in dual-boot mode. Recently I decided it was time to switch definitively to Linux and I was motivated by the release of the .NET Core Framework. The difficult part was to choose the distro. For someone who loves Linux and tested every option on that Distrowatch list during the last years, Fedora was the distro that best fit my own requirements Let's review them.

Why choose Fedora

Simplicity

I chose to put simplicity first because it is indeed on of the characteristics that I enjoy the most and the most commonly asked by new users. From the installation to the default UI, everything seems integrated, animations are smooth. All of this without sacrificing performance.

A Fedora workstation running Gnome 3.30 / Source

Stability

Fedora is very stable. And differently from what people think, Fedora is not a beta-testing environment for RHEL. Packages are tested on its development channel, validated and once mature and all dependencies are met and stable, millions of users get the update. Be sure that for each update that you get, hundreds of ours of tests were performed.

Security

We know that keeping the system up to date is as important as having a good anti-virus software, a working firewall and safe web browsing habits. Fedora shines on this aspect. Due to its SELinux integration, frequent software and kernel updates, chances are you're running a safe system.

Privacy

Linux users shouldn't be concerned about privacy. Or should we?  Fedora discloses its Privacy Policy publicly and adheres to it as to its core principles: Freedom, Friends, Features and First.

Excellent for Development

Developers are pretty much covered with everything on the development site. Docker, Swift, Python, NodeJs, Ruby, Java,  among others can be found in the repos. Personally, I like to install Python, Go, Visual Studio Code, git, Firefox and the Dotnet CLI.

Performance

Fedora performs. My 3 yr-old laptop boots in 5 seconds. The performance is mainly due to more up to date software and to keeping the OS running only with the necessary resources. Yes there are faster options and yes, Gnome is not as light as other window managers but it's still a very good for the avg user.

Freedom

With Fedora, free alternatives are chosen to proprietary code and content and limit the effects of proprietary or patent encumbered code on the Project. Releases that are predictable and 100% legally redistributable for everyone.

Reliability

The Fedora project serves as the base for RHEL and CentOS. So it needs to be mature, it needs to be stable. It's a very serious Linux desktop operating system used daily by millions of users and servers around the world. It needs to be reliable. Personally, I haven't read a glitch in the last 4 years using it, including updating my distribution 6 times from Fedora 24 to Fedora 30.

Cutting-Edge Software

As previously stated, First is one of the foundations of the Fedora Project. Even not being a rolling release, the Fedora repos are pretty up to date. My opinion is that it is the best mix without being a rolling release. And remember, you can always add different repos or install software trough universal Linux packages like Snap or FlatPak.



Software can be downloaded through the command line with DNF or using the nice GNOME Software tool.

Frequent Updates

Fedora updates are frequent. Sometimes, multiple times a week I get software upgrades covering security issues, performance, stability and even Kernel updates. It's also common to get multiple kernel updates per release. That usually means running a more mature, stable and secure kernel. It also means better performance and supported hardware too.

Custom Software Repositories

The amount of software available on the official Fedora repo is incredible. Probably everything that you need, you can find there. But if you're not covered for the package selection on the free/default repo, you still could make use of RPM Fusion to install software that doesn't adhere to Fedora's requirements.

Development of new Features

The Fedora community creates many of the technical features that have made Linux powerful, flexible, and usable for a wide spectrum of millions of users, administrators, and developers worldwide. In fact, this is the Missions and Foundations of the project:
The Fedora community prefers approaches that benefit the progress of free software in the future over those that emphasize short term ease of use.
Some of the features developed with Fedora include a new display system (Wayland), a new audio and video subsystem (PipeWire), doing application packaging through Flatpak, among many others.

Two upgrades per year

Because Fedora releases happen twice a year, you'll get big system updates (including Gnome, GCC and base libs) twice a year. It's the best way to have up to date software without the complexities and issues rolling release distros have.
Upgrading is as simple as 2 clicks on the Software app or 4 commands from the terminal.

Universal Linux Packages

You know you can install software using the package repos. Another option is using Snap or FlatPak. And installation is as simple as opening Software -> Searching and clicking install.

RHEL

Many people ignore this but another strong reason to use Fedora is because it's the incubator for RHEL, the leading Linux-based OS on servers. You'll be interacting with Yum/DNF, SystemD, SELinux, RH system directories, etc. Very useful knowledge if you intend to work with RH software.

Multiple Variants 

Don't like GNOME? Fedora also ships different spins including KDE, Xfce, LXQt, MATE, Cinnamon, LXDE and SoaS (Sugar on a Stick), available in both 64-bit and 32-bit versions. It has even an ARM release.

Fedora in some of its variants
You can also find on Labs, variants that are target to designers, astronomers, scientists and musicians.

Modularity

Modularity is an optional repository that ships additional versions of software on independent life cycles. The intent is to allow users to keep their operating system up-to-date while having the right version of an application for their use case, even when the default version in the distribution changes. Yes, it's still under development but signals how the efforts on the Fedora ecosystems are concentrated on innovation.

i3

Speaking of innovation, Fedora is a perfect distro to try new things. Tiling Window Managers for example. Currently, I'm using the i3 window manager and really like it (screenshot below). For more information check my blog post on why i3 is awesome, how to install it and why it will change the way you use your Linux desktop.
Source: http://orig09.deviantart.net/3f05/f/2016/177/d/9/gentoo_linux___i3_wm___by_irenicus09-da7obes.png


 Conclusion

Fedora is a very polished, stable and secure Linux-based OS. With all its variants, I'm pretty sure there will be something for everyone. If you have never used it, I would suggest that you try it, regardless of your technical background. If you use another distro, I would kindly recommend that you to try the latest Fedora release.

And if you love the Fedora distribution like me, don't hesitate sending a big thank you to the @Fedora community or under the hashtag #WeAreFedora on Twitter.

References

Fedora Appreciation Week
Announcing Fedora Core 1
Download Fedora
Fedora - Official Documentation
Fedora 29, hands-on: Installing and upgrading
Ask Fedora

See Also

How I fell in love with i3
Creating a Ubuntu Desktop instance on Azure
Windows Subsystem for Linux, the best way to learn Linux on Windows
Building and Running Asp.Net Core apps on Linux
Installing Docker on Linux

For other Fedora posts on this blog, please click here.