Web lists-archives.com

Re: Whether remotely running software is considered "software" for Debian.

"Dr. Bas Wijnen" <wijnen@xxxxxxxxxx> 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

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

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