Glenn Maynard wrote:
In the case of a device driver, that dependency would still be there if the firmware was in ROM. Which would put pretty much all of our device drivers, X (talks to VESA code), APM and ACPI (talks to BIOS), and so on, in contrib too.It's free, but it has a non-optional dependency on non-free software, which means contrib, not main.
The only logical demarcation I can see is that we have Free Software down to the bus programming interface. What lives on the other side of the bus programming interface isn't our problem unless we have to put it there, just as the fact that proprietary software runs in the other systems that we talk to on the network does not comprimise the freeness of our system.
I agree that it would have to be working firmware and it is anticipated that it will not be Free Software.In reality, it doesn't talk to an arbitrary firmware file; it has to talk to a functional one, or the driver is not going to do anything useful.
That type of notice is a big hint that something belongs in contrib, IMO; theStuff in contrib generally has a package dependency on something in non-free that is necessary to install it, and the entire package is not functional if that dependency is not fulfilled. The driver is a component of the larger kernel which remains functional.
real effects are the same as saying "go download and install this non-free
JRE".
One or two people have argued that these drivers still have a use, even whenMoving something from contrib to main doesn't violate Debian's principles. Moving something from non-free to main or contrib without the necessary license change would. Contrib is there to tell you that something is DFSG-free but is not functional without a non-DFSG-free component. Contrib provides a a message to the user and a convenience for the Debian developers, it is not a purgatory for almost-free software.
the firmware is not available: it can be used as a starting point for
implementing a free firmware; and so it should go in main. I think that's
akin to saying, "this program that requires a non-free shared library can be
used as a starting point for reimplementing the library, so it should go in
main". That's bogus; by that logic, everything in contrib would be allowed
in main.
Thanks
Bruce