From Fedora Project Wiki
(Moved to Fedora 22 due to unresolved blockers)
(46 intermediate revisions by 3 users not shown)
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 in the Playground repository all packages must meet the same '''legal guidelines''' as packages in Fedora proper.}}


== Owner ==
== Owner ==
Line 33: Line 35:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:FASAcountName| Your Name]]
* Name: [[User:mmaslano| Marcela Mašláňová]]  
* Email: mmaslano@redhat.com
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <your email address so we can contact you, invite you to meetings, etc.>
* Name: [[User:msuchy | Mirek Suchý]]
* Email: msuchy@redhat.com
 
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 43: 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/22 | Fedora 22 ]]  
* 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 56: Line 61:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1091303 #1091303]


== Detailed Description ==
== Detailed Description ==
For now the whole proposal leaves [[https://fedoraproject.org/wiki/Env_and_Stacks/Playground_repository_%28draft%29 here]].
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 [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 provided in the Playgroud repository by dnf plugin. 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 [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 ==
The main benefit will be easily installable software, which:
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.
* could be for a long time in review queue, waiting for reviewers.
 
* is ugly or hard to package and review (e.g. bundling).
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.
* has requirements on different version of libraries  than currently is in Fedora.
 
If packages are first included in the Playground repository, potential bugs can be discovered early, before their inclusion in the main Fedora repository.


Users can install more packages, developers can offer their packages more quickly.
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 ==
== 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:
* 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?-->
** Document process, setting, guidelines (if any)
** Communicate with Copr developers


* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers:  
<!-- What work do other developers 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?-->
** Copr devs
 
*** Ability to mark an individual COPR for inclusion in the Playground repository.
* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
*** Copr deployment that's considered reliable enough to build packages for this repo
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->


* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines:  
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
** 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 ==
== Upgrade/compatibility impact ==
Line 88: Line 105:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
Main repository won't be harmed by Playground.


== How To Test ==
== How To Test ==
Line 96: Line 113:


A good "how to test" should answer these four questions:
A good "how to test" should answer these four questions:
-->
0. Build your package or set of packages in Copr
1. Mark your packages as Playground wanted


0. What special hardware / data / etc. is needed (if any)?
2. Wait for addition into Playground repository
1. How do I prepare my system to test this change? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the change is
working like it's supposed to?
3. What are the expected results of those actions?
-->


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
3. Add Playground repo and install by PackageKit/dnf
N/A (not a System Wide Change)


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
User should be able add new repository providing lot of new stuff easily.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
* Copr - partially done
 
* dnf - [http://dnf.baseurl.org/2014/03/19/copr-plugin/ plugin for Coprs] must replace yum, otherwise Playground stays in Beta
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Do not add the repo during F21. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: It doesn't matter, it doesn't influence Fedora main repo. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? Unknown at this point
* 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 ==
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
There will be user documentation of the repository, how to work it and and so on, when we finally figure out all details.
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==
Line 148: Line 155:


<!-- Select proper category, default is Self Contained Change -->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
[[Category:SystemWideChange]]
<!-- [[Category:SystemWideChange]] -->

Revision as of 11:44, 4 July 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 in the Playground repository all packages must meet the same legal guidelines as packages in Fedora proper.

Owner

Current status

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 provided in the Playgroud repository by dnf plugin. 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

  • Proposal owners: Env and Stack WG
    • Document process, setting, guidelines (if any)
    • Communicate with Copr developers
  • 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