[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#681419: Alternative main->non-free dependencies text



So I promised to write up my position on this.  Sorry it's taken so
long.


Firstly, I think it's very disingenous to say that putting
"Recommends: foo | bar" is not a recommendation by Debian of bar.
Mentioning in a positive way such specific non-free software is
clearly an endorsement, no matter any official position statements
claiming that it isn't.

The fact that the word "Recommends" is used is not just a matter of
"invisible" package metadata.  It appears in many places
(packages.d.o, package manager UIs, etc.)  And there are no "hygiene"
rules about when alternative names should be displayed, so that (for
example) a user who choses not to enable non-free isn't presented
(say when they try to remove "foo") with a suggestion to install a
non-free program.

It is utterly trivial to use neutrally-named virtual packages instead,
in this case.  There are no cases of versioned dependencies.

The main goal of the project is promoting software freedom.  We should
not undermine that by promoting non-free software when it is so easy
to avoid doing so.

We aren't (or at least I'm not) proposing to make these cases a
release-critical bug.  It should however be a bug that should be
recorded in the BTS, and which interested parties can work on to
improve make Debian better promote software freedom.

Also a relevant consideration is what people like the FSF think of us.
I think we should be willing to make this small concession in order to
work better with our allies.  The concession doesn't threaten our
principles at all.  (Unless it's against our principles to take
account of the views of our allies and do a bit of extra work to make
them happier with us - which I hope it isn't!)

(I think a weaker version of the same argument applies to Suggests.  I
haven't seen statistics about how many Suggests we have from main to
non-free.  If there are lots then it would make sense to implement
Enhances instead.  But at this stage I don't propose to argue about
Suggests.)


To put all this in the form of alternative paragraphs for a
Colin's resolution:

  4. Listing a package explicitly in a Recommends field clearly states
     that we are recommending it, even if the package appears only as
     a secondary alternative.  Official statements to the contrary are
     ineffective at preventing readers from getting the impression
     that packages mentioned in "Recommends" are being recommended.

  5. One of the main goals of the Debian Project is to promote
     software freedom.  Promoting software freedom includes avoiding
     promoting non-free software, at the very least when it's
     straightforward to do so.

  6. The alternative, of using a neutrally-named virtual package, is
     only slightly inconvenient.  Virtual packages are a suitable
     existing mechanism for packages to declare the set of abstract
     features they provide, and allow packages in main to depend on
     such abstract features without needing to name every (free or
     non-free) alternative.

  7. There are not very many dependencies which need to be fixed.
     In any case, changing the policy (without making this a release
     critical bug) doesn't constitute a demand that the existing
     maintainers do this work.  However, it is needed to ensure that
     those who do want to do the work can get their changes accepted.

  Therefore:

  8. The Technical Committee resolves that alternative dependencies of
     the form "Depends: package-in-main | package-in-non-free"
     constitute a non-release-critical violation of the policy
     clause cited in point 1.

  9. When it is necessary to provide a reference in a Depends or
     Recommends from main to non-free, this should be done via a
     neutrally named virtual package.

  10. The Technical Committee requests that the policy editors make
     an appropriate clarification to the policy documents.

Ian.


Reply to: