Re: [Proposal] Ring-based Packaging Policies

2015-02-27 Thread Michael Schwendt
On Tue, 17 Feb 2015 18:13:23 +0100, Ralf Corsepius wrote:

 On 02/17/2015 05:59 PM, Matthew Miller wrote:
  On Tue, Feb 17, 2015 at 05:39:48PM +0100, Ralf Corsepius wrote:
  Why not to create a new repository with reduced policy as
  Stephen proposed with the one-way dependency rule (between current
  Fedora and the new easy-for-beginners repository)?
  Because this would establish a 2-class society, with double
  standards standards and so on.
 
  If the distinction were drawn based on _who_ rather than _what and
  why_, it would. (And that was fundamentally the problem with the old
  Core vs. Extras.) But no one is proposing a _society_-based distinction
  — instead, a _technical_ one.
 
 I know and understand this, but I expect the outcome to be the same:
 
 Ring 0 == Red Hat
 Ring 1 == The Red Hat business/RHEL-irrelevant parts
 
 In other words, on the techicall level I do not see any difference to 
 CentOS+RHEL and to Core+Extras
 
 On the political and social level,  it raises questions going far 
 beyond these consideration

I wonder why it has become silent in this thread already?
Is there another place where those ideas get discussed?

  | https://twitter.com/Worldcleaver/status/565957125600321538
  |
  | Stephen Gallagher ‏@Worldcleaver
  |
  | Wherein I kick the hornets' nest again:
  | https://lists.fedoraproject.org/pipermail/devel/2015-February/207657.html
  | … (Proposal to relax Fedora packaging requirements in some cases)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-27 Thread Josh Boyer
On Fri, Feb 27, 2015 at 12:32 PM, Michael Schwendt mschwe...@gmail.com wrote:
 On Tue, 17 Feb 2015 18:13:23 +0100, Ralf Corsepius wrote:

 On 02/17/2015 05:59 PM, Matthew Miller wrote:
  On Tue, Feb 17, 2015 at 05:39:48PM +0100, Ralf Corsepius wrote:
  Why not to create a new repository with reduced policy as
  Stephen proposed with the one-way dependency rule (between current
  Fedora and the new easy-for-beginners repository)?
  Because this would establish a 2-class society, with double
  standards standards and so on.
 
  If the distinction were drawn based on _who_ rather than _what and
  why_, it would. (And that was fundamentally the problem with the old
  Core vs. Extras.) But no one is proposing a _society_-based distinction
  -- instead, a _technical_ one.

 I know and understand this, but I expect the outcome to be the same:

 Ring 0 == Red Hat
 Ring 1 == The Red Hat business/RHEL-irrelevant parts

 In other words, on the techicall level I do not see any difference to
 CentOS+RHEL and to Core+Extras

 On the political and social level,  it raises questions going far
 beyond these consideration

 I wonder why it has become silent in this thread already?

Because commentary on the proposal was made, and nothing new has been
resubmitted?

 Is there another place where those ideas get discussed?

Not that I'm aware of.

josh
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-27 Thread Stephen Gallagher
On Fri, 2015-02-27 at 18:32 +0100, Michael Schwendt wrote:
 On Tue, 17 Feb 2015 18:13:23 +0100, Ralf Corsepius wrote:
 
  On 02/17/2015 05:59 PM, Matthew Miller wrote:
   On Tue, Feb 17, 2015 at 05:39:48PM +0100, Ralf Corsepius wrote:
 Why not to create a new repository with reduced policy as
 Stephen proposed with the one-way dependency rule (between 
 current Fedora and the new easy-for-beginners repository)?
Because this would establish a 2-class society, with double
standards standards and so on.
   
   If the distinction were drawn based on _who_ rather than _what 
   and why_, it would. (And that was fundamentally the problem with 
   the old Core vs. Extras.) But no one is proposing a _society_-
   based distinction — instead, a _technical_ one.
  
  I know and understand this, but I expect the outcome to be the 
  same:
  
  Ring 0 == Red Hat
  Ring 1 == The Red Hat business/RHEL-irrelevant parts
  
  In other words, on the techicall level I do not see any difference 
  to CentOS+RHEL and to Core+Extras
  
  On the political and social level,  it raises questions going 
  far beyond these consideration
 
 I wonder why it has become silent in this thread already?
 Is there another place where those ideas get discussed?


Speaking only for myself, I'm still digesting the responses. There are 
some very valid points made and I'm trying to figure out the best way 
to incorporate some of the ideas.

Some valid holes were poked into it (not least because the proposal 
really is about two different things - ring policy and bundling as a 
special case - and should probably be divided up and considered 
independently.

Also, I got pulled into some high-priority stuff at $DAYJOB, so my 
focus has wavered a bit :)

This is the best (and really, only) place that this topic should be 
discussed. I'm vehemently opposed to closed-door meetings for anything 
involving Fedora policies. Which is why I kicked the hornets' nest 
publicly.

signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-21 Thread Matthew Miller
On Sat, Feb 21, 2015 at 04:33:41AM +0100, Lars Seipel wrote:
  Any new package that is *not* going to be part of the install media set
  is required to pass a lighter review and is permitted to carry bundled
  libraries, with caveats to be listed below.
 What would be the place for higher-quality packages that aren't on any
 install media (and are also not required to create those)? I think a
 broad collection of reviewed and guideline-conforming packages is a
 useful thing to have. Just mixing them together in a single repo with
 the lower-quality stuff would diminish their value in significant ways.

Yeah, in my original rings proposal, I had something called Fedora
Commons to represent this. Turns out that name is probably not the
best choice, as it is used by the _other_ Fedora, the digital archiving
system, so maybe Fedora Collection or something. Stephen's proposal
doesn't have anything like that. I agree it's a good idea, but on the
other hand I don't want to hold off experimenting with ideas until we
have an absolutely perfect plan.

-- 
Matthew Miller
mat...@fedoraproject.org
Fedora Project Leader
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-20 Thread Lars Seipel
On Thu, Feb 12, 2015 at 01:32:04PM -0500, Stephen Gallagher wrote:
 === Core Packages ===
 Any package that is provided on a release-blocking medium (which at
 present includes Fedora Atomic, Fedora Cloud, Fedora Server, Fedora
 Workstation, the KDE Spin and several ARM images) must comply exactly
 with the packaging guidelines as they are written today.
[...]
 === Ring Packages ===
 Any new package that is *not* going to be part of the install media set
 is required to pass a lighter review and is permitted to carry bundled
 libraries, with caveats to be listed below.

What would be the place for higher-quality packages that aren't on any
install media (and are also not required to create those)? I think a
broad collection of reviewed and guideline-conforming packages is a
useful thing to have. Just mixing them together in a single repo with
the lower-quality stuff would diminish their value in significant ways.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Vít Ondruch
Dne 17.2.2015 v 17:18 Petr Pisar napsal(a):
 On 2015-02-17, Josh Boyer jwbo...@fedoraproject.org wrote:
 On Thu, Feb 12, 2015 at 1:32 PM, Stephen Gallagher
 sgall...@redhat.com wrote:
 == Proposal ==
 With these things in mind, I'd like to propose that we amend the
 packaging policy by splitting it into two forms:
 I think this needs to go beyond simple policy.  It needs some
 buildsystem enforcement as well.
 [...]
 With the definition you have here, I'm afraid we are going to be
 constantly playing is or isn't on whether a package is core or not.
 E.g. things get sucked into the install media due to dependencies and
 nobody notices until it's time to trim the size.  It just doesn't seem
 like this would scale, particularly since the distro is rather fluid.

 Perhaps instead the Base WG could come up with what they consider
 core, and we could really stick to that?  Meaning, things in core
 cannot Require packages outside of core at runtime.
 [...]
 I'm OK with this if Ring packages land in a separated repo.  That
 could be done by having a separate koji target that spits out things
 into a rings repo.

 My concern here is that if everything (ring and core combined) lands
 in the same koji tag and goes through koji just like packages do
 today, we're going to wind up with a big mess.  Having dependencies on
 ring packages is going to entangle things and make it very hard to
 clean up later.

 I agree.

 While it's tempting to just tune policy a little (i.e. reduce
 packaging guidelines), it's not enough. The implications are huge (from
 security, suistainability, trust point of view). My impression from
 reading this thread is people do not want mixed system.

 Why not to create a new repository with reduced policy as
 Stephen proposed with the one-way dependency rule (between current
 Fedora and the new easy-for-beginners repository)?

 If the repository was fully supported by Fedora project (package
 databse, dist-git, koji, bodhi, bugzilla) with yum/dnf configuration
 knowing the easy-for-beginners repository, then both groups
 (deniers and supporters of the mixed system) would be satisfied.

 After some time, we can evaluate if the easy-for-beginners repository is
 a viable solution (from all the points of view I listed above). If the
 reduced policy is really the golden solution, then we will witness
 spontaneous move of packages from Fedora to easy-for-beginners
 repository.

 -- Petr


What is wrong with using Copr for the ring packages. It already works
just fine (may be BZ is missing). There are no reviews, no guidelines,
you can bundle ... I believe that everybody understands that while Copr
is supported by Fedora, you are using these packages on your own risk. I
can't imagine better state.


Vít
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Matthew Miller
On Tue, Feb 17, 2015 at 06:13:23PM +0100, Ralf Corsepius wrote:
 Core vs. Extras.) But no one is proposing a _society_-based distinction
 — instead, a _technical_ one.
 
 I know and understand this, but I expect the outcome to be the same:
 
 Ring 0 == Red Hat
 Ring 1 == The Red Hat business/RHEL-irrelevant parts
 
 In other words, on the techicall level I do not see any difference
 to CentOS+RHEL and to Core+Extras
 
 On the political and social level,  it raises questions going
 far beyond these consideration

Ralf, thanks for articulating this concern. You're seeing this from
a different perspective than I am, and that's very valuable. I
don't expect that outcome, for several reasons.

First, the plan is for Ring 0 to be much, much smaller than current
RHEL. As I understand it, that aligns with the direction Red Hat
would like to go as well (because it fits with the general sweep of
the operating system landscape), but independent from that that,
the benefits are clear for Fedora on our own. (Better change
management, focal point for QA, a place to work on integration
improvements without requiring overwhelming thousand-package
alterations, easier bootstrap of new architectures or sub-projects,
etc.) But, a tiny Ring 0 is too small to be practically useful to
most actual end users — Fedora users, but also RHEL customers. So,
just as Fedora's interests in quality, integration, usability, and
so on extend beyond that first ring, so do Red Hat's.

In fact, second, Red Hat is much bigger than RHEL, and Red Hat has
significant business interests based on not just Rings 0 and 1, but
also what I called Ring 2 (environments and stacks) and Ring 3,
applications. So, if the concern is that RH is planning to abandon
investment in everything in Fedora except the minimal part, I
wouldn't worry. In fact, one explicit hope I have here is that we
can do this in a way that attracts engagement in Fedora from parts
of Red Hat that have traditionally had difficulties, including the
middleware/WildFly world, OpenShift, and (not to detract from the
degree that it does work and the effort people have put in)
OpenStack.

I think, though, I hear at least a suggestion of an opposite
concern: that Red Hat will end up the sole owner of Ring 0. So,
third (and I'm going to go ahead and say most importantly), that is
an explicit non-goal. That's true from a Fedora-plan point of view,
and also, for the record, I hear no one inside Red Hat agitating
for anything otherwise. The benefits of keeping Fedora
community-based at all levels are clear and understood. Technical
oversight and decision-making will still come from FESCo, and the
Base Working Group as a FESCo sub-committee. Ownership of packages
in Ring 0 (or any ring) will continue to be agnostic of employer,
and official Change proposals evaluated by community leadership on
their own merits.

So, while there may be superficial similarity, it's quite a
different plan, and I don't worry that the outcome will be what
you're afraid of.

-- 
Matthew Miller
mat...@fedoraproject.org
Fedora Project Leader
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Vít Ondruch
Dne 18.2.2015 v 12:52 Rahul Sundaram napsal(a):

 Hi
  

  
 What is wrong with using Copr for the ring packages. It already
 works
 just fine (may be BZ is missing). There are no reviews, no guidelines,
 you can bundle ... I believe that everybody understands that while
 Copr
 is supported by Fedora, you are using these packages on your own
 risk. I
 can't imagine better state.


 That's easy to imagine

 *  Searching for packages in copr from the command line and GUI should
 be trivial
 *  There should be a difference between experimental random builds of
 the day and packages which have gone through some review process even
 if it does include some bundling
 *  Formalized bug reporting
 *  pkgdb, tagger, bodhi etc

Yes, and at the end you reach the current state of Fedora (with
bundling) ... just going in circles.


Vít
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Rahul Sundaram
Hi



 What is wrong with using Copr for the ring packages. It already works
 just fine (may be BZ is missing). There are no reviews, no guidelines,
 you can bundle ... I believe that everybody understands that while Copr
 is supported by Fedora, you are using these packages on your own risk. I
 can't imagine better state.


That's easy to imagine

*  Searching for packages in copr from the command line and GUI should be
trivial
*  There should be a difference between experimental random builds of the
day and packages which have gone through some review process even if it
does include some bundling
*  Formalized bug reporting
*  pkgdb, tagger, bodhi etc


Rahul
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Pierre-Yves Chibon
On Wed, Feb 18, 2015 at 08:58:34AM -0500, Stephen Gallagher wrote:
 On Mon, 2015-02-16 at 17:03 +0100, Kevin Kofler wrote:
  So, for my counterproposal:
  I propose that packagers with a sufficient level of trust (packager 
  sponsors, provenpackagers, or a new, yet-to-be-defined group (maybe 
  packagers with at least N packages)) be allowed to import new packages with 
  a self-review. We trust those people for so many things, and we know that 
  they understand the packaging guidelines, so why can we not trust them to 
  import their own packages without blocking on somebody else? Here are just 
  2 
  examples of packages that have been sitting in the queue for months and 
  would have gone in instantly with my proposed policy:
  https://bugzilla.redhat.com/show_bug.cgi?id=922781
  https://bugzilla.redhat.com/show_bug.cgi?id=1125952
  The submitter has been a packager sponsor and provenpackager for years (and 
  even several of the people he sponsored are now also packager sponsors 
  and/or provenpackagers), so why do we need to waste our time reviewing his 
  packages when it's clear that he knows what he's doing?
 
 
 This is an interesting idea (and one that could be investigated
 irrespective of the original discussion). In the last few years, the
 fedora-review project has made the review process significantly easier
 for many packages. It covers a lot of the policies that are automatable,
 thereby reducing the packager requirements.
 
 Elsewhere in this thread, it was suggested that we could further improve
 the process by taking reviews out of Bugzilla and building a tool
 specifically for this purpose. If we built this atop fedora-review, we
 could make large parts of the review-submission process automated.
 (Automated guideline checks for those things that *can* be automated,
 automatically perform koji scratch builds for each architecture, etc.)
 
 With something like that in place to provide at least a minimal level of
 review, we probably *could* give members of the provenpackager and/or
 sponsors groups permission to pass a review solely based on those
 results (plus a manual checkbox of this is permissible content).
 
 In parallel with another discussion on the list, this could be a really
 worthwhile effort for the Google Summer of Code this year. Maybe Michel
 Salim (CCed) would be interested in having the fedora-review team mentor
 two or three interns to work on a web-app version of fedora-review?

While I agree that it makes a nice project for a GSoC, it is my experience that
we should not have too many students working on the same project. Most often
they will overlap and might even conflict.
So having one perhaps two (and that's a grand max imho) students might be
interesting indeed.

For further reference about this project:
https://www.youtube.com/watch?v=PJ-Hjb1UrXw
https://github.com/fedora-infra/fresque
Because it's not completely a new idea nor has there been no work started on it
:)

Pierre


pgpw9i0hHfIb0.pgp
Description: PGP signature
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Petr Pisar
On 2015-02-18, Vít Ondruch vondr...@redhat.com wrote:
 Dne 18.2.2015 v 12:52 Rahul Sundaram napsal(a):

 What is wrong with using Copr for the ring packages. It already
 works
 just fine (may be BZ is missing). There are no reviews, no guidelin=
 es,
 you can bundle ... I believe that everybody understands that while
 Copr
 is supported by Fedora, you are using these packages on your own
 risk. I
 can't imagine better state.


 That's easy to imagine

 *  Searching for packages in copr from the command line and GUI should
 be trivial
 *  There should be a difference between experimental random builds of
 the day and packages which have gone through some review process even
 if it does include some bundling
 *  Formalized bug reporting
 *  pkgdb, tagger, bodhi etc

 Yes, and at the end you reach the current state of Fedora (with
 bundling) ... just going in circles.

Yes. And that's was the point: To have the packages in Fedora.

Users really don't care about repository the software comes from, if
it's seamlessly integrated into the native package manager.

With Copr there is no such user experience.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-18 Thread Stephen Gallagher



On Mon, 2015-02-16 at 17:03 +0100, Kevin Kofler wrote:
 So, for my counterproposal:
 I propose that packagers with a sufficient level of trust (packager 
 sponsors, provenpackagers, or a new, yet-to-be-defined group (maybe 
 packagers with at least N packages)) be allowed to import new packages with 
 a self-review. We trust those people for so many things, and we know that 
 they understand the packaging guidelines, so why can we not trust them to 
 import their own packages without blocking on somebody else? Here are just 2 
 examples of packages that have been sitting in the queue for months and 
 would have gone in instantly with my proposed policy:
 https://bugzilla.redhat.com/show_bug.cgi?id=922781
 https://bugzilla.redhat.com/show_bug.cgi?id=1125952
 The submitter has been a packager sponsor and provenpackager for years (and 
 even several of the people he sponsored are now also packager sponsors 
 and/or provenpackagers), so why do we need to waste our time reviewing his 
 packages when it's clear that he knows what he's doing?


This is an interesting idea (and one that could be investigated
irrespective of the original discussion). In the last few years, the
fedora-review project has made the review process significantly easier
for many packages. It covers a lot of the policies that are automatable,
thereby reducing the packager requirements.

Elsewhere in this thread, it was suggested that we could further improve
the process by taking reviews out of Bugzilla and building a tool
specifically for this purpose. If we built this atop fedora-review, we
could make large parts of the review-submission process automated.
(Automated guideline checks for those things that *can* be automated,
automatically perform koji scratch builds for each architecture, etc.)

With something like that in place to provide at least a minimal level of
review, we probably *could* give members of the provenpackager and/or
sponsors groups permission to pass a review solely based on those
results (plus a manual checkbox of this is permissible content).

In parallel with another discussion on the list, this could be a really
worthwhile effort for the Google Summer of Code this year. Maybe Michel
Salim (CCed) would be interested in having the fedora-review team mentor
two or three interns to work on a web-app version of fedora-review?


signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Petr Pisar
On 2015-02-17, Josh Boyer jwbo...@fedoraproject.org wrote:
 On Thu, Feb 12, 2015 at 1:32 PM, Stephen Gallagher
 sgall...@redhat.com wrote:
 == Proposal ==
 With these things in mind, I'd like to propose that we amend the
 packaging policy by splitting it into two forms:

 I think this needs to go beyond simple policy.  It needs some
 buildsystem enforcement as well.
[...]
 With the definition you have here, I'm afraid we are going to be
 constantly playing is or isn't on whether a package is core or not.
 E.g. things get sucked into the install media due to dependencies and
 nobody notices until it's time to trim the size.  It just doesn't seem
 like this would scale, particularly since the distro is rather fluid.

 Perhaps instead the Base WG could come up with what they consider
 core, and we could really stick to that?  Meaning, things in core
 cannot Require packages outside of core at runtime.
[...]
 I'm OK with this if Ring packages land in a separated repo.  That
 could be done by having a separate koji target that spits out things
 into a rings repo.

 My concern here is that if everything (ring and core combined) lands
 in the same koji tag and goes through koji just like packages do
 today, we're going to wind up with a big mess.  Having dependencies on
 ring packages is going to entangle things and make it very hard to
 clean up later.

I agree.

While it's tempting to just tune policy a little (i.e. reduce
packaging guidelines), it's not enough. The implications are huge (from
security, suistainability, trust point of view). My impression from
reading this thread is people do not want mixed system.

Why not to create a new repository with reduced policy as
Stephen proposed with the one-way dependency rule (between current
Fedora and the new easy-for-beginners repository)?

If the repository was fully supported by Fedora project (package
databse, dist-git, koji, bodhi, bugzilla) with yum/dnf configuration
knowing the easy-for-beginners repository, then both groups
(deniers and supporters of the mixed system) would be satisfied.

After some time, we can evaluate if the easy-for-beginners repository is
a viable solution (from all the points of view I listed above). If the
reduced policy is really the golden solution, then we will witness
spontaneous move of packages from Fedora to easy-for-beginners
repository.

-- Petr

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Matthew Miller
On Tue, Feb 17, 2015 at 05:39:48PM +0100, Ralf Corsepius wrote:
 Why not to create a new repository with reduced policy as
 Stephen proposed with the one-way dependency rule (between current
 Fedora and the new easy-for-beginners repository)?
 Because this would establish a 2-class society, with double
 standards standards and so on.

If the distinction were drawn based on _who_ rather than _what and
why_, it would. (And that was fundamentally the problem with the old
Core vs. Extras.) But no one is proposing a _society_-based distinction
— instead, a _technical_ one.


-- 
Matthew Miller
mat...@fedoraproject.org
Fedora Project Leader
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Pierre-Yves Chibon
On Wed, Feb 18, 2015 at 12:54:24AM +0800, Mathieu Bridon wrote:
 Le mardi 17 février 2015 à 17:39 +0100, Ralf Corsepius a écrit :
  On 02/17/2015 05:18 PM, Petr Pisar wrote:
  
   Why not to create a new repository with reduced policy as
   Stephen proposed with the one-way dependency rule (between current 
   Fedora and the new easy-for-beginners repository)?
  
  Because this would establish a 2-class society, with double 
  standards standards and so on.
  
  Also RH and other distros history repeatedly has told the lesson 
  such will not fly and are doomed to fail.
 
 It seems to have been working just fine in RPMFusion, where the free 
 and nonfree repositories have different standards for inclusion, and 
 where packages in nonfree can depend on packages in free, but not the 
 other way.

The comparison isn't really valid, the difference between the two repos is not
technical but more based on the license/re-distribution rights.
While, what has been mentioned before would be two repos having the same
redistribution policy but two different technical requirements.

Pierre
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Sergio Pascual
 
  Also RH and other distros history repeatedly has told the lesson
  such will not fly and are doomed to fail.

 It seems to have been working just fine in RPMFusion, where the free
 and nonfree repositories have different standards for inclusion, and
 where packages in nonfree can depend on packages in free, but not the
 other way.


The only difference in both repositories is the license of the software.
The package guidelines are exactly the same as Fedora's (with the exception
of kernel modules) in both repos.


 At another scale, it seems to not be working too badly already for
 Fedora+RPMFusion, where Fedora and RPMFusion have different standards
 for inclusion, and where packages in RPMFusion can depend on packages
 in Fedora, but not the other way.


The standard for inclusion in rpmfusion is not being elegible to be in
Fedora. Again, the reasons are purelly legal (with the exception of kernel
modules). Again, there is no difference in the guidelines (bundled
libraries must be unblundled, etc)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Mathieu Bridon
Le mardi 17 février 2015 à 17:39 +0100, Ralf Corsepius a écrit :
 On 02/17/2015 05:18 PM, Petr Pisar wrote:
 
  Why not to create a new repository with reduced policy as
  Stephen proposed with the one-way dependency rule (between current 
  Fedora and the new easy-for-beginners repository)?
 
 Because this would establish a 2-class society, with double 
 standards standards and so on.
 
 Also RH and other distros history repeatedly has told the lesson 
 such will not fly and are doomed to fail.

It seems to have been working just fine in RPMFusion, where the free 
and nonfree repositories have different standards for inclusion, and 
where packages in nonfree can depend on packages in free, but not the 
other way.

At another scale, it seems to not be working too badly already for 
Fedora+RPMFusion, where Fedora and RPMFusion have different standards 
for inclusion, and where packages in RPMFusion can depend on packages 
in Fedora, but not the other way.

If I understand correctly, Ubuntu has a similar setup with main and 
universe, and so does Debian with main, contrib and nonfree.

History doesn't seem to unambiguously prove what you think it does, 
but then I guess you can always argue that those examples just haven't 
failed yet. ;)


-- 
Mathieu
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Ralf Corsepius

On 02/17/2015 05:54 PM, Mathieu Bridon wrote:

Le mardi 17 février 2015 à 17:39 +0100, Ralf Corsepius a écrit :

On 02/17/2015 05:18 PM, Petr Pisar wrote:


Why not to create a new repository with reduced policy as
Stephen proposed with the one-way dependency rule (between current
Fedora and the new easy-for-beginners repository)?


Because this would establish a 2-class society, with double
standards standards and so on.

Also RH and other distros history repeatedly has told the lesson
such will not fly and are doomed to fail.


It seems to have been working just fine in RPMFusion, where the free
and nonfree repositories have different standards for inclusion, and
where packages in nonfree can depend on packages in free, but not the
other way.


RPMFusion working fine? Sorry, but I vehemently disagree with this.

Many of their packages are of low quality and their infrastructure is 
more dead than alive.



History doesn't seem to unambiguously prove what you think it does,
but then I guess you can always argue that those examples just haven't
failed yet. ;)


I am referring to RHL + Powertools (?) (A historic desaster) and many 
of these distro life cycle extending attempts (RHL had one I don't even 
recall the name; Recently SuSE's Everlast went down).


Ralf

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Ralf Corsepius

On 02/17/2015 05:18 PM, Petr Pisar wrote:


Why not to create a new repository with reduced policy as
Stephen proposed with the one-way dependency rule (between current
Fedora and the new easy-for-beginners repository)?


Because this would establish a 2-class society, with double standards 
standards and so on.


Also RH and other distros history repeatedly has told the lesson such 
will not fly and are doomed to fail.


Ralf

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Ralf Corsepius

On 02/17/2015 05:59 PM, Matthew Miller wrote:

On Tue, Feb 17, 2015 at 05:39:48PM +0100, Ralf Corsepius wrote:

Why not to create a new repository with reduced policy as
Stephen proposed with the one-way dependency rule (between current
Fedora and the new easy-for-beginners repository)?

Because this would establish a 2-class society, with double
standards standards and so on.


If the distinction were drawn based on _who_ rather than _what and
why_, it would. (And that was fundamentally the problem with the old
Core vs. Extras.) But no one is proposing a _society_-based distinction
— instead, a _technical_ one.


I know and understand this, but I expect the outcome to be the same:

Ring 0 == Red Hat
Ring 1 == The Red Hat business/RHEL-irrelevant parts

In other words, on the techicall level I do not see any difference to 
CentOS+RHEL and to Core+Extras


On the political and social level,  it raises questions going far 
beyond these consideration



Ralf



--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Josh Boyer
On Thu, Feb 12, 2015 at 1:32 PM, Stephen Gallagher sgall...@redhat.com wrote:
 == Proposal ==
 With these things in mind, I'd like to propose that we amend the
 packaging policy by splitting it into two forms:

I think this needs to go beyond simple policy.  It needs some
buildsystem enforcement as well.

 === Core Packages ===
 Any package that is provided on a release-blocking medium (which at
 present includes Fedora Atomic, Fedora Cloud, Fedora Server, Fedora
 Workstation, the KDE Spin and several ARM images) must comply exactly
 with the packaging guidelines as they are written today. These packages
 must receive a full package review *when they are added to the install
 media*. Any package present on the media if this proposal is adopted is
 exempted from this requirement. Any package to newly appear on the
 install media after this time *should* (I hate that word...) receive a
 new package review, even if it is already present in Fedora.

With the definition you have here, I'm afraid we are going to be
constantly playing is or isn't on whether a package is core or not.
E.g. things get sucked into the install media due to dependencies and
nobody notices until it's time to trim the size.  It just doesn't seem
like this would scale, particularly since the distro is rather fluid.

Perhaps instead the Base WG could come up with what they consider
core, and we could really stick to that?  Meaning, things in core
cannot Require packages outside of core at runtime.

 === Ring Packages ===
 Any new package that is *not* going to be part of the install media set
 is required to pass a lighter review and is permitted to carry bundled
 libraries, with caveats to be listed below.

I'm OK with this if Ring packages land in a separated repo.  That
could be done by having a separate koji target that spits out things
into a rings repo.

My concern here is that if everything (ring and core combined) lands
in the same koji tag and goes through koji just like packages do
today, we're going to wind up with a big mess.  Having dependencies on
ring packages is going to entangle things and make it very hard to
clean up later.

  Ring Package Review Requirements 
 * A reviewer *MUST* establish suitability for the Fedora Project. This
 means verifying that the package contains only permissible content
 (legally-speaking).

 * The package *MUST* conform to the FHS and other filesystem conventions
 used by Fedora (such as %{python3_sitelib}), except when granted an
 exception by the FPC.

 * The package *MAY* contain bundled libraries or other projects, but if
 it does so, it *MUST* contain a Provides: bundled(pkg) = version for
 each such bundling. This is done so that we can use the meta-data to
 identify which packages may be vulnerable in the event of a security
 issue.


 == Conclusion ==
 So that is my proposal to consider for Fedora 23+ (it's too late in the
 Fedora 22 cycle to consider this, but I'd prefer starting the F23
 discussion right away). Comments and suggestions are strongly
 encouraged.

 Thank you for reading to the end.

I don't think the proposal is a bad start, but I'm concerned it isn't enough.

What I would really like to see if a proposal that focuses on the two
different needs: 1) packages that are used for the Operating System
(the distro/OS) 2) packages that run on the OS (Apps?).  Packages that
are used to create Fedora itself should by most definitions wind up
being Core packages in your proposal here, regardless of whether they
are on install media (pretty sure gcc should be core...).  Packages
that people want to run on top of Fedora could be the ring set.  Some
might call that Core+Extras but that isn't my intention.  Packages
in the ring set could move to core easily once they are cleaned up and
meet the existing FPC guidelines.  There is also no separation of
schedule or dist-git or buildsystem or ACLs.

Really, I would like to see the Ring set of things not be RPMs at all.
RPMs are system wide installation.  I know Dan Walsh would say that
containers do not contain, but the security model around them is
slightly better than blasting an RPM that bundles a bunch of stuff
onto the entire system.  However, there is significant technical work
for that to be feasible and it isn't clear that there is a container
technology that is well suited for non-network apps yet.

josh
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Reindl Harald


Am 17.02.2015 um 17:54 schrieb Mathieu Bridon:

Le mardi 17 février 2015 à 17:39 +0100, Ralf Corsepius a écrit :

On 02/17/2015 05:18 PM, Petr Pisar wrote:


Why not to create a new repository with reduced policy as
Stephen proposed with the one-way dependency rule (between current
Fedora and the new easy-for-beginners repository)?


Because this would establish a 2-class society, with double
standards standards and so on.

Also RH and other distros history repeatedly has told the lesson
such will not fly and are doomed to fail.


It seems to have been working just fine in RPMFusion, where the free
and nonfree repositories have different standards for inclusion, and
where packages in nonfree can depend on packages in free, but not the
other way


maybe you are newer to Fedora than me

what you describe is what was changed around Fedora 7
http://en.wikipedia.org/wiki/Fedora_%28operating_system%29#History

* Fedora Core: Only Redhat
* Fedora Extras: Community

not that i say that was bad *but* it was changed intentional
after the distribution is now claaed jsut Fedora

you can turn and name it how you like but at the end of the day it would 
mean going back to the state of Fedora Core 6




signature.asc
Description: OpenPGP digital signature
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-17 Thread Paul W. Frields
On Tue, Feb 17, 2015 at 08:05:30PM +0100, Reindl Harald wrote:
 
 Am 17.02.2015 um 17:54 schrieb Mathieu Bridon:
 Le mardi 17 février 2015 à 17:39 +0100, Ralf Corsepius a écrit :
 On 02/17/2015 05:18 PM, Petr Pisar wrote:
 
 Why not to create a new repository with reduced policy as
 Stephen proposed with the one-way dependency rule (between current
 Fedora and the new easy-for-beginners repository)?
 
 Because this would establish a 2-class society, with double
 standards standards and so on.
 
 Also RH and other distros history repeatedly has told the lesson
 such will not fly and are doomed to fail.
 
 It seems to have been working just fine in RPMFusion, where the free
 and nonfree repositories have different standards for inclusion, and
 where packages in nonfree can depend on packages in free, but not the
 other way
 
 maybe you are newer to Fedora than me
 
 what you describe is what was changed around Fedora 7
 http://en.wikipedia.org/wiki/Fedora_%28operating_system%29#History
 
 * Fedora Core: Only Redhat
 * Fedora Extras: Community
 
 not that i say that was bad *but* it was changed intentional
 after the distribution is now claaed jsut Fedora
 
 you can turn and name it how you like but at the end of the day it would
 mean going back to the state of Fedora Core 6

This isn't correct.  The division of Core/Extras was based on who was
allowed to touch packages which isn't part of this proposal.  That
wasn't a sustainable way to build community.

-- 
Paul W. Frieldshttp://paul.frields.org/
  gpg fingerprint: 3DA6 A0AC 6D58 FEC4 0233  5906 ACDB C937 BD11 3717
  http://redhat.com/   -  -  -  -   http://pfrields.fedorapeople.org/
The open source story continues to grow: http://opensource.com
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-16 Thread Kevin Kofler
Stephen Gallagher wrote:
 tl;dr Shall we consider requiring a lesser package review for packages
 that are not present on Product or Spin install media?

TL;DR: No, at least not in the form you propose (allowing bundled 
libraries). See also my counterproposal below (voiced already in the oral 
discussion at DevConf, now written down for posterity).

 * The no-bundled-libraries policy means that when a library module
 requires an update, it means that only one package needs to be modified
 in order to enhance all applications on the system that consumes it.
 This is a significant time-saver when it comes to dealing with
 (increasingly common) security vulnerabilities.

Indeed, this helps both security fixes and regular bug fixes.

Another advantage of the policy is to save both disk space and RAM by 
avoiding duplication.

 * Legal review and the FPCA ensures that Fedora remains true to its
 Freedom Foundation (as well as protecting Fedora contributors from the
 perils of the international legal system).

And this part must not be negotiable.

 * Package reviews for less-interesting packages (such as those for less
 popular SIGs) often remain un-reviewed for weeks, months or even years.

See my counterproposal below.

 * The package policies are only ever reviewed during the initial
 creation of the package. Once that initial (high) hurdle is cleared, the
 packager essentially has free reign to do whatever they want with their
 package. This sometimes means that as time passes, the spec files
 bit-rot or otherwise start accumulating other inconsistencies. (A
 common example is the package whose upstream starts bundling a library
 without the packager noticing).

Surely the answer to that cannot be to simply allow poor quality from day 
one.

 * Many upstream projects do not concern themselves with being in any
 particular distribution (with the notable example being the
 Debian/Ubuntu flavors which have amassed a sufficient apparent userbase
 that they sometimes get special treatment). For a variety of reasons,
 this often leads directly to bundling the vast majority of their
 dependencies. This is done for many reasons, but the two most common are
 supportability and portability; it's impossible for many upstreams to
 actually QA their package with every possible distro library. Instead,
 if they ship everything they depend on, they can guarantee *that*
 specific combination. This moves the responsibility from the
 distribution to the upstream package to maintain their bundled
 libraries.

And that is not practical, also because it is then OUR responsibility to 
update to the new application that updates to the new bundled libraries. 
This just does not scale. Without bundled libraries, when we get notified of 
a security issue, we have to update the library and be done with it. With 
bundled libraries, we have to do one of the following processes:
a) working with upstream:
   for each package bundling the library {
 1. forward the security notification to its upstream
 2. wait for upstream to update the bundled library. We have no SLA
whatsoever there, so this can take theoretically forever!
 3. pick up the new upstream release with the new bundled library
 4. push that as an update to our users, with the required testing for a
new upstream release (typically longer than for a simple CVE fix)
   }
   Not only is this O(n) instead of O(1), but it also takes way too long for
   any security issue of sufficient importance.
b) bypassing upstream:
   for each package bundling the library {
 1. patch the bundled library ourselves
 2. push the updated application
   }
   Now this moves the delay again into our area of responsibility, so it can
   be done faster (eliminating the wait for upstream), but it is still O(n)
   instead of O(1) as in the unbundled case. In addition, this solution also
   has the usual problems of downstream patches. In particular, once the
   official upstream patch comes out, we need to drop our downstream patch,
   and then also have ANOTHER round of testing with the new upstream
   release.

So the only reasonable solution is to unbundle all the libraries, no matter 
what upstream thinks of that.

 * With many languages, there is no possibility of installing multiple
 versions of the same library on the same system, so if an application
 requires a newer or older version of the library than is in Fedora to
 run, it fails.

In this case, it is the packager's job to fix the program to work with the 
version of the library in the distribution. That's what we distributors are 
for.


I am also not convinced that this bundling issue is the main blocker for 
package reviews to begin with.


So, for my counterproposal:
I propose that packagers with a sufficient level of trust (packager 
sponsors, provenpackagers, or a new, yet-to-be-defined group (maybe 
packagers with at least N packages)) be allowed to import new packages with 
a self-review. We 

Re: [Proposal] Ring-based Packaging Policies

2015-02-16 Thread Michael Schwendt
On Mon, 16 Feb 2015 17:03:51 +0100, Kevin Kofler wrote:

 So, for my counterproposal:
 I propose that packagers with a sufficient level of trust (packager 
 sponsors, provenpackagers, or a new, yet-to-be-defined group (maybe 
 packagers with at least N packages)) be allowed to import new packages with 
 a self-review. We trust those people for so many things, and we know that 
 they understand the packaging guidelines, so why can we not trust them to 
 import their own packages without blocking on somebody else?

In case your suggestion includes a form of explicit self-approval,
there ought to be a few requirements for the packager to document what
has been reviewed. And possibly a short window when somebody may jump in
and contribute a real review or to block the package.

New packages often contain fundamental packaging mistakes, because a
packager may have stopped as soon as a build had succeeded. A second pair
of eyes can make a difference.

Not all submitters of new packages perform self-reviews. They don't
run fedora-review. They don't even do test-builds and test-installs for
all target dists. The guidelines read much more as if only the reviewers
is the one to perform the review (and be the one to blame in case something
slips through). = Every package submitter should attempt at doing
a self-review.

 Here are just 2 
 examples of packages that have been sitting in the queue for months and 
 would have gone in instantly with my proposed policy:
 https://bugzilla.redhat.com/show_bug.cgi?id=922781

It blocks the kde-reviews tracker ticket. So, is it correct to assume
that the KDE Sig has not found time to approve this quickly despite
your claims that it would be safe to give blanket approval?

There hasn't been an answer to the last comment, btw. No responding
is #1 reason for stalled reviews.

 https://bugzilla.redhat.com/show_bug.cgi?id=1125952

Assigned to a reviewer since Aug 2014, and it has taken many months
for an update to appear in Jan 2015. That's progress!

 The submitter has been a packager sponsor and provenpackager for years (and 
 even several of the people he sponsored are now also packager sponsors 
 and/or provenpackagers), so why do we need to waste our time reviewing his 
 packages when it's clear that he knows what he's doing?

And still there are counter-examples. Now I don't keep a log of what
really broken packages I run into (including ones that misplace files
or don't work at runtime), but cases like the following are packaged
to death and highly questionable:

  https://bugzilla.redhat.com/1175952

Hint: also compare with the duplicate that's packaged differently.
Plus, no progress if not even two people team up.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-15 Thread Kevin Fenzi
On Sun, 15 Feb 2015 13:32:57 -0600
Jason L Tibbitts III ti...@math.uh.edu wrote:

  KF == Kevin Fenzi ke...@scrye.com writes:

...snip...

 KF Additionally, FPC folks have done a great job recently (mostly due
 KF to Tibbs hard work) in catching up with their backlog. Bundling
 KF requests I would think would be much quicker than in the past.
 
 I appreciate the shoutout but James has been doing a ton of work too.

Thanks to both of you! (and the other FPC folks)
 
 Anyway, I think we're going to do much better with not letting things
 fall through the cracks, and to update when things don't get discussed
 in a meeting.  However, nothing is going to help the tickets sitting
 in needinfo.  We can't track down all of the requested information
 ourselves.
 
 KF Some ideas about the review queue:
 
 Honestly I would really, really like to have a completely separate
 discussion about the review queue.  Getting things hung up on bundling
 isn't the best way to make easy progress on any of the other issues.

Sure. agreed. It just seemed like this proposal was two parts: relaxing
bunding and reviews. 
 
 KF * Get some pool of people interested in being triage for the
 KF   queue. ie, check that things build, run fedora-review on them,
 KF   point submittors to how to get sponsored docs, close old reviews
 KF   with no response, etc.
 
 Easy: Most ofhis stuff needs to be submitted initially.  I would ping
 and eventually close any review tickets where the submitter hasn't
 provided this information.
 
 And I have done this in the past; it's pretty thankless.  Now that I'm
 mostly done cleaning up FPC stuff I might be able to find some time to
 garden the review queue, but I certainly wouldn't get in the way of
 anyone else wanting to do it.

I think a lot of this could be automated. If our bugzilla to fedmsg
connector finally appears we could even do it then. ie, new review
submmited gets a fedmsg that a bot/script checks the new review, asks
for missing stuff, runs various checks, etc. 
 
 KF * Moving reviews out of bugzilla has been proposed and some work I
 KF   think has been done for an app to do that.
 
 Bugzilla is merely a sort-of-convenient place to put reviews and it
 provides something we can bodge into a workflow, but I don't think
 anyone would complain if it moved somewhere else and if more things
 were automated.  I suppose fedora-review itself could also grow a way
 to submit a reasonable review to bugzilla if someone hasn't already
 written a tool to do that.

Yeah, with a review app we could do a lot of checking up front and only
submit the actual review once it passed that. 

kevin



pgpwyh_SqmCjo.pgp
Description: OpenPGP digital signature
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-15 Thread Jason L Tibbitts III
 KF == Kevin Fenzi ke...@scrye.com writes:

KF I know in the past the FPC has talked about relaxing the bundling
KF guidelines, perhaps we could get some of them to weigh in here?

Yeah, we had a big discussion about that a while back, where we sort of
agreed on a basic change of philosophy regarding some cases of bundling,
and an acceptance of reality in others.  Unfortunately this was done
back when the committee was a bit more dysfunctional than it is now, and
I'm not sure it actually got written down.  Which means that I have
digging through a couple of years of meeting logs on my schedule.

And in any case, I'm not sure it would really help in the majority of
cases involved here.  But it might help.  Really the reason we fail to
approve most bundling requests is because nobody bothers to provide us
with the information we ask for.  (Things like some statement of why the
upstreams believe they need to bundle, whether any of the upstreams are
amenable to patches, an assement of whether they actually track changes
to the things they bundle, what kind of changes they make to what they
bundle, etc.)  I think having these is really kind of important to avoid
just shoveling random stuff into random other stuff for reasons which
aren't clear to anyone on our (Fedora's) side, even if we were to
drastically relax the rules.

KF Additionally, FPC folks have done a great job recently (mostly due
KF to Tibbs hard work) in catching up with their backlog. Bundling
KF requests I would think would be much quicker than in the past.

I appreciate the shoutout but James has been doing a ton of work too.

Anyway, I think we're going to do much better with not letting things
fall through the cracks, and to update when things don't get discussed
in a meeting.  However, nothing is going to help the tickets sitting in
needinfo.  We can't track down all of the requested information
ourselves.

KF Some ideas about the review queue:

Honestly I would really, really like to have a completely separate
discussion about the review queue.  Getting things hung up on bundling
isn't the best way to make easy progress on any of the other issues.

KF * Get some pool of people interested in being triage for the
KF   queue. ie, check that things build, run fedora-review on them,
KF   point submittors to how to get sponsored docs, close old reviews
KF   with no response, etc.

Easy: Most ofhis stuff needs to be submitted initially.  I would ping
and eventually close any review tickets where the submitter hasn't
provided this information.

And I have done this in the past; it's pretty thankless.  Now that I'm
mostly done cleaning up FPC stuff I might be able to find some time to
garden the review queue, but I certainly wouldn't get in the way of
anyone else wanting to do it.

KF * Moving reviews out of bugzilla has been proposed and some work I
KF   think has been done for an app to do that.

Bugzilla is merely a sort-of-convenient place to put reviews and it
provides something we can bodge into a workflow, but I don't think
anyone would complain if it moved somewhere else and if more things were
automated.  I suppose fedora-review itself could also grow a way to
submit a reasonable review to bugzilla if someone hasn't already written
a tool to do that.

 - J
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-15 Thread drago01
On Thu, Feb 12, 2015 at 7:32 PM, Stephen Gallagher sgall...@redhat.com wrote:
 (Logistical note: please keep all replies to this thread on
 devel@lists.fedoraproject.org)
 [...]
 === Core Packages ===
 Any package that is provided on a release-blocking medium (which at
 present includes Fedora Atomic, Fedora Cloud, Fedora Server, Fedora
 Workstation, the KDE Spin and several ARM images) must comply exactly
 with the packaging guidelines as they are written today. These packages
 must receive a full package review *when they are added to the install
 media*. Any package present on the media if this proposal is adopted is
 exempted from this requirement. Any package to newly appear on the
 install media after this time *should* (I hate that word...) receive a
 new package review, even if it is already present in Fedora.

 === Ring Packages ===
 Any new package that is *not* going to be part of the install media set
 is required to pass a lighter review and is permitted to carry bundled
 libraries, with caveats to be listed below.

This is completely backwards ... what we wanted to do is to make
package is installed by default less important in favor of we have
a working software installing experience just install it afterwards
...
What you are doing here is to lessen the quality of the latter.

Also I am not buying that bundles libraries are that much of an
issue ... do you have any data to back this up? Other then chromium I
cannot think of any package that is out of fedora because of this.
Most packages just sit
in the review queue due to lack of reviewers not due to bundles libraries.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Ralf Corsepius

On 02/12/2015 07:32 PM, Stephen Gallagher wrote:

(Logistical note: please keep all replies to this thread on
devel@lists.fedoraproject.org)

tl;dr Shall we consider requiring a lesser package review for packages
that are not present on Product or Spin install media?

== Premise ==

So, some time ago, we started talking about dividing up the Fedora
package set into a series of rings. One of the driving purposes behind
this idea was to re-evaluate our policies for packaging in each of these
rings.


In first place, let me mention that I am not fond of these rings and 
would prefer this idea to be dumped.



* The no-bundled-libraries policy means that when a library module
requires an update, it means that only one package needs to be modified
in order to enhance all applications on the system that consumes it.
This is a significant time-saver when it comes to dealing with
(increasingly common) security vulnerabilities.
It is significant improver and key feature to avoid and fight bugs and 
vulnerability. Actually I believe, those people who endorse bundling may 
not have experienced yet the harm bundling can cause and indeed has 
caused in the early days of Linux.




=== Disadvantages ===
* Very strict policies often leads to potential packagers giving up.
That's on purpose. Of cause we the #1 objective is quality, but we set 
the hurdles high to weed out low-quality code and drive-by package 
submissions. Both were actual problems in the early days of Fedora.



* Package reviews for less-interesting packages (such as those for less
popular SIGs) often remain un-reviewed for weeks, months or even years.
Well, this had been a problem of the Fedora review process ever since, 
which has many origins, IMO.


1. Open reviews are hard to find.
2. The principle of assigning reviews (owning reviews) discourages 
prospective reviewers.
3. Interesting packages/reviews are hard to find. I think Fedora has 
reached the point, most new submissions only address niches.
4. There are people who seem to be striving for badges, by picking 
low hanging fruits (easy packages). IMO, these people are harmful to 
Fedora because they are violently locking out other reviewers.
5. The administrational noise. Fedora has adopted an amount of 
bureaucracy and administrational overhead, which is driving away 
packagers (Just count the steps and mails maintainers receive until a 
package has been released). I for one can not avoid to simply erase them

because the amount is overwhelming.
...



== Analysis ==
First, I will make an assumption based on the First Foundation: We as
the Fedora Project want people to have access to the software that they
desire. We may disagree on how that is to be achieved, but I believe the
goal is the same.

Second, I will call attention to the fact that different Fedora users
have very different needs from the software. For example, those running
Fedora Server and Fedora Cloud are likely far more concerned with Fedora
as a *deployment* platform than they are as a *development* platform.
Correct. To me, e.g. Fedora Server and Cloud are not of any interest. No 
problem with this, unless it's going to harm my deployment.



Packaging software for development and packaging it for real-world
deployment can be very different.
I do not agree. IMO, these are simply different configurations. But I 
agree insofar, as Fedora doesn't have the appropriate tooling to support 
such configurations.



== Conclusion ==
So that is my proposal to consider for Fedora 23+ (it's too late in the
Fedora 22 cycle to consider this, but I'd prefer starting the F23
discussion right away). Comments and suggestions are strongly
encouraged.


I regret, but IMO, the rings and different spins are just a waste of 
valuable and apparently scarce resources, which should better be 
invested elsewhere in Fedora.



Ralf



--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Michel Alexandre Salim
On Fri Feb 13 2015 at 2:02:27 AM Colin Walters walt...@verbum.org wrote:

 On Thu, Feb 12, 2015, at 01:32 PM, Stephen Gallagher wrote:

  tl;dr Shall we consider requiring a lesser package review for packages
  that are not present on Product or Spin install media?

 It's worth noting here that having two levels is not really going
 to be new to the ecosystem; e.g. Ubuntu has had Main/Universe
 for quite a while:
 https://help.ubuntu.com/community/Repositories/Ubuntu

 I just have one question: You're defining this split at the *runtime*
 level.  Last I saw the Base working group was trying to cut down
 BuildRequires
 (but sadly I haven't seen them fighting Requires yet - I would love
  if someone did that for Perl)

 If Ring 0 packages BuildRequire Ring 1 (or further)
 packages, ultimately their quality is going to be somewhat contingent
 on them.  Using bundling as a differentiator though, it does seem
 like there's likely a lot less pressure to require quick security
 updates for BuildRequires.

 Anyways, something I think is missing from here is more
 details on how this on the install media set distinction
 is maintained over time.  If it isn't separate (yum) repositories
 it seems like it's going to be hard to enforce.

 (Who would notice if a package in 0 started depending on a ring
  1?  Would that imply the new dependency needed another
  review pass?)


Having bumped into bundled library issues in the past, this to me sounds
like a good idea... provided exclude libraries at the beginning.

So: this should only leaf packages, plus applications that happen to have
add-on packages that depend on them, and only those that are not Ring 0
(not shipped in one of the install media).

A nice alternative is to use the staging area we talked about for this Ring
1 category.

Best regards,

-- 
Michel
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Emmanuel Seyman
* Paul Howarth [12/02/2015 20:05] :

 We generally have requires for most optional functionality in Perl
 packages at the moment, to avoid bugs being raised about missing
 dependencies when people try to use that optional functionality.

Based on past emails, I suspect that Colin wishes nothing in Base depended on
perl (ie. he wants Base to be perl-free), not that Perl packages had optional
Requires.

Emmanuel
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Michael Schwendt
On Fri, 13 Feb 2015 13:54:59 +0100, Ralf Corsepius wrote:

 Meanwhile, we've had much more critical vulnerablities in widely used 
 libs (Remember heartbleed), which all have been quite easy to fix 
 packaging-wise. IMO, to a great portion, thanks to having mostly banned 
 static linkage and bundling.

There's more to it, too.

Static linking is not only a risk with regard to security vulnerabilites.

You cannot retest against an updated static lib without relinking the
dependencies. You don't learn about new runtime breakage (or regressions)
caused by the changed static lib, because the programs still use an old
lib linked into them. The changed lib may have been out for many weeks as
an update, but nothing test-drives it. What a surprise, if the lib were
found to cause a sudden problem for a minor rebuild of a program. Or
worse, if the rebuild were released quickly because of expecting it to
be harmless, but the static lib under the hood has changed and breaks
runtime for users.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Ian Malone
On 13 February 2015 at 13:06, Michael Schwendt mschwe...@gmail.com wrote:
 On Thu, 12 Feb 2015 16:49:13 -0500, Stephen Gallagher wrote:

 On Thu, 2015-02-12 at 20:18 +0100, Alec Leamas wrote:
  On 12/02/15 19:32, Stephen Gallagher wrote:
   (Logistical note: please keep all replies to this thread on
   devel@lists.fedoraproject.org)
  
   tl;dr Shall we consider requiring a lesser package review for packages
   that are not present on Product or Spin install media?
 
 
  Thanks for bringing this up. We really need to do something about this,
  and the proposal is likely to get things rolling.
 
  This is really about two things, right? A lighter review and a general
  bundling exception for packages not in the core (?)
 

 Ultimately, it's about one thing: Help get more software into Fedora
 without scaring people away.

 What is the background for this? Who has been scared away?

 Is this about a few vocal people, who boycott everything related to
 packaging guidelines and update guidelines? We've had a few incidents like
 that *many* years ago when somebody wanted to put pressure on the Fedora
 Project because things are not done in the same way as preferred by such
 people.

 IMO:

 What scares away people primarly is the actual maintenance period during
 the life-cycle of a Fedora. Somebody, who is afraid of making mistakes,
 whether small or large, will likely not join at all. Somebody, who takes
 the requirements too lightly, will run into trouble sooner than later.
 A good example is the first lib upgrade that bumps the soname and has been
 pushed to stable without even testing installation, because of treating
 the repo like a dumping ground. The sudden requirements to learn about
 what needs to be done to prevent this (ABI checks, buildroot overrides,
 rebuilds) make some people think twice whether they want to maintain the
 packages at Fedora.  Plus, in order to rebuild dependencies, they would
 need to co-maintain the dependencies (for commit access) or actively
 communicate with the maintainers of the deps. For some this is too much
 effort to be worthwhile.

Actually, a question I have about this is how it will impact people
trying to become maintainers. When I last checked (it may have
changed) the only way to do that was to create a new package.
Typically that will be a package you're interested in getting into
Fedora which may be non-trivial and benefit from someone more
experienced doing it, or it might be somewhat arbitrarily chosen if
you want to help maintain an existing package.
So, is that implicit test (can you package according to the
guidelines?) going to become easier? Is it necessary to then have a
second level of approval before you can work on core packages if you
started on a non-core package? Should becoming a maintainer become a
bit more decoupled from the process of actually preparing a package?
This doesn't really affect the proposal at hand, but it would be useful to know.

-- 
imalone
http://ibmalone.blogspot.co.uk
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Stephen Gallagher



On Fri, 2015-02-13 at 13:54 +0100, Ralf Corsepius wrote:
 On 02/13/2015 10:56 AM, Petr Spacek wrote:
 
  Modified version of Zbyszek's idea with time constraints follows:
 
  1) Accept the new package into Fedora N even with bundled libraries.
 
 I am inclined to be Fedora needs to encounter a serious vulnerability 
 originating from bundling, such that you guys comprehend, why bundling 
 is utterly stupid ;)
 
 
 For those who don't know what I am talking about:
 Many years ago (IIRC, ~1999), nobody cared about static linkage or 
 bundling. At this time, it was common to statically link and/or bundle 
 libraries.
 
 Then a critically vulnerability was found in libz affecting all Linux 
 distros. Nobody knew which packages all bundled and/or statically linked 
 against different versions of libz. It took months for all Linux 
 distributions to identify their vulnerable packages, to find solutions 
 and to release security-fixes.
 
 Meanwhile, we've had much more critical vulnerablities in widely used 
 libs (Remember heartbleed), which all have been quite easy to fix 
 packaging-wise. IMO, to a great portion, thanks to having mostly banned 
 static linkage and bundling.

I'd like to point out something that I think you missed in my initial
email. I'm not saying that anything should be allowed to bundle software
transparently. The primary problem we faced back in '99 was that *we
didn't know what was bundling libz*. With an enforced virtual Provides:
bundled(foo) we can at least get an accurate listing of the set of
packages that would need to be updated in the event of a vulnerability.

Also, as mentioned in another thread, I'm certainly open to the idea of
making some specific exceptions to the rule (such as you may not bundle
packages like libz that have a long history of vulnerability). In other
words, I think it might be reasonable to have bundling in the outer
rings be a blacklist rather than a whitelist, so long as we can always
find out with a simple repoquery what contains a package.


signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: How to become a packager (was: Re: [Proposal] Ring-based Packaging Policies)

2015-02-13 Thread Rahul Sundaram
Hi

On Fri, Feb 13, 2015 at 11:40 AM, Ian Malone wrote:

 Thanks. I think when I'd looked at it I'd discounted the review and
 comment on others' submissions process as it would seem to require you
 to have a better idea of what you're doing than the person submitting
 the package, and potentially just creating noise when other people are
 looking at it too.
 Yes, probably a good idea maintainers know how to package. :)


You are also discounting the path of being a co-maintainer first.



  Random fire'n'forget builds in a public Fedora repo would be something
  that would scare me.

 This is sort of a situation we have by default, as it's simpler for
 people to package into the SUSE public repo.


Not sure how.  Please explain.   If the goal is to make it easier to do
fire and forget builds, then koji scratch builds and perhaps copr seems to
be a good option.

Rahul
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Ralf Corsepius

On 02/13/2015 04:51 PM, Matthew Miller wrote:

On Fri, Feb 13, 2015 at 04:43:53PM +0100, Ralf Corsepius wrote:

words, I think it might be reasonable to have bundling in the outer
rings be a blacklist rather than a whitelist, so long as we can always
find out with a simple repoquery what contains a package.

To me, this idea is not helpful.
All it does is to send upstreams a message which encourages to
disregard the issues of bundling, to work dirty and not to care
about their coding quality.


I think the stark reality is that few upstreams these days care about
any message we send, for or against coding quality. We're just not in a
strong position there, as much as I'd love it if we were.


I disagree - We need to send a message, to raise awareness about these 
issues (Beware the beginnigs!) and to be explict againt people who bundle.


Or differently: Not-bunlding is one of the key features, which fuels 
Linux befamed security. If you're dropping this, we worse than Windows.


Ralf

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: How to become a packager (was: Re: [Proposal] Ring-based Packaging Policies)

2015-02-13 Thread Ian Malone
On 13 February 2015 at 15:35, Michael Schwendt mschwe...@gmail.com wrote:
 On Fri, 13 Feb 2015 14:00:07 +, Ian Malone wrote:

 Actually, a question I have about this is how it will impact people
 trying to become maintainers. When I last checked (it may have
 changed) the only way to do that was to create a new package.

 That isn't the only way to become a packager. And it hasn't changed
 for a very long time:

   https://fedoraproject.org/wiki/Category:Package_Maintainers
- 
 https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

 Submitting a new package is just _one_ of multiple ways to find a sponsor,
 since it is an opportunity to demonstrate that you know packaging.


Thanks. I think when I'd looked at it I'd discounted the review and
comment on others' submissions process as it would seem to require you
to have a better idea of what you're doing than the person submitting
the package, and potentially just creating noise when other people are
looking at it too.
Yes, probably a good idea maintainers know how to package. :)

 Random fire'n'forget builds in a public Fedora repo would be something
 that would scare me.

This is sort of a situation we have by default, as it's simpler for
people to package into the SUSE public repo.

-- 
imalone
http://ibmalone.blogspot.co.uk
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Florian Weimer
On 02/12/2015 07:32 PM, Stephen Gallagher wrote:
 Second, I will call attention to the fact that different Fedora
 users have very different needs from the software. For example,
 those running Fedora Server and Fedora Cloud are likely far more
 concerned with Fedora as a *deployment* platform than they are as a
 *development* platform. Folks running Fedora Workstation or the KDE
 spin are likely to be somewhat more interested in the development
 side of things (though not exclusively).

Fedora Workstation includes very, very few development-related
packages, to the degree that it is completely unusable (by itself) for
almost all developers.

Many important development tools are completely outside the
Fedora.Next package set.  Previously, they were just a “yum install”
away, and there was little difference in practice.  I'm worried that
this proposal will have a negative affect on the quality of non-core
packages (over time at least).

 === Core Packages === Any package that is provided on a
 release-blocking medium (which at present includes Fedora Atomic,
 Fedora Cloud, Fedora Server, Fedora Workstation, the KDE Spin and
 several ARM images) must comply exactly with the packaging
 guidelines as they are written today. These packages must receive a
 full package review *when they are added to the install media*. Any
 package present on the media if this proposal is adopted is 
 exempted from this requirement. Any package to newly appear on the 
 install media after this time *should* (I hate that word...)
 receive a new package review, even if it is already present in
 Fedora.

Based on the comments above, I think the definition is much too
narrow.  It excludes fundamental development infrastructure such as
autoconf and cmake, and tools like gdb and valgrind.

I have nothing against the proposal in principle (to some extent, it
just reflects existing practice), but I do think we need a different
definition for the set of core packages.

By the way, this cuts in the other direction as well—I think the
proposed definition makes Docker and Kubernetes core packages (at
least eventually), and I think its developers really, really want a
wide-ranging bundling exception.

-- 
Florian Weimer / Red Hat Product Security
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Stephen John Smoogen
On 13 February 2015 at 09:05, Ralf Corsepius rc040...@freenet.de wrote:

 On 02/13/2015 04:51 PM, Matthew Miller wrote:

 On Fri, Feb 13, 2015 at 04:43:53PM +0100, Ralf Corsepius wrote:

 words, I think it might be reasonable to have bundling in the outer
 rings be a blacklist rather than a whitelist, so long as we can always
 find out with a simple repoquery what contains a package.

 To me, this idea is not helpful.
 All it does is to send upstreams a message which encourages to
 disregard the issues of bundling, to work dirty and not to care
 about their coding quality.


 I think the stark reality is that few upstreams these days care about
 any message we send, for or against coding quality. We're just not in a
 strong position there, as much as I'd love it if we were.


 I disagree - We need to send a message, to raise awareness about these
 issues (Beware the beginnigs!) and to be explict againt people who bundle.

 Or differently: Not-bunlding is one of the key features, which fuels Linux
 befamed security. If you're dropping this, we worse than Windows.


How do we send this message? Because it is clear other people are out of
ideas on how to do this in a way that software that people want to use care
about.


-- 
Stephen J Smoogen.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Ken Dreyer
On Fri, Feb 13, 2015 at 6:06 AM, Michael Schwendt mschwe...@gmail.com wrote:
 On Thu, 12 Feb 2015 16:49:13 -0500, Stephen Gallagher wrote:
 Ultimately, it's about one thing: Help get more software into Fedora
 without scaring people away.

 What is the background for this? Who has been scared away?

Here's one review where the submitter worked very hard to jump through
all the hoops until it came to the FPC bundling exception process.
It's my opinion that Carlos would be a Fedora package maintainer today
if that FPC process hadn't taken so long.
https://bugzilla.redhat.com/682544

In IRC, I've seen other users abandon ship earlier, once the
prospective developers are told that their goal of packaging X in
Fedora or EPEL would require doing some work to unbundle some library.
It's hardly a theoretical problem. I have no idea of the scope, of
course, but it does happen.

For myself, I believe in unbundling libraries, and I believe Linux
distros like Fedora and Debian contribute a great deal to the health
of the overall FOSS ecosystem. Certain upstream developers enjoy
lambasting distributions regarding bundling policies, and I wish these
same developers could step back and acknowledge how many patches and
improvements have also come upstream as a result of the distros' work
(unbundling work included).

Matt, you mentioned in another email in this thread that upstreams
don't care about the messages that we send. I agree that some
upstreams don't care about certain classes of problems, but they do
care about others. For example, XBMC hates that we've unbundled
ffmpeg, but on the other hand, they're quite happy to take our patches
to fix format-string bugs that Fedora's GCC defaults bring to light.
Things are not all rosy, but they're not all bleak, either.

Here's the new policy that I would vote for:

1) We allow bundled libraries, and each bundled library MUST have a
   virtual Provides: bundled(foo) in the RPM spec. (The packager SHOULD
   provide a version number too, with the admission that it is sometimes
   difficult to get this number correct.)

2) If another packager comes up with a patch to unbundle the library and files
   the patch in Bugzilla, then the package maintainer MUST take the
   patch.

3) If the package maintainer disagrees with the patch for whatever reason
   (maybe it's a feature regression, or whatever), they MUST bring it to
   the FPC for arbitration. The FPC must take into account the loss of
   functionality that unbundling could imply.

This revised policy would lower the barrier to entry for newcomers,
and still leave room for more advanced contributors to do the work if
they desired to do so.

- Ken
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Michael Schwendt
On Fri, 13 Feb 2015 17:45:23 -0700, Ken Dreyer wrote:

  On Thu, 12 Feb 2015 16:49:13 -0500, Stephen Gallagher wrote:
  Ultimately, it's about one thing: Help get more software into Fedora
  without scaring people away.
 
  What is the background for this? Who has been scared away?
 
 Here's one review where the submitter worked very hard to jump through
 all the hoops until it came to the FPC bundling exception process.
 It's my opinion that Carlos would be a Fedora package maintainer today
 if that FPC process hadn't taken so long.
 https://bugzilla.redhat.com/682544

So, everybody's grief is just the unbundling policy?
Is that the only thing that scares away people?
Everything related to this proposal is only because of bundling?

 Here's the new policy that I would vote for:
 
 1) We allow bundled libraries, and each bundled library MUST have a
virtual Provides: bundled(foo) in the RPM spec. (The packager SHOULD
provide a version number too, with the admission that it is sometimes
difficult to get this number correct.)
 
 2) If another packager comes up with a patch to unbundle the library and files
the patch in Bugzilla, then the package maintainer MUST take the
patch.
 
 3) If the package maintainer disagrees with the patch for whatever reason
(maybe it's a feature regression, or whatever), they MUST bring it to
the FPC for arbitration. The FPC must take into account the loss of
functionality that unbundling could imply.
 
 This revised policy would lower the barrier to entry for newcomers,
 and still leave room for more advanced contributors to do the work if
 they desired to do so.

Isn't the combination of 2) and 3) a potential threat that will scare away
the maintainer again? (especially if upstream doesn't accept the patch)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Alec Leamas

On 14/02/15 01:45, Ken Dreyer wrote:


Here's the new policy that I would vote for:

1) We allow bundled libraries, and each bundled library MUST have a
virtual Provides: bundled(foo) in the RPM spec. (The packager SHOULD
provide a version number too, with the admission that it is sometimes
difficult to get this number correct.)

2) If another packager comes up with a patch to unbundle the library and files
the patch in Bugzilla, then the package maintainer MUST take the
patch.

3) If the package maintainer disagrees with the patch for whatever reason
(maybe it's a feature regression, or whatever), they MUST bring it to
the FPC for arbitration. The FPC must take into account the loss of
functionality that unbundling could imply.

This revised policy would lower the barrier to entry for newcomers,
and still leave room for more advanced contributors to do the work if
they desired to do so.


In the end, I guess this is a trade-off between doing the Right Thing 
from the overall security and distro maintenance perspective, and doing 
the Right Thing from the follow the upstream view.


My gut feeling is that this trade-off is differs in different 
communities. So, what happens if we discuss this from a language point 
of view?


What if we, as a a starter, applied such a policy to e. g., ruby 
packages?  Expanding to other languages over time in a more controlled way?



Cheers!


--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-13 Thread Ralf Corsepius

On 02/13/2015 08:20 PM, Florian Weimer wrote:


I have some people express the notation that they can always switch to
the system library version in case a security vulnerability comes out,
but I doubt that this works in practice (because then there wouldn't
be a reason for bundling).


It sometimes works. Typically in cases when upstreams bundle a library, 
as conditional fallback or build-time option

- to cater cases an OS doesn't provide a library.
- because they believe to need a version greater than the version the 
OS provides (This is sometimes true, but sometimes also isn't)
- as convenience to occasional builders/installers, who doen't care 
about system integration.


These cases aren't actually uncommon, but in most cases the reasons for 
bundling are elsewhere:

- Dead upstreams
- Non-cooperational upstreams
- Don't care about system-integration.
- Lack of experience/naive upstream
...


Ralf



--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

[Proposal] Ring-based Packaging Policies

2015-02-12 Thread Stephen Gallagher
(Logistical note: please keep all replies to this thread on
devel@lists.fedoraproject.org)

tl;dr Shall we consider requiring a lesser package review for packages
that are not present on Product or Spin install media?

== Premise ==

So, some time ago, we started talking about dividing up the Fedora
package set into a series of rings. One of the driving purposes behind
this idea was to re-evaluate our policies for packaging in each of these
rings. A fair amount of time has passed and no formal discussions have
taken place (that I have seen, at any rate), so I'm going to provide
here a simple starter proposal that we can work from and see where it
leads.

To begin, I'll try to identify some of the major advantages and
disadvantages in our current policies. (In no particular order...)

=== Advantages ===
* Consistency: every shared library, language-specific module and
application should have packaging consistent with others in its
category. This makes it easier for comaintainers and provenpackagers to
pick it up and work on it.

* The no-bundled-libraries policy means that when a library module
requires an update, it means that only one package needs to be modified
in order to enhance all applications on the system that consumes it.
This is a significant time-saver when it comes to dealing with
(increasingly common) security vulnerabilities.

* Package review front-loads the task of educating the packagers. It
guarantees that packages enter the collection by meeting a very high
standard. This does a great deal to accomplish the consistency
mentioned above.

* Legal review and the FPCA ensures that Fedora remains true to its
Freedom Foundation (as well as protecting Fedora contributors from the
perils of the international legal system).

=== Disadvantages ===
* Very strict policies often leads to potential packagers giving up.

* Package reviews for less-interesting packages (such as those for less
popular SIGs) often remain un-reviewed for weeks, months or even years.

* The package policies are only ever reviewed during the initial
creation of the package. Once that initial (high) hurdle is cleared, the
packager essentially has free reign to do whatever they want with their
package. This sometimes means that as time passes, the spec files
bit-rot or otherwise start accumulating other inconsistencies. (A
common example is the package whose upstream starts bundling a library
without the packager noticing).

* Many upstream projects do not concern themselves with being in any
particular distribution (with the notable example being the
Debian/Ubuntu flavors which have amassed a sufficient apparent userbase
that they sometimes get special treatment). For a variety of reasons,
this often leads directly to bundling the vast majority of their
dependencies. This is done for many reasons, but the two most common are
supportability and portability; it's impossible for many upstreams to
actually QA their package with every possible distro library. Instead,
if they ship everything they depend on, they can guarantee *that*
specific combination. This moves the responsibility from the
distribution to the upstream package to maintain their bundled
libraries.

* With many languages, there is no possibility of installing multiple
versions of the same library on the same system, so if an application
requires a newer or older version of the library than is in Fedora to
run, it fails. For those languages that *do* allow this, it still adds a
significant maintenance burden on the packagers to keep multiple
versions of the same package up-to-date (which gets particularly hard
when upstream abandons a version that something else in Fedora depends
on...)


== Analysis ==
First, I will make an assumption based on the First Foundation: We as
the Fedora Project want people to have access to the software that they
desire. We may disagree on how that is to be achieved, but I believe the
goal is the same.

Second, I will call attention to the fact that different Fedora users
have very different needs from the software. For example, those running
Fedora Server and Fedora Cloud are likely far more concerned with Fedora
as a *deployment* platform than they are as a *development* platform.
Folks running Fedora Workstation or the KDE spin are likely to be
somewhat more interested in the development side of things (though not
exclusively).

Packaging software for development and packaging it for real-world
deployment can be very different. I'm not going to attempt to identify
all the ways that this can be the case in this email. Others have done
so with great verbosity in the past and I will not attempt to re-hash
them.

Thirdly, I will note (again) that many upstream projects have moved away
from a distro-centric model. This is in part because unlike in the past,
there are a great many distributions out there now, all with individual
packaging requirements to be inside those distros. Taken in concert with
the behaviors of many of the 

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Colin Walters
On Thu, Feb 12, 2015, at 01:32 PM, Stephen Gallagher wrote:

 tl;dr Shall we consider requiring a lesser package review for packages
 that are not present on Product or Spin install media?

It's worth noting here that having two levels is not really going
to be new to the ecosystem; e.g. Ubuntu has had Main/Universe
for quite a while:
https://help.ubuntu.com/community/Repositories/Ubuntu

I just have one question: You're defining this split at the *runtime*
level.  Last I saw the Base working group was trying to cut down BuildRequires
(but sadly I haven't seen them fighting Requires yet - I would love
 if someone did that for Perl)

If Ring 0 packages BuildRequire Ring 1 (or further)
packages, ultimately their quality is going to be somewhat contingent
on them.  Using bundling as a differentiator though, it does seem
like there's likely a lot less pressure to require quick security
updates for BuildRequires.

Anyways, something I think is missing from here is more
details on how this on the install media set distinction
is maintained over time.  If it isn't separate (yum) repositories
it seems like it's going to be hard to enforce.

(Who would notice if a package in 0 started depending on a ring
 1?  Would that imply the new dependency needed another
 review pass?)
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Stephen Gallagher



On Thu, 2015-02-12 at 14:01 -0500, Colin Walters wrote:
 On Thu, Feb 12, 2015, at 01:32 PM, Stephen Gallagher wrote:
 
  tl;dr Shall we consider requiring a lesser package review for packages
  that are not present on Product or Spin install media?
 
 It's worth noting here that having two levels is not really going
 to be new to the ecosystem; e.g. Ubuntu has had Main/Universe
 for quite a while:
 https://help.ubuntu.com/community/Repositories/Ubuntu

 I just have one question: You're defining this split at the *runtime*
 level.  Last I saw the Base working group was trying to cut down BuildRequires
 (but sadly I haven't seen them fighting Requires yet - I would love
  if someone did that for Perl)
 
 If Ring 0 packages BuildRequire Ring 1 (or further)
 packages, ultimately their quality is going to be somewhat contingent
 on them.  Using bundling as a differentiator though, it does seem
 like there's likely a lot less pressure to require quick security
 updates for BuildRequires.
 
 Anyways, something I think is missing from here is more
 details on how this on the install media set distinction
 is maintained over time.  If it isn't separate (yum) repositories
 it seems like it's going to be hard to enforce.
 

Well, it already *is* a separate repository to create the build trees,
so we always have a clear picture of what's in them. (The Everything and
updates repos are always a superset).

 (Who would notice if a package in 0 started depending on a ring
  1?  Would that imply the new dependency needed another
  review pass?)

We'd have to be keeping an eye on the contents of the install trees and
yes, that would require a new review pass, in my current proposal. I'd
be willing to grant a blanket exception for packages that were in the
distro up to the acceptance of this proposal (rather than only those
that were on the install media) though.


signature.asc
Description: This is a digitally signed message part
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Alec Leamas

On 12/02/15 19:32, Stephen Gallagher wrote:

(Logistical note: please keep all replies to this thread on
devel@lists.fedoraproject.org)

tl;dr Shall we consider requiring a lesser package review for packages
that are not present on Product or Spin install media?



Thanks for bringing this up. We really need to do something about this, 
and the proposal is likely to get things rolling.


This is really about two things, right? A lighter review and a general 
bundling exception for packages not in the core (?)


As for the bundling exception I more or less just agree. One detail 
might be to add some text about not having bundled libraries in system 
locations, and not exporting (filtering) them.


As for the lighter review this is not so clear to me. I agree that we 
need to relax the review, but:


  - Wouldn't it feel a little more comfortable to list the exceptions 
we allow compared to a regular review rather than starting with just 
some broad statements what the review is?


  - Shouldn't we make a distinction between 'review' and 'pass'. E. g., 
even if we allow bundled libs, we should definitely review and locate 
them. Isn't the situation similar for other things: while we still 
review them, things that are blockers in ring 0 could pass in ring 1?


Colin walters wrote:


Anyways, something I think is missing from here is more
details on how this on the install media set distinction
is maintained over time.  If it isn't separate (yum) repositories
it seems like it's going to be hard to enforce.



A virtual provides in all ring 1 packages?


Cheers!

--alec
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Paul Howarth
On Thu, 12 Feb 2015 14:01:43 -0500
Colin Walters walt...@verbum.org wrote:

 On Thu, Feb 12, 2015, at 01:32 PM, Stephen Gallagher wrote:
 
  tl;dr Shall we consider requiring a lesser package review for
  packages that are not present on Product or Spin install media?
 
 It's worth noting here that having two levels is not really going
 to be new to the ecosystem; e.g. Ubuntu has had Main/Universe
 for quite a while:
 https://help.ubuntu.com/community/Repositories/Ubuntu
 
 I just have one question: You're defining this split at the *runtime*
 level.  Last I saw the Base working group was trying to cut down
 BuildRequires (but sadly I haven't seen them fighting Requires yet -
 I would love if someone did that for Perl)

We generally have requires for most optional functionality in Perl
packages at the moment, to avoid bugs being raised about missing
dependencies when people try to use that optional functionality.

If there was consensus about use of soft dependencies, that would
probably help a lot in the Perl world.

Paul.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Björn Persson
Stephen Gallagher wrote:
* The package *MAY* contain bundled libraries or other projects, but if
it does so, it *MUST* contain a Provides: bundled(pkg) = version for
each such bundling. This is done so that we can use the meta-data to
identify which packages may be vulnerable in the event of a security
issue.

Before (and if) this becomes policy, it must be defined exactly what
pkg shall be. In some cases it's obvious. In other cases a name
exists in multiple variants. If we end up with one package bundling
gpg, another gnupg and a third gpg2, then the policy hasn't
fulfilled its purpose of making it easy to find all packages that
bundle a particular piece of software.

Shall it be the name of the RPM package in Fedora? Or the source RPM
package? But what if there isn't a Fedora package of the bundled
software? Shall it be the name of the upstream source tarball? Some
projects don't even release tarballs. The soname? That works only for
compiled libraries. The project name on Sourceforge/Github/Savannah/...?
The domain name of its website? But one project can distribute multiple
packages, and some projects use multiple websites and nothing enforces
that the name is the same everywhere. Could the name of the root
directory of its source code tree be used? Some source packages
(especially those that are packaged in zip files instead of tarballs)
contain multiple files and directories without a common root directory.

-- 
Björn Persson


pgp6ongLGAOLp.pgp
Description: OpenPGP digital signatur
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [Proposal] Ring-based Packaging Policies

2015-02-12 Thread Zbigniew Jędrzejewski-Szmek
On Thu, Feb 12, 2015 at 01:32:04PM -0500, Stephen Gallagher wrote:
 (Logistical note: please keep all replies to this thread on
 devel@lists.fedoraproject.org)
 
 tl;dr Shall we consider requiring a lesser package review for packages
 that are not present on Product or Spin install media?
Despite the title, and the tl;dr summary, what you are proposing boils
down to a blanket exception on bundling. This is both not enough and
dangerous. I agree that we could relax the rules in some places, where
the effort of conforming to Guidelines is just too big for the real
gain. But I think the way this is done should be much more subtle,
based on an analysis of individual tradeoffs.

In your proposal the ring of the package is the important thing. But
the dependency tree is a very well connected graph, and various fringe
packages are used by core packages, so there's no way to develop
anything using just the core, and any real-life server is also going
to include packages from all rings. Security bugs in fringe
web-facing services are more important than bugs in core tools
which are purely local. For example, recent XSS vulnerability in
jquery [1] nicely cuts through all rings. Unbundling jquery here would
give a huge benefit, and does not become less important the farther a
package is from the core.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1166041

 == Premise ==
 
 So, some time ago, we started talking about dividing up the Fedora
 package set into a series of rings. One of the driving purposes behind
 this idea was to re-evaluate our policies for packaging in each of these
 rings. A fair amount of time has passed and no formal discussions have
 taken place (that I have seen, at any rate), so I'm going to provide
 here a simple starter proposal that we can work from and see where it
 leads.
 
 To begin, I'll try to identify some of the major advantages and
 disadvantages in our current policies. (In no particular order...)
 
 === Advantages ===
 * Consistency: every shared library, language-specific module and
 application should have packaging consistent with others in its
 category. This makes it easier for comaintainers and provenpackagers to
 pick it up and work on it.
 
 * The no-bundled-libraries policy means that when a library module
 requires an update, it means that only one package needs to be modified
 in order to enhance all applications on the system that consumes it.
 This is a significant time-saver when it comes to dealing with
 (increasingly common) security vulnerabilities.
 
 * Package review front-loads the task of educating the packagers. It
 guarantees that packages enter the collection by meeting a very high
 standard. This does a great deal to accomplish the consistency
 mentioned above.
 
 * Legal review and the FPCA ensures that Fedora remains true to its
 Freedom Foundation (as well as protecting Fedora contributors from the
 perils of the international legal system).
 
 === Disadvantages ===
 * Very strict policies often leads to potential packagers giving up.
True. But packagers often give up for many other reasons, including
unresolved legal problems with the software, many different packaging
problems other than bundling, lack of sponsors, etc.

 * Package reviews for less-interestingackages (such as those for less
 popular SIGs) often remain un-reviewed for weeks, months or even years.
 
 * The package policies are only ever reviewed during the initial
 creation of the package. Once that initial (high) hurdle is cleared, the
 packager essentially has free reign to do whatever they want with their
 package. This sometimes means that as time passes, the spec files
 bit-rot or otherwise start accumulating other inconsistencies. (A
 common example is the package whose upstream starts bundling a library
 without the packager noticing).
Your proposal would only worsen, not fix that.

 * Many upstream projects do not concern themselves with being in any
 particular distribution (with the notable example being the
 Debian/Ubuntu flavors which have amassed a sufficient apparent userbase
 that they sometimes get special treatment). For a variety of reasons,
 this often leads directly to bundling the vast majority of their
 dependencies. This is done for many reasons, but the two most common are
 supportability and portability; it's impossible for many upstreams to
 actually QA their package with every possible distro library. Instead,
 if they ship everything they depend on, they can guarantee *that*
 specific combination. This moves the responsibility from the
 distribution to the upstream package to maintain their bundled
 libraries.
I think this responsibility is an illusion. Most upstreams only care
that the bundled versions allow their package to continue to work, and
are not at all capable of fixing vulnerabilities or even other bugs.

I think that it is also very unlikely that packages would be properly
reviewed when they move to an inner ring. Look at how well the merge