The Fedora Project on Tuesday announced the general availability of Fedora 28, which introduces a new software delivery system based on a modular repository.
The new system provides alternative versions of the software and updates that come with the default release, according to Fedora Project Leader Matthew Miller. It enables users to update specific components at the speed that meets their needs. Modularity gives users more control over their computing environments.
Fedora Linux is the free community version of Red Hat Enterprise Linux, or RHEL. Fedora 28 continues the strategy of releasing three versions — built from a common set of base packages — that target different user bases. They are Fedora 28 Server, Fedora 26 Workstation and Fedora 28 Atomic Host.
“The Fedora Project is one of the most important validation platforms for Red Hat Linux,” said Rob Enderle, principal analyst at the Enderle Group.
“The modularity of the effort makes it uniquely capable of providing the right capability needed for the specific purpose through enhanced control for its users,” he told LinuxInsider.
Upgrade Highlights
All editions of Fedora 28 feature numerous bug fixes and performance tweaks as well as new and enhanced additions. The Fedora 28 base package offers updated compilers and languages, including the latest version of the GNU Compiler Collection (GCC) 8, Golang 1.10 and Ruby 2.5.
All three Fedora 28 editions also bring improvements to Virtualbox guest support. They simplify the user experience in running Fedora 28 as a Virtualbox guest on other operating systems.
“The Fedora Project’s mission is to bring leading-edge innovation to our users, and Fedora 28 delivers on that through the addition of some of the latest open source technologies, including GNOME 3.28 and Kubernetes 1.9,” the Fedora Project’s Miller said.
Fedora Spins the Options
Fedora is a large project that does not fit into a one-size-fits-all Linux distribution. Having different editions allows the project to target the needs of different user groups.
“That’s why we have the Fedora Editions, which are focused at various particular user audiences, as well as our various Labs and Spins, which address niches not covered by those,” Miller told LinuxInsider.
In addition, Fedora 28 offers Spins, or alternative desktops, that target specific use cases. Among them are KDE Plasma and Xfce Desktop and Labs.
For example, a popular Lab edition is the Python Classroom Lab, which provides an easy, out-of-the-box environment for teaching the Pyton programming language. Another option is the Robotics Suite, which routinely has been used to win world-class robotic soccer competitions.
New Workstation Tools
The latest version of Fedora’s desktop-focused edition includes new tools and features for general users. Fedora 28 Workstation also upgrades users to GNOME 3.28. The latest GNOME version adds the capability to set favorite files, folders and contacts for easier organization and access.
Fedora Workstation is designed to be the best desktop environment for software developers, from students to startups to enterprise developers. While it provides polish for general users, the target for features and UI decisions is developers, Miller said.
The new Application Usage tool provides a technology preview to help users diagnose and resolve performance and capacity issues more easily. Fedora Workstation 28 also introduces GNOME Photos as the default photo management application, providing a simple application for viewing, browsing and organizing photos.
Additional enhancements include Thunderbolt 3 connection support and improved emoji support. Active-by-default power saving features improve laptop battery life.
Fedora 28 Server
The Fedora 28 Server edition’s most significant addition is the new modularity initiative. Modularity is an important component for programming stacks and database instances, giving administrators more choices among software versions they can deploy and support.
Fedora Server delivers enhancements to the more traditional Linux server, such as new approaches like Modularity.
Additionally, Fedora 28 Server includes support for AArch64 as a primary architecture. It provides an additional operating system option for systems administrators considering emerging hardware technologies.
Fedora 28 Atomic Host
Fedora Atomic Host is designed to provide a minimal footprint operating platform. This makes it a well-suited option for running containerized workloads across various footprints, including the public cloud.
It lets users run the image-based all-in-one-containers approach that Atomic Host is designed to handle.
Available with a two-week refresh schedule, Fedora Atomic Host includes a base image for creating virtual machines, an Atomic Host image for creating container deployment hosts, and base container images to leverage as a starting point for Fedora-based containerized applications.
New for Fedora 28 Atomic Host is the inclusion of Kubernetes 1.9. This version adds numerous innovative features for orchestrating container-native workloads.
Modularity Explained
The Fedora team’s goal is to keep the bundled software in each release very close to the current software release. For example, the latest version of the Django Web framework is 2.0, and that is the default version in Fedora 28.
One concern due to Fedora’s rapid life cycle is that users may lack continuity from one release to the next. Some specific software stacks must update more slowly.
On other enterprise-focused distributions with a slower lifecycle, modularity could be used to help address the opposite problem. Modularity makes newer software available when the base operating system has a lifetime of a decade or more, Miller said.
In the case of running Django Web framework, a lot of software still depends on 1.6. If you should need that, the only options would be to run an old, out-of-date Fedora OS version that would not get security updates or not use Fedora at all, Miller explained.
The modular repo is a collection of software with alternate versions, he added. Fedora 28 includes the Django 1.6 version. So, you can use the “dnf module” commands to select that version on systems if needed.
Different Approach
Modularity in Fedora 28 is an enhancement to the existing package management system and is implemented as an extension to DNF. The key thing is that it lets you select different streams of available software.
Once you have done that, installations and updates to packages stay within the stream you have selected. So, Django 1.6 won’t update to 2.0 without a manual switch, according to Miller.
“From a user perspective, this is not a whole new way of doing things, like the switch to containers might be. It is just the package manager getting smarter about handling different versions of the same thing,” he said.
Not a Snapcraft Alternative
“Users need more flexibility, and we want to provide that to them,” Miller said. “There are other ways to package up software so different versions can coexist, but they tend to have a lot of overhead on our side, and be somewhat complicated from a user perspective. Modularity makes both of those things easier.”
Fedora does support the Snapcraft process of delivering rapid software updates via snap packages, he said. However, Fedora’s modularity approach is different from snaps.
“It is more comparable to the Amazon Linux Extras Repository, which is another — albeit rudimentary — way of providing alternate versions of software,” Miller added.
“Modules can provide a source of software that could be used to build OCI/Docker containers, Flatpaks, or Snaps,” explained Miller. “This is one of the reasons we have chosen building blocks as part of the new logo for Fedora Server.”