Hold on to your (red) hats. Fedora 22, the next iteration of the "move fast and break things" version of Linux sponsored by Red Hat, is set to arrive on May 19. After the multiple editions introduced in the previous Fedora, what's in store this time?
The answer lies with the proposals received by the Fedora Engineering and Steering Committee (FESCo), whose deadline for proposed changes passed last week. Here are some of the more notable and head-turning proposals for Fedora 22 that seem most likely to make it to the final product.
Systemd, the proposed replacement for Linux's sysvinit startup module, has sparked controversy left and right due to its monolithic design. Schisms in the Linux community have erupted over its use, but Red Hat appears to be firmly in the "yes" camp, having added systemd to RHEL 7.
But even Red Hat seems to recognize there are limits to the functionality that can be stuffed into systemd. Among the pending proposals, one suggests splitting the systemd-units subpackages into their own item, reducing the size of the installation footprint for minimal builds. Keeping Fedora -- and by extension Red Hat -- on the leaner side is part of the mission for the Cloud edition of Fedora and might be a good objective for any version of Fedora.
Another recently added systemd feature, the ability to pull down and locally install container images, might spark introspection along the same lines. On the one hand, the feature could be useful in the ongoing push to make Fedora and RHEL more Docker-centric; on the other hand, it might be further evidence of systemd's excess.
Python 3 by default
In theory, Python 3 is the better of the two Pythons -- if only because it has a guaranteed future. In practice, the sheer size of the Python 2 user base and application-dependency base has made it tough for Python 3 to gain much ground.
Here, the idea isn't only to provide Python 3 as the default Python interpreter for Fedora 22; software packages within Fedora bearing Python dependencies (such as Anaconda) should also use Python 3. From this point of view, little within Fedora itself will block this move, since most Python-dependent applications already use Python 3 or can be converted to it with minimal effort. Also, any future Python-dependent projects for Fedora will be built for Python 3 by default. For applications that need it, Python 2 will be available through Fedora's repositories.
DNF, the new installer
Yum is the package manager/installer for Fedora, but a new installer, Dandified Yum (DNF), is set to replace Yum in Fedora 22. DNF's advantages include being "built on modern [dependency-solving] technology allowing for faster and less memory-intensive operation," and a full Python API that works with both Python 2 and Python 3.
For those hung up on Yum, it can run side by side with DNF. Work on DNF as a replacement has been in the works since 2012, with an experimental version available since Fedora 18. By now, Fedora is confident that DNF can replace Yum completely.
A new database server role
The most recent version of Fedora provided three editions of the project for different workloads: workstations, servers, and cloud deployment. In addition, Fedora introduced the notion of roles, one-click installations for all the components needed in a given server, along with tools for building the roles. One previously proposed role was a domain controller that uses FreeIPA to interoperate with Microsoft Active Directory.
Another proposed role applies to databases -- one to deploy a PostgreSQL-powered database server that can function as a primary or replica server. Also under the scope of the proposal is the creation of a plug-in for D-Bus as part of the role's deployment and monitoring functionality.
Gradle, the Java build system favored by Google for Android, is under consideration for Fedora 22. But the Fedora team's ambitions for Gradle extend beyond providing it for developers; Fedora also wants to use Gradle to build Fedora packages. The benefit lies in the automation; developers generating RPM packages for Fedora can leverage Gradle for the work.
Fedora Atomic Host
With Project Atomic, Red Hat devised a standard pattern for using a lean-and-mean version of its OS as a deployment system for Docker containers. Previously, Fedora implemented the Project Atomic pattern as a Docker host for the cloud.
The next version will allow Fedora Atomic Host to be deployed to a slew of other targets: specific cloud providers (EC2, Google Compute Engine, and generic OpenStack deployments); LiveOS images that can be booted via PXE on diskless systems; and any bare metal, by way of Fedora's Anaconda installer.