| |
@@ -0,0 +1,194 @@
|
| |
+ = Fedora Workstation PRD
|
| |
+
|
| |
+ *May 2022*
|
| |
+
|
| |
+ This document provides an overview of the goals and objectives of Fedora Workstation. It is intended to allow people to understand the role of Fedora Workstation and how it is likely to develop in future.
|
| |
+
|
| |
+ The Fedora Workstation PRD is primarily intended for other Fedora Project teams, contributors and stakeholders, so they can better understand Workstation’s role, goals and current priorities.
|
| |
+
|
| |
+ == Fedora Workstation Vision
|
| |
+
|
| |
+ Fedora Workstation envisions an open world where developers and creators can easily make new and exciting things with accessible digital platforms.
|
| |
+
|
| |
+ == Fedora Workstation Mission
|
| |
+
|
| |
+ Our mission is to continuously advance Fedora Workstation: to make it an ever more capable and powerful operating system for laptops and desktops, and to continually narrow the gap between it and the needs of its users. We aim to continually increase Workstation's capacity to help developers and creators, and to grow the Workstation user and contributor community.
|
| |
+
|
| |
+ == The Workstation Market
|
| |
+
|
| |
+ This section describes the audience for Fedora Workstation, our main pitch for that audience, and our main routes to market.
|
| |
+
|
| |
+ === Market opportunity
|
| |
+
|
| |
+ Laptop and desktop devices are at the heart of many creative areas, including software, multimedia, engineering, science, and design. In all these fields, a desktop computer is an essential tool. As such, the critical role of the desktop is firmly established in the market.
|
| |
+
|
| |
+ The desktop market also has important effects which are felt more widely. Desktops can help to popularize the technologies and ecosystems with which they are associated, and they can be a vehicle for communicating values, principles and practices.
|
| |
+
|
| |
+ Finally, desktop computers are an important gateway for people who are starting out in their personal journeys in computing, and are a powerful educational and learning tool. Many people remember the first time they installed a Linux operating system as a key moment in their lives. Fedora Workstation wants to be part of that experience, and to make it as good as it possibly can be.
|
| |
+
|
| |
+ ==== A desktop for developers and creators
|
| |
+
|
| |
+ Workstation's historical focus has been on developer use cases. In practical terms, this translates to:
|
| |
+
|
| |
+ * Availability of high quality developer tools, frameworks and platforms.
|
| |
+ * Fantastic command line experience.
|
| |
+ * Prioritization of desktop features which are particularly relevant to developers, including multi-monitor, VPN, and remote desktop.
|
| |
+ * A desktop experience which caters to developers, with features like keyboard-based app launching, window snapping, and a focus on distraction free computing.
|
| |
+ * Support for developer class hardware.
|
| |
+ * A high level of reliability and stability.
|
| |
+
|
| |
+ However, it should be stressed that developers also require other more basic desktop features and product qualities. Our focus on developers therefore does not compromise our goal to create a polished and user friendly system that appeals to a wide general audience. Many changes and improvements we implement for developers are equally beneficial to other user segments.
|
| |
+
|
| |
+ Most recently, we have expanded our goals to include other types of digital content creation, in addition to software developers. This expansion of the link:https://fedoraproject.org/wiki/Workstation/Workstation_PRD[initial Fedora Workstation goals] reflects our success in the developer space, and a desire to have broader aspirations.)
|
| |
+
|
| |
+ ==== Use cases
|
| |
+
|
| |
+ Broad user types that we are interested in include:
|
| |
+
|
| |
+ * Undergraduate and postgraduate students
|
| |
+ * Independent developers and content creators
|
| |
+ * Developers working in both large and small organizations
|
| |
+
|
| |
+ Activities that we are focused on supporting include:
|
| |
+
|
| |
+ * Student coursework for CS programs
|
| |
+ * Full stack software development
|
| |
+ * Game development — and playing games!
|
| |
+ * DevOps and systems administration
|
| |
+ * Podcasting and video streaming
|
| |
+
|
| |
+ === Why use Fedora Workstation
|
| |
+
|
| |
+ First and foremost, Fedora Workstation fulfills the most important, basic requirements that people have for a modern desktop operating system:
|
| |
+
|
| |
+ * can be relied upon to be usable whenever you need it, without bugs or software updates getting in your way
|
| |
+ * a large collection of applications and other software available to install
|
| |
+ * easy to use and learn, from the very first use or install, through to learning more advanced tasks
|
| |
+ * support for a wide range of high-quality hardware
|
| |
+ * fantastic user experience
|
| |
+
|
| |
+ Additionally, it has special qualities which are unique to Fedora:
|
| |
+
|
| |
+ * provides access to the latest and best open source software, including new cutting-edge features and technologies
|
| |
+ * a welcoming and supportive user community
|
| |
+ * part of the wider Fedora and Red Hat ecosystem
|
| |
+ * developed in the open, in collaboration with upstream projects and communities, following the open source way
|
| |
+
|
| |
+ === Go to market
|
| |
+
|
| |
+ Since our goal is to increase the number of people using Fedora Workstation, it is critical to ensure direct and effective routes to our target audiences. There are three primary routes to market.
|
| |
+
|
| |
+ ==== 1. Self-installation
|
| |
+
|
| |
+ Self-installation has been and continues to be our primary route to market. Here, the user installs and manages the system themselves.
|
| |
+
|
| |
+ Some requirements here:
|
| |
+
|
| |
+ * Attractive landing site and download page
|
| |
+ * Create install media from a variety of operating systems (via Fedora Media Writer)
|
| |
+ * Live media for testing and demos
|
| |
+ * Install alongside a pre existing OS (primarily Windows)
|
| |
+ * Easy access to help when questions arise
|
| |
+
|
| |
+ ==== 2. Preinstalled OS
|
| |
+
|
| |
+ Here, the operating system is installed by the hardware manufacturer prior to it being shipped to the user. The preinstallation route to market has been a significant focus for Workstation, that has delivered results through our partnership with Lenovo.
|
| |
+
|
| |
+ Requirements for manufacturer preinstallation include:
|
| |
+
|
| |
+ * Supporting the hardware that Fedora is preinstalled on (to be delivered in partnership with key hardware vendors)
|
| |
+ * Initial system setup should be compatible with OEM installation scenarios
|
| |
+ * Firmware updates for hardware shipped with Fedora
|
| |
+
|
| |
+ ==== 3. Managed deployments
|
| |
+
|
| |
+ In a managed deployment, the route to market is through organizations which choose to widely deploy and support Fedora. The OS is installed by an administrator, and aspects of the machine are monitored and administered by the organization.
|
| |
+
|
| |
+ Managed deployments are less developed than Workstation’s other routes to market and this route poses some challenges. However, it remains an important area that we continue to investigate.
|
| |
+
|
| |
+ Relevant features include:
|
| |
+
|
| |
+ * Initial system setup
|
| |
+ * Enterprise login
|
| |
+ * Remote auditing
|
| |
+ * Remote configuration and management
|
| |
+ * System customization for managed cases (for example, customized initial setup and Software categories)
|
| |
+
|
| |
+ == Fedora Workstation Objectives
|
| |
+
|
| |
+ This objectives section covers our operational activities in more detail, in pursuit of the broader ambitions described above.
|
| |
+
|
| |
+ In operational terms, Fedora Workstation’s main goals are to:
|
| |
+
|
| |
+ * Be a great developer workstation
|
| |
+ * Be a great general-purpose OS targeting laptops and desktops
|
| |
+ * Work well for content creation (podcasts, video streaming, etc)
|
| |
+
|
| |
+ Fedora Workstation has had a period of success and has been recognised for delivering a high-quality desktop with new and exciting features. As we move forward, we aim to continue on this upward trajectory by continuing to ensure quality and reliability, while pursuing technology and UX improvements.
|
| |
+
|
| |
+ Particular areas of interest include:
|
| |
+
|
| |
+ * Developer focused features
|
| |
+ * Growing the Fedora contributor community
|
| |
+ * Features and capabilities for content creation, such as podcasting and video streaming
|
| |
+ * Supporting managed Fedora Workstation deployments
|
| |
+ * Filling in outstanding missing pieces around hardware support, multimedia support, security features
|
| |
+ * Increasing the number of apps that are available to install out of the box
|
| |
+ * Enhanced marketing and mindshare
|
| |
+
|
| |
+ === Functional requirements
|
| |
+
|
| |
+ The following describes the features and product attributes that we believe are most important to Fedora Workstation’s success.
|
| |
+
|
| |
+ ==== Quality releases
|
| |
+
|
| |
+ We continually work to ensure that the core product offered is of the highest quality possible. This includes keeping the core test matrix as small as possible, using a high degree of testing automation, and collaborating with upstream projects to increase general test coverage of core modules. We work closely with Fedora QE and Release Engineering to ensure that Workstation releases are of consistently high quality.
|
| |
+
|
| |
+ ==== Robust upgrades
|
| |
+
|
| |
+ Because of the fast refreshes and relatively short life cycle of Fedora Linux releases, we need upgrades to be pain-free. Users should approach them without fear.
|
| |
+
|
| |
+ Upgrading the system multiple times through the upgrade process should give a result that is the same as an original install of Fedora Workstation. Upgrade should be a safe process that never leaves the system needing manual intervention.
|
| |
+
|
| |
+ If there are any problems with an upgrade or an upgrade breaks a configuration script, we want to offer an easy way for users to roll back such upgrades and changes.
|
| |
+
|
| |
+ ==== Broad application availability
|
| |
+
|
| |
+ Our goal is to provide easy access to common best in class desktop applications, including:
|
| |
+
|
| |
+ * general desktop apps for web browsing, music, cloud drives and chat
|
| |
+ * development tools, including IDEs, compilers, debugging and testing tools
|
| |
+ * content creation tools, such as multimedia recording and process, and image and video editing
|
| |
+
|
| |
+ Flatpak and the third party repositories are key initiatives towards this goal. We also aim to extend the availability of apps in the main Fedora repositories wherever possible.
|
| |
+
|
| |
+ ==== Platform integration
|
| |
+
|
| |
+ Software installed by default in Fedora Workstation should integrate with other platform components and adhere to the overall vision for Fedora Workstation. Software is expected to support Wayland and follow the GNOME Human Interface Guidelines. Exceptions to this should be rare.
|
| |
+
|
| |
+ ==== Accessibility
|
| |
+
|
| |
+ From installing to using the Fedora Workstation, users with special needs shouldn’t be presented with any obstacles and have a pleasant experience.
|
| |
+
|
| |
+ ==== Virtual machine and container experience
|
| |
+
|
| |
+ We aim to provide a first class experience for containers and virtual machines, including:
|
| |
+
|
| |
+ * Availability of container tools, including Podman, Skopeo, Buildah and OpenShift.
|
| |
+ * High quality, easy to use, virtual machine tooling, through GNOME Boxes.
|
| |
+ * High quality container development experience, including desktop integration for containers, and availability of OpenShift tooling and integrations (for example, the OpenShift VS Code plugin).
|
| |
+
|
| |
+ ==== Encapsulation of development environments (Toolbx)
|
| |
+
|
| |
+ It should be possible to target deployment environments that are different from the operating system itself. An upgrade to a newer version of Fedora Workstation should not mean that a coding project needs to be modified to work with new versions of libraries and runtimes.
|
| |
+
|
| |
+ ==== Support multimedia use cases
|
| |
+
|
| |
+ * Available applications to record and stream audio and video
|
| |
+ * Support for AV equipment
|
| |
+ * OS support for high dynamic range (primarily of interest to those doing image and video editing)
|
| |
+ * Hardware acceleration for video encoding
|
| |
+
|
| |
+ ==== Documentation
|
| |
+
|
| |
+ Users and administrators should be able to find information about how to use and manage their operating system on the system itself (offline through GNOME Help, manual pages and others) as well as on Fedora Project websites.
|
| |
This adds the existing docs from https://pagure.io/fedora-workstation/workstation-docs/ , plus an additional new set of workstation user docs.
If we merge this, then the workstation-docs repo will need to be retired.