Tuesday, November 6, 2018

Thank You, Fedora


Today, it's Fedora's 15th anniversary. To celebrate this date, the Fedora Community Operations Team organized the Fedora Appreciation Week (FAW). It happens on the week of November 6th to coincide with the announcement of the project 15 years ago.

This week-long event celebrates the efforts of the Fedora contributors and is and opportunity to share our thank you with the team. Appreciation can be an IRC message, a message on a mailing list, Fedora Happiness Packets or a blog post.

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, program managers 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, Visual Studio Code, git, Firefox and the dotnet cli cover pretty much everything that I do.

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-based OS used by millions of users and servers and it needs to be reliable. I haven't read a glitch in the last 3 years.

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 or using the nice Software tool.

Frequent Software and Kernel 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 

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

We also have access to the new Modularity optional repository that ships additional versions of software on independent life cycles. This way users can 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.

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 Fedora 29.

And please, join me sending a thank you to the @Fedora community under the hashtag #WeAreFedora on this Fedora Appreciation Week.

See Also

Building and Running Asp.Net Core apps on Linux
Installing Docker on Linux
Running RavenDB on Docker

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

References

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