The Fedora Project
Red Hat Linux was released every 6 months and was even available at Best Buy. After several releases, it began to have large enterprise customers, partly thanks to the monopoly lawsuit suffered by Microsoft around 2000, but it did not have a defined support cycle to meet these customers’ needs. The company realized that they were trying to develop their product on two different fronts – on the one hand, looking for the stability required by the industry, while on the other hand, looking for innovation using the latest open source developments.
Thus, they opted to split their efforts into two fundamentally separate entities – Red Hat Enterprise Linux (RHEL) and the Fedora Project – each of which addressed its own problems as best it could.
For RHEL, the job was to make it a solid, stable platform that its customers and partners could count on for 5 to 7-year support cycles. Red Hat first offered an enterprise Linux support subscription for Red Hat Linux 6.1. This was not a standalone product; rather, the subscription offering was called Red Hat 6.2E. Subsequently, Red Hat began building a standalone product with commercial service-level agreements and a longer life cycle based on Red Hat Linux.
Fedora Linux is developed by the Fedora Project (originally named Fedora.us) and sponsored by Red Hat. It follows its own release schedule, with a new version every 6 months (in April and October). Fedora provides a modern Linux operating system that uses many of the latest technologies.
To create a new version of RHEL, most development happens in upstream projects. This new version is then integrated into Fedora Linux, with additional “productization” happening in CentOS Stream, which becomes RHEL.
This process, known as Red Hat’s contribution path, is important to delve into to understand the distribution’s development flow. It will also help us understand the importance of the distribution in that flow.
The Red Hat contribution path
In December 2020, Red Hat announced the discontinuation of the development of the CentOS Project, a project it had sponsored since 2014 and which, in its version 2 of 2004, was forked from RHEL 2.1AS, which from that moment on was integrated as CentOS Stream, to the RHEL development contribution path.
The development of RHEL starts in community projects, where the latest and most innovative technologies in the industry are developed. Fedora’s role is to take these technologies and adapt them in each new release of the distribution.
Every 3 years, a new major version of RHEL is released. When the next major release of RHEL is about 1 year away, these innovations reach an optimal level of development, fueled by feedback between Fedora Project developers and integrators and independent software and hardware vendors, providing the stability required by the industry. CentOS Stream then branches from Fedora Linux. The CentOS Stream code becomes the next release of RHEL, meaning that users can contribute to the product and test their workloads before it is released. This becomes a continuous integration of RHEL development, thus shortening the feedback loop that should be considered in future RHEL releases.
The following figure shows this flow:
Figure 1.2 – The Red Hat contribution path
The role of Fedora Linux is essential in the development of RHEL, as described previously, but Fedora Linux is a usable operating system in its own right, with the most modern and innovative tools in the industry. As a side result, it is also widely used in enterprise environments to manage RHEL-based systems. This is due to the facilities provided by the Red Hat contribution path, described above.
Fedora’s mission and foundations
The Fedora Project works to build a free and open source software platform that collaborates and shares end user-focused solutions.
Since the Fedora community includes thousands of individuals with different views and approaches, they base their cooperativeness on what they call the four foundations:
Figure 1.3 – The four foundations of Fedora
Let’s look at them in detail:
- Freedom
“We are dedicated to free software and content.”
(https://docs.fedoraproject.org/en-US/project/)
The goal is to produce a usable operating system that includes only free software. Avoid proprietary or patented content and use free alternatives that allow you to provide a distribution that can bring the most innovative software to everyone so that anyone can use it, legally.
- Friends
“We are a strong, caring community.”
(https://docs.fedoraproject.org/en-US/project/)
The Fedora community is multidisciplinary and diverse with a common goal: pushing free software forward. Anyone who wants to help, regardless of their skills, can have a place in the community, a friendly and collaborative environment, so long as they believe in its core values.
- Features
“We care about excellent software.”
(https://docs.fedoraproject.org/en-US/project/)
Many of the features that have empowered Linux come from the Fedora community, making it flexible and useful for many people around the world. The Fedora community is a fervent believer in free software development, whether it’s used or not in the distribution. It allows features to be developed clearly and transparently, making them available to anyone who wants to take part in the distribution.
- First
“We are committed to innovation.”
(https://docs.fedoraproject.org/en-US/project/)
The Fedora Project offers the latest in stable and robust free software and is a platform that showcases the future of operating system usage. It advances such software to demonstrate collaborative technical progress. Fedora always thinks about providing for the future before anything else.
Besides these four foundations, the Fedora Project has a very clear vision and mission.
Vision
(https://docs.fedoraproject.org/en-US/project/#_our_vision)
Fedora’s vision follows the precepts of the GNU Project, where the benefit of using free and open source software extends to all those who need to use it, in a way that is inclusive of all communities and open to all possibilities.
Mission
(https://docs.fedoraproject.org/en-US/project/#_our_mission)
Fedora’s mission focuses on innovating and adapting technology on existing and future platforms for solutions that enhance the end user experience.
Contributing to the project
The Fedora community contributes to building and developing free and open source software and making advances of importance to the community in general. It quickly and regularly incorporates these advances into the distribution or even into other GNU/Linux distributions. Fedora integrates the free and open source approach and ease of use in the short term.
Software development not only involves programmers – it also requires designers, artists, writers, speakers, translators, system administrators, and others. Coordinating all this effort requires leadership throughout the community, which allows for decision-making without excessive dragging.
Important
You don’t have to be a contributor to use Fedora Linux. In the following chapters, you will learn how to use Fedora Linux for system administration. But, if you want to contribute to the project, here’s how!
The leadership of the project is provided by the Fedora Council, which is made up of eight positions, two of which are held by elected community contributors. Besides the council, there are several leadership groups:
- Fedora Engineering Steering Committee (FESCo): Manages the technical features of the Fedora distribution and specific implementations of the policy in the Fedora Project.
- Fedora Mindshare Committee: Represents leadership for user and contributor community growth and support.
Besides working groups, where various editions of the distribution are developed, such as Workstation, Server, IoT, Cloud, and CoreOS, some subprojects develop opportunity areas under the Fedora model. There are also other interest groups (SIGs) that are more informal, where they adopt a framework or lightweight desktop for the distribution.
Code of Conduct
Fedora aims for the best interaction between its collaborators and members of its community through a set of guidelines contained in a document known as the Code of Conduct, whose decisions are applied using all the information and context available in pursuit of having the best environment for its members. It does not intend to restrict expressions or penalize any member of the community; it only details the type of behavior that is considered acceptable or unacceptable.
Note
For the full Code of Conduct, refer to the Fedora Docs at https://docs.fedoraproject.org/en-US/project/code-of-conduct/.
Getting started with Fedora
To contribute to the Fedora Project, follow these steps:
- The first step is to create a user account at https://accounts.fedoraproject.org/:
Figure 1.4 – Fedora Accounts
- After filling out the registration form, the system will ask you to verify the registered email address:
Figure 1.5 – Fedora Accounts – Account creation
- Upon clicking on the link you received via mail, the system will ask you to create a password:
Figure 1.6 – Fedora Accounts – set password
- Once you’ve accessed your profile, click on the Agreements tab to sign the Fedora Project Contributor Agreement document:
Figure 1.7 – Fedora Accounts – profile settings
- Click on the Sign button to sign the agreement:
Figure 1.8 – Fedora Accounts – Fedora Project Contributor Agreement
After signing the agreement, continue to the profile configuration area and join a development or collaboration group of interest.
If needed, Fedora provides an online tool at https://whatcanidoforfedora.org/ that guides you to the appropriate group(s) that match your interests, based on the questions you ask:
Figure 1.9 – What can I do for Fedora?
Note
This page, although very useful for a first approach, is already deprecated by the documentation of the project. For further reference, please refer to a group of interest (SIG) at https://docs.fedoraproject.org/en-US/project/join/.
Now that we know how to contribute to the Fedora project, let’s learn how to use the distribution to administrate Linux-based systems.
Fedora as a system administration tool
Using Fedora Linux as the main distribution, in work or study, also supports the development of the Fedora Project, as an end user. You can contribute with feedback on the use of the tools and services included in the distribution, and also take advantage of these innovations to become more productive and efficient in day-to-day activities.
One of the most important activities in the IT industry is system administration, where the main responsibility is to maintain, configure, and ensure the reliable operation of computer systems, especially multi-user computers such as servers. The system administrator tries to ensure that the uptime, performance, resources, and security of the computers that are managed meet the needs of the users, without exceeding a set target budget during this process.
Managing Linux systems using a Linux workstation provides many advantages that lead to a high level of efficiency and productivity since, from the host operating system, you can automate tasks or perform functional tests based on an operating system, such as the one being managed.
Fedora, given its privileged position within the contributory development of RHEL, becomes a highly profitable tool in the administration of similar platforms, such as its variants (CentOS Stream, Rocky, and AlmaLinux), as well as any distribution that uses rpm
packages.
At the same time, when using this approach for Linux system administration, it is possible to contribute to the development of the distribution since continuously testing the platform and its various packages and projects within it takes place here.
So, if you wish to use Fedora Linux to manage Linux-based systems, you could support the Fedora Project by reporting unexpected behaviors or contributing to the improvement of system performance. This includes making suggestions for new features. Before reporting a bug, it is recommended to consult the Ask Fedora website at https://ask.fedoraproject.org/, the community support forum, in case this unexpected behavior has occurred before:
Figure 1.10 – Ask Fedora
Note
For more information on how to file a bug, refer to the Fedora Docs at https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/.
Before we customize the distribution as our system administration workstation, let’s review how to use our main tool.