From Fedora Project Wiki
(Initial draft)
 
(Mostly style edits, a little clarification)
Line 1: Line 1:


= 3rd Party Software in Fedora Workstation =
= Third-Party Software in Fedora Workstation =


'''Technical details'''
== 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
Fedora Workstation currently makes available a wide range of software packaged for Fedora by the Fedora community. To broaden the selection of available software, and allow upstream developers more control of software offered to their users on Fedora, we want to make it easier to find and enable the use of third-party software under Fedora. Third-party software in this context is any software not hosted on Fedora's infrastructure.
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
The initial setup for this feature is based around RPMs and yum respositories.  However, as we move towards application bundles and sandboxed applications in the long term, we expect most third-party applications to be using those delivery methods instead of RPM packages.
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 current implementation require yum .repo files for any searchable third-party respository to be available on the system. The repositories are ''disabled by default.'' With these disabled .repo files, GNOME Software can search the repositories for metadata and display them in search results. If a user chooses software from a third-party source, he is asked explicitly if he wants to enable the third-party repository. The dialog indicates that Fedora does not supply, promise support for, or guarantee third-party software. There is a default upstream message, but we can replace it in the Fedora package with custom text tailored to Fedora and approved by the appropriate body.


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
The third-party repositories need to be a curated list, to avoid including material that creates an undue legal liability for Fedora and Red Hat. That said, this list should not be seen as an official Fedora recommendation or approval. Therefore we need to establish objective criteria for what can go on it. We also need to work with Fedora Legal to create guidelines for what material can be simply added, and what material needs further legal review before addition.
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'''
== 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.
To get some experience and hash out technical details, we will start with four pilot applications in Fedora 22: Chrome, Steam, PyCharm and OpenH264. They represent a range of options in terms of licensing and distribution, and thus should be useful for figuring out how things work from both technical and procedual viewpoints.


How is this different from previous proposals?
== 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.
 
One major change is that this proposal is concrete, including screenshots to showcase the process. Combined with adding notification for these third-party applications to clearly distinguish between software built and packaged by Fedora which follows all of our rules and guidelines, and software provided by third parties which do not necessarily adhere the same way.

Revision as of 18:23, 29 January 2015

Third-Party Software in Fedora Workstation

Technical details

Fedora Workstation currently makes available a wide range of software packaged for Fedora by the Fedora community. To broaden the selection of available software, and allow upstream developers more control of software offered to their users on Fedora, we want to make it easier to find and enable the use of third-party software under Fedora. Third-party software in this context is any software not hosted on Fedora's infrastructure.

The initial setup for this feature is based around RPMs and yum respositories. However, as we move towards application bundles and sandboxed applications in the long term, we expect most third-party applications to be using those delivery methods instead of RPM packages.

The current implementation require yum .repo files for any searchable third-party respository to be available on the system. The repositories are disabled by default. With these disabled .repo files, GNOME Software can search the repositories for metadata and display them in search results. If a user chooses software from a third-party source, he is asked explicitly if he wants to enable the third-party repository. The dialog indicates that Fedora does not supply, promise support for, or guarantee third-party software. There is a default upstream message, but we can replace it in the Fedora package with custom text tailored to Fedora and approved by the appropriate body.

The third-party repositories need to be a curated list, to avoid including material that creates an undue legal liability for Fedora and Red Hat. That said, this list should not be seen as an official Fedora recommendation or approval. Therefore we need to establish objective criteria for what can go on it. We also need to work with Fedora Legal to create guidelines for what material can be simply added, and what material needs further legal review before addition.

Initial implementation

To get some experience and hash out technical details, we will start with four pilot applications in Fedora 22: Chrome, Steam, PyCharm and OpenH264. They represent a range of options in terms of licensing and distribution, and thus should be useful for figuring out how things work from both technical and procedual viewpoints.

How is this different from previous proposals?

One major change is that this proposal is concrete, including screenshots to showcase the process. Combined with adding notification for these third-party applications to clearly distinguish between software built and packaged by Fedora which follows all of our rules and guidelines, and software provided by third parties which do not necessarily adhere the same way.