The user base of Fedora has many aspects. Many people who contribute to Fedora representative of only a small cross-section of this user base. Fedora contributors understand that, while they are valued and important as Fedora community members, they may not be representative of a very large class of users who may find free software serves their needs as well. By understanding the nature of this larger class we can make good decisions about how to make Fedora work well for as many people as possible, including ourselves.
The Board considers these aspects applicable to the work of the entire Fedora Project. The following sections describe the characteristics of this large class of users, and the Board will encourage process changes where appropriate to ensure we are meeting the needs of as many members of this class as possible.
You may find yourself fitting into one or more of these categories, in which case, welcome to our user base.
Voluntary Linux consumer
We expect that a large number of people are switching to a Linux operating system by choice. They may do so for any of a number of reasons, including:
- Recommendations from people they know
- Free of cost
- Liberal software licensing
- Availability of high-quality software
- Free and open source ideals
- Desire to join a community
The processes of our community in producing a Fedora release, including the way we conduct its lifecycle, should not disappoint users against these expectations. Because the user is switching voluntarily, we can also expect that the user may voluntarily switch away to something else if disappointed by the experience of running Fedora. We can also expect users who switch away to change their recommendations to others, which over time is detrimental to our Project. We endeavor to maximize the reasons for switching to Fedora, and minimize the reasons for switching away from Fedora, within the confines of our core values.
Our community is made up of people, by and large, who are very tech savvy. The longer people have been involved in the Fedora community, typically the more expertise they accrue on Linux and specifically Fedora. However, our user base does not necessarily share this level of expertise.
Users can be expected to be comfortable with installing an operating system, which means they have skills and knowledge that allows them to perform simple tasks including:
- Locate and identify system components
- Download and save files
- Locate existing software to write optical or USB media
- Boot their system to alternative optical or USB media
- Follow instructions and prompts
- Launch and use a web browser to read information
Users cannot be expected to have certain skills and knowledge that many Fedora contributors have, including:
- Know the technical dictionary or jargon used by Fedora contributors
- Understand operating system internals
- Know how programs and libraries are related or interact
- Evaluate new releases of existing software without context
- Mitigate unexpected changes in existing software
- Debug software crashes
- Diagnose system hardware problems
- Understand command-line interaction with the system
- Know file-level system configuration practices
This does not mean that users are incapable of learning these skills. In fact, part of the process of becoming a collaborator and contributor is acquiring them. However, we cannot assume that a user already possesses these skills. We assume the software we propagate to users has no context to them other than they may use it.
In the unlikely event of broken software or user experience, we expect a user to be willing to remedy the problem. However, the steps they take to find a remedy are not those of an experienced contributor. A user is not expected to automatically understand our software building, testing, and shipping processes. It is the Fedora Project's responsibility to put tools in the user's hands that allow them to effectively begin the collaboration process. Some things users are not expected to do prior to beginning to collaborate include:
- Monitor Fedora communication channels such as IRC and mailing lists
- Understand how to effectively search bug trackers such as Bugzilla
- Know where to find software for testing
- Understand how to select or install testing software
A user can be expected to take steps such as:
- Perform a search on the Web to find similar problems and resolution
- Send email to ask about a problem
- Consult a web-based forum to seek answers
To encourage collaboration and contribution, the Fedora Project should make tools and information available to the user allowing them to quantify their problem and relay that information as needed. If we provide this information, we can reasonably expect the user to:
- Post information about the issue
- Deliver additional information if asked and given directions
- Iteratively try solutions and give feedback
Any user should be afforded broad opportunities to help solve any problem. We cannot exhaustively pursue users who choose not to participate in this way, after we have delivered helpful and appropriate tools and opportunities to do so. Fedora leadership and contributors should consistently seek out ways to expand these opportunities.
General productivity user
We expect the majority of users to be interested in a set of general productivity tasks. These tasks are usually non-technical in nature and involve communication and the creation, storage, location, and viewing of content. They are common to both novice and experts alike, and the Fedora Project should deliver a platform that allows users to engage in these tasks without interruption or disruption. Processes that interrupt or disrupt the user while engaging in these tasks should be minimized, and if possible, eliminated. These tasks include:
- Logging in to the system
- Navigating local resources
- Browsing the web
- Creating, storing, and viewing a variety of functional documents
- Locating and viewing/playing media
- Sending and receiving email
- Communicating via messaging
Users can reasonably expect to have a substantially different experience after installing a specific Fedora release than in an older Fedora release or another operating system entirely. Users expect that for the lifecycle of that operating system that they are afforded updates that fix specific problems and protect the security of their system. Users should not expect to have their environment change substantially as a result of those updates, other than to resolve specific bugs.
While it is an objective of Fedora to remain close to upstream releases, that objective does not imply that a stable release of Fedora should track all upstream changes with significant updates to user environments. Changes of this nature disrupt the user's accustomed environment and encourage users to doubt the stability of the system and the Fedora Project's ability to manage it.
- The user may not know technical terms, however, to perform an effective search.