"Dr. Bas Wijnen" <wij...@debian.org> writes: > I'm referring to policy 2.2, which lists what software belongs in main > and what belongs in contrib. While this is not voted on and it does > not follow directly from the SC, I thought there was agreement that > what's in Policy 2.2 is a good way to determine where software should > go. In particular, if it is free, but requires software outside of > main to do its job, then it should go in contrib.
The parts of Policy §2.2 relevant to this appear to be: §2.2.1 “The main archive area” […] In addition, the packages in _main_ * must not require or recommend a package outside of _main_ for compilation or execution (thus, the package must not declare a [dependency relationship] on a non-_main_ package) […] §2.2.2 “The contrib archive area” The _contrib_ archive area contains supplemental packages intended to work with the Debian distribution, but which require software outside of the distribution to either build or function. […] Examples of packages which would be included in _contrib_ are: * free packages which require _contrib_, _non-free_ packages or packages which are not in our archive at all for compilation or execution […] The language is clear that it is talking about dependency in the sense of requiring the program installed on the system in order for the program to build or execute. > People are arguing here that "It requires a network server that is not > in main" is fundamentally different from "it requires local software > that is not in main". I don't know of any program even proposed for Debian that would require a network server in order to build or execute that program. So yes, that is a distinction that is salient in the above Policy language. > I think they are equivalent; server software is still software and I > don't see why it running remotely suddenly makes it acceptable to > depend on it. You appear to be using “depend” here to mean “without this the program *is not useful*”. That is not a distinction relevant to the above Policy sections. They speak only to whether the program will build or execute. Whether the program does something useful is not relevant for the categorisation into different archive areas, as laid out in the above Policy sections. > Policy 2.2. So again, I'm not saying the rules apply to the external > software, I'm just saying that the external software is indeed > software and therefore depending on it requires a package to be moved > to contrib if the external software is not packaged in Debian (main). The text of the above Policy sections uses “depend” and “require” in the sense only for the cases they explicitly state: that of building the program or executing it. > Similarly, if a client program's purpose is to connect to a server > that is not in main, the server operator doesn't need to do anything, > but the fact that it is not in main means (IMO, but apparently that is > disputed) that the client must be in contrib. The language in Policy §2.2 does not relate to any program's purpose at all. Policy experts may correct me, but I find that your interpretation does not fit what is written there. -- \ “When I was born I was so surprised I couldn't talk for a year | `\ and a half.” —Gracie Allen | _o__) | Ben Finney