On Thu, Jan 06, 2005 at 09:36:10PM -0500, Michael Poole wrote: > "Depends" and "Build-Depends" are not necessarily the entirety of the > Social Contract's idea of dependency.
We're not saying they are. (For example, that would imply that the tech ctte would have a great deal of power over the DFSG; they don't.) It's just a useful guideline, and a good starting point for what the SC's "depends"/"requires" means. > > Right now, we don't require clients to Depends:, Recommends:, or > > Build-Depends: on servers. > > We don't require drivers to Depends:, Recommends: or Build-Depends: on > hardware, either. ... which I think is consistent with the use of Depends: as a guideline for SC#1. I believe neither requiring hardware nor requiring access to a remote server is a violation of the spirit of SC#1. > I disagree that the driver would Depends: on the firmware. Well, maybe we're coming closer to the root of our disagreement. I thought it was self-evident that, if a driver is packaged (on its own[1]), and firmware for that device was packaged (on its own), and the hardware must be sent the firmware by the driver to do anything, that the driver package would Depends: on the firmware. > As "web applications" and other distributed programs become more > common, we will run into more and more problematic divisions between > the two endpoints. I believe they should be treated consistently > regardless of the communication bus between the Debian software and > what it talks to. If there's a parallel between ICQ servers and hardware, it seems to me that the ICQ server is like a physical hardware device which requires no firmware. If (all) ICQ servers required that I send it a copy, as a bitstream, of Dune before doing anything useful, then Dune seems like firmware. The client wouldn't be useful without a copy of Dune (unless some servers don't require it--eg. hardware devices with the firmware in flash), and I'd expect the client to Depends: dune, moving it to contrib if it's not packaged or in non-free. I'm open to any examples of client/server applications which require copyrightable non-free bits to be sent to the server by the client, that aren't as contrived as the above, to aid discussion. [1] compilations of drivers, such as the Linux kernel, may or may not be different; let's ignore that for sanity of discussion for the moment -- Glenn Maynard