From Fedora Project Wiki
(Overall improvements to the Change proposal)
Line 20: Line 20:
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->


= Playgrounds repository <!-- The name of your change proposal --> =
= Playground repository <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
The Playground Repository gives contributors a place to host packages that are not up to the standards of the main Fedora Repository but may still be useful to other users. For now the playground repository contains both packages that are destined for eventual inclusion into the main Fedora Repositories and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability to use packages from here.
The Playground repository gives contributors a place to host packages that are not up to the standards of the main Fedora repository but may still be useful to other users. For now the Playground repository contains both packages that are destined for eventual inclusion into the main Fedora repository and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability when using packages from there.


All packages in Playground must play nice - '''no bad licenses, no proprietary software, no patented software'''.  
 
{{admon/important|What the Playground repository will NOT include|
To avoid any potential confusion, we want to make it clear that the Playground repository will '''not''' host packages that have '''bad licenses''', include '''proprietary software''' or include '''patented software'''.}}


== Owner ==
== Owner ==
Line 46: Line 48:
* Product:
* Product:
-->
-->
* Responsible WG: Env and Stacks WG
* Responsible WG: [[Env and Stacks|Env and Stacks WG]]


== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Targeted release: [[Releases/21 | Fedora 21 ]]  
* Last updated: 2014-03-01
* Last updated: 2014-04-08
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 62: Line 64:


== Detailed Description ==
== Detailed Description ==
We are still working on details but the main ideas are finished and described in the [[https://fedoraproject.org/wiki/Env_and_Stacks/Playground_repository_%28draft%29#How_the_repository_works draft]].
We are still working on the details but the main ideas are finished and described in the [[Env_and_Stacks/Playground_repository_(draft)|Playground repository draft]].


Packages for the repository are built in COPR. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's Policies are marked as the Playgroud repository. The one Playground repository includes many Copr repositories.
Packages for the repository are built in [http://copr.fedoraproject.org/ COPR]. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's [[Env_and_Stacks/Playground_repository_(draft)#Policies|Policies]] are copied into the Playgroud repository. The one Playground repository includes many Copr repositories.


Playground repository is meant only for F-21+. It's Beta, which means usage of dnf is fine.
Playground repository is only meant to provide packages for Fedora 21 and later versions.
Initially, the repository will be provided as a Beta for a limited number of packagers and testers, so we'll be able to incrementally define the remaining details of the workings of the repository.
To enable the repository, testers will need to use [http://dnf.baseurl.org/ DNF] along with its [http://dnf.baseurl.org/2014/03/19/copr-plugin/ Copr plugin].


== Benefit to Fedora ==
== Benefit to Fedora ==
Users can install interesting packages from ONE place, developers can offer their packages more quickly and their packages can be find easier on one place.
Users will be able to find and install interesting packages from ONE place, instead of using several COPRs or downloading packages from various third party sites.
 
Upstream developers and (new) Fedora contributors will be able to more easily and quickly package their applications, since they won't need to follow the current strict [[Packaging:Guidelines]]. Also, their applications will be easier to find by all being at a common place.


Packages can be included in distribution, possible bugs can be found before inclusion in Fedora main repo.
If packages are first included in the Playground repository, potential bugs can be discovered early, before their inclusion in the main Fedora repository.


The main benefit will be easily installable software, which:
The main benefit of the Playground repository will be easier access to software, which is currently not available in the main Fedora repository due to falling into one of the following categories:
* is waiting for review too long (ugly sw, bundles, ...)
* its review is taking very long time (due to its code being lower quality, due to it bundling some libraries, etc.)
* requires exact version of sw not included in Fedora
* it requires an exact version of some other software not included in the main Fedora repository
* bundle
* its upstream decided to bundle some libraries and it is *unnatural* and painful to maintain patches that unbundle these bundled libraries


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Proposal owners: Env and Stack WG
* Proposal owners: [[Env and Stacks|Env and Stack WG]]
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->



Revision as of 14:59, 8 April 2014


Playground repository

Summary

The Playground repository gives contributors a place to host packages that are not up to the standards of the main Fedora repository but may still be useful to other users. For now the Playground repository contains both packages that are destined for eventual inclusion into the main Fedora repository and packages that are never going to make it there. Users of the repository should be willing to endure a certain amount of instability when using packages from there.


Important.png
What the Playground repository will NOT include
To avoid any potential confusion, we want to make it clear that the Playground repository will not host packages that have bad licenses, include proprietary software or include patented software.

Owner

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014-04-08
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

We are still working on the details but the main ideas are finished and described in the Playground repository draft.

Packages for the repository are built in COPR. The COPR owner can propose the repository as a whole for inclusion into the Playground repository by marking it as such in COPR. Repositories/packages successfully built and satisfying the Playground repository's Policies are copied into the Playgroud repository. The one Playground repository includes many Copr repositories.

Playground repository is only meant to provide packages for Fedora 21 and later versions. Initially, the repository will be provided as a Beta for a limited number of packagers and testers, so we'll be able to incrementally define the remaining details of the workings of the repository. To enable the repository, testers will need to use DNF along with its Copr plugin.

Benefit to Fedora

Users will be able to find and install interesting packages from ONE place, instead of using several COPRs or downloading packages from various third party sites.

Upstream developers and (new) Fedora contributors will be able to more easily and quickly package their applications, since they won't need to follow the current strict Packaging:Guidelines. Also, their applications will be easier to find by all being at a common place.

If packages are first included in the Playground repository, potential bugs can be discovered early, before their inclusion in the main Fedora repository.

The main benefit of the Playground repository will be easier access to software, which is currently not available in the main Fedora repository due to falling into one of the following categories:

  • its review is taking very long time (due to its code being lower quality, due to it bundling some libraries, etc.)
  • it requires an exact version of some other software not included in the main Fedora repository
  • its upstream decided to bundle some libraries and it is *unnatural* and painful to maintain patches that unbundle these bundled libraries

Scope

  • Other developers:
    • Copr devs
      • Ability to mark an individual COPR for inclusion in the Playground repository.
      • Copr deployment that's considered reliable enough to build packages for this repo
  • Policies and guidelines:
    • Packages must follow the Legal Guidelines. In particular, the license for all packages must be approved in the Legal Guidelines.
    • Packages may violate other Fedora Packaging Guidelines.

Upgrade/compatibility impact

Main repository won't be harmed by Playground.

How To Test

0. Build your package or set of packages in Copr

1. Mark your packages as Playground wanted

2. Wait for addition into Playground repository

3. Add Playground repo and install by PackageKit/dnf

User Experience

User should be able add new repository providing lot of new stuff easily.

Dependencies

  • Copr - partially done
  • dnf - plugin for Coprs must replace yum, otherwise Playground stays in Beta

Contingency Plan

  • Contingency mechanism: Do not add the repo during F21.
  • Contingency deadline: It doesn't matter, it doesn't influence Fedora main repo.
  • Blocks release? No
  • Blocks product? Doesn't block a product. Another repo, different than Playground, could be, but we are not providing any other at this moment.

Documentation

There will be user documentation of the repository, how to work it and and so on, when we finally figure out all details.

Release Notes