From Fedora Project Wiki
(Initial draft)
 
(Note for the tl;dr crowd)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:


= 3rd Party Software in Fedora Workstation =
= 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.


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
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.
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
== Technical details ==
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 requires 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 clearly 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?
The current dialogs look like this:
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.
 
[[File:Screenshot1.png||As noted above, the text shown here is for illustrative purposes only and is intended to be replaced with something more specific and appropriate to Fedora in the Fedora package.]]
 
[[File:Screenshot22.png]]
 
== 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.

Latest revision as of 10:21, 2 February 2015

Third-Party Software in Fedora Workstation

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.

Technical details

The current implementation requires 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 clearly 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.

The current dialogs look like this:

As noted above, the text shown here is for illustrative purposes only and is intended to be replaced with something more specific and appropriate to Fedora in the Fedora package.

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.