Update: This proposal has now been put into action.
Hi everyone, this is a proposed change for Fedora Release Criteria. It is related to a wide set of changes that Fedora Quality team need to perform this cycle, which are summarized here, so please feel free to read that for more background information and general overview, thanks.
Proposal: No longer consider basic functionality of all apps on the Workstation x86_64 image to be release-blocking. Instead, make the requirement exactly the same for all release-blocking desktops, i.e. basic functionality of just selected apps would be considered release-blocking equally everywhere.
You can see the current release criterion here, and (expand the footnotes sections) it reads:
For all release-blocking desktop / arch combinations, the following applications must start successfully and withstand a basic functionality test:
- web browser
- file manager
- package manager
- image viewer
- document viewer
- text editor
- archive manager
- terminal emulator
- problem reporter
- help viewer
- system settings
Basic functionality means that the app must at least be broadly capable of its most basic expected operations, and that it must not crash without user intervention or with only basic user intervention.
Additionally, for Fedora Workstation on the x86_64 architecture, all applications installed by default which can be launched from the Activities menu must meet this requirement.
Under this proposal, the last sentence would be dropped. That means that only the apps in the list would be release-blocking (their basic functionality, to be precise) on release-blocking desktops, regardless of the Edition/architecture/etc.
There are multiple long-standing issues with this criterion as currently written:
- It’s one of the most heavily contested criteria during blocker reviews. That stems from the fact that we haven’t found a way to define “basic functionality” clearly and consistently across multiple applications. People then argue whether e.g. drag&drop is a basic functionality of a file manager, or working alarm chime a basic functionality of a clock app, or image cropping a basic functionality of a photo manager. Of course the bugs are often more nuanced, often happening only under certain conditions (which might or might not be frequent use cases). This is compounded by the fact that these bugs are often found in less pronounced applications, like gnome-maps, gnome-contacts, gnome-calendar, and others. Many then feel that while the bug indeed is affecting a basic functionality of said app, it doesn’t feel serious enough to block the whole Fedora release. These discussions get difficult and long.
- The amount of time required to perform the testing is very high. Even basic functionality testing can take a long time, when there’s a long setup phase, e.g. you need to connect some online accounts, prepare some local data set like a photo or music collection, have a remote system to connect to, etc. Because basic functionality is just vaguely defined, you need to test more rather than less, and some applications have a lot of functionality. Testers avoid doing this test case, because it’s very time consuming and complex.
- Frequently, bugs in these extra applications (on top of the basic list) are discovered very close to the Final release, because of the associated issues and time requirements. That makes the whole process frustrating for both quality testers and developers, because both are then under pressure to report, fix, and verify the issues extremely fast. This causes pre-release crunch or release slips.
- Automating these tests via openQA is desirable due to point 2 above, but is a heavy task in itself and takes up time we could arguably more profitably spend on other work. Even once done, these tests require quite a lot of maintenance as they break when the app changes behavior (e.g. the Calculator app’s button layout changing in GNOME 49) or font rendering, GTK button rendering etc. change.
By reducing the scope on Workstation x86_64 from all apps to selected apps, we will reduce the likelihood of long blocker arguments, pre-release crunches and stress. The quality of these apps might be affected, but those are less critical apps. The most important apps, as defined in the list, will still continue to have full coverage and their blocker status unaffected.
Originally, we covered all apps mostly because occasionally some Fedora reviewer found a broken app and complained (even if it was fixed promptly, it persisted in the review). However, we question whether the current approach is worth the benefit, and more importantly, we currently lack the manpower to test all the apps.
Important note: If you’re not very familiar with the release criteria process, please read this. Reducing a release criterion doesn’t mean breaking the apps. This change doesn’t mean that all apps except those listed will suddenly be released broken in the next Fedora release. The difference is that if a problem is found, it will not be considered critical enough to block the release of the next upcoming Fedora. Instead, it will be resolved as any other standard bug (which are resolved every day, as you can see in a continuous stream of Fedora updates coming to your system regularly).