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. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org