3rd Party Software in Fedora Workstation
Technical details
Fedora Workstation currently make available a long range of software packaged for Fedora by the Fedora community. To broaden the selection of available software and allow upstream developers more control of the software offered to their users on Fedora we want to make it easier to find and enable the use of 3rd party software under Fedora. 3rd party software in this context is any software not hosted on Fedoras infrastructure.
The initial setup for this feature will be based around RPMs and yum respositories, but long term as we move towards application bundles and sandboxed applications we expect most of these 3rd party applications to be using those instead of the RPM model.
The current implementation require yum .repo files for any 3rd party respository you want to search for software in to be available on the system, but the repositories will not be enabled default. By having these non-enabled .repo files there GNOME Software will be able to search the repositories for metadata and display them in the search results. If a users chose software from a 3rd party source they will be asked explicitly if they want to enable this 3rd party repository and informed that Fedora makes no promises, support or guarantees about 3rd party software. There is a default upstream message, but we will be able to replace that with a custom Fedora text tailored to our needs.
The 3rd party repositories will need to be a curated list to avoid including stuff that provides an undue legal liability for Fedora and/or Red Hat. That said we don't want this to be a list seen as a recommendation or 'approved by' Fedora, so we will need to establish objective criteria for what can go on it. We also need to work with Fedora legal to figure out some guidelines for what kind of stuff can be just added and what would need some kind of review from legal before we can add it.
Initial implementation
To get some experience and hash out the technical details we will start with 4 pilot applications in Fedora 22. The four applications we plan on starting with are Chrome, Steam, PyCharm and OpenH264. They represent a nice range of challenges and thus should be useful for figuring out how things needs to work from both a technical and procedual viewpoint.
How is this different from previous proposals? One major change here is that this proposal is very concrete, including having screenshots available showcasing the process. Combined with adding a clear extra step for these 3rd party applications to make a clear distinction by software build and packaged by Fedora, which follows all of our rules and guidelines, and software provided by other parties which do not necesarilly follow such rules.