New position statement on firmware

2009-04-13 Thread Ben Hutchings
The current text at http://wiki.debian.org/KernelFirmwareLicensing is:

 Debian kernel team identifies the following three types of firmware, currently
 found in the Linux kernel:
 1. Sourceless binary blobs with no license, no explicit permission to 
 redistribute, or
an explicit prohibition to redistribute.
This category currently includes the emi62, keyspan, smctr,
cops, emi26, and 3c359 drivers. Removal of these drivers will have minimal
impact on the users, as they are believed to be unpopular and not likely to
be required during the installation.
 2. Sourceless binary blobs distributed under GPL.
This situation has been interpreted as a violation of the terms of GPL, 
 which
requires the distribution to be accompanied by the source code. Removal of
firmware in this category will cause effective removal of a large number of
important drivers, resulting in a severe negative impact on our users.
 3. Binary blobs violating DFSG for other reasons.
This category includes firmware which contains obfuscated source, or is not
allowed to be modified. While less numerous than category 2, removal of
drivers in this category will also have a significant negative
impact on our users.
 It has been agreed within Debian kernel team, that the firmware in category 1
 is not acceptable in Debian. It is the intention of the kernel team to prune 
 the
 affected drivers from the upstream tarball.
 While we continuosly strive to improve the situation with DFSG-compliance of 
 kernel
 packages, and there has been progress on it since Sarge release, we recognize 
 that
 fixing all the problems with drivers falling into categories 2 and 3 is not 
 feasible
 in the etch release time frame. Alternative solutions, like removal of the 
 affected
 drivers would have a severe negative impact on our users, and would be 
 detrimentary
 to the Debian's goal of advancement of free software. Therefore, we propose 
 to accept
 the drivers from categories 2 and 3 in the kernel packages for etch, given 
 that an
 agreement can be achieved with release and ftp-master teams, or the issue is
 resolved by way of General Resolution.

This is clearly outdated in its reference to etch and lack of reference
to the current approach using firmware loader and firmware-nonfree.  I
propose a new statement along these lines:

The Debian kernel team identifies the following three types of firmware,
currently found in the Linux kernel:

1. Sourceless binary blobs with no license, no explicit permission to
   redistribute, or an explicit prohibition to redistribute.
   This category currently includes the emi62, keyspan, smctr, cops,
   emi26, and 3c359 drivers.  Removal of these drivers will have minimal
   impact on users, as they are believed to be unpopular and not likely
   to be required during installation.
2. Sourceless binary blobs distributed under GPL.
   This situation has been interpreted as a violation of the terms of
   GPL, which requires the distribution to be accompanied by the source
   code.  This affects several important drivers.
3. Binary blobs violating DFSG for other reasons.
   This category includes firmware which contains obfuscated source, or
   is not allowed to be modified.

It is the intention of the kernel team to:

a. Request relicensing of blobs in category 2
b. Patch drivers in categories 2 and 3 to load separate firmware
c. Prune the blobs from the upstream tarball
d. Disable affected drivers in category 1, and in category 2 where
   relicensing is impossible

Ben.



signature.asc
Description: This is a digitally signed message part


Re: New position statement on firmware

2009-04-13 Thread dann frazier
On Mon, Apr 13, 2009 at 05:53:22PM +0100, Ben Hutchings wrote:
 The current text at http://wiki.debian.org/KernelFirmwareLicensing is:
 
  Debian kernel team identifies the following three types of firmware, 
  currently
  found in the Linux kernel:
  1. Sourceless binary blobs with no license, no explicit permission to 
  redistribute, or
 an explicit prohibition to redistribute.
 This category currently includes the emi62, keyspan, smctr,
 cops, emi26, and 3c359 drivers. Removal of these drivers will have 
  minimal
 impact on the users, as they are believed to be unpopular and not likely 
  to
 be required during the installation.
  2. Sourceless binary blobs distributed under GPL.
 This situation has been interpreted as a violation of the terms of GPL, 
  which
 requires the distribution to be accompanied by the source code. Removal 
  of
 firmware in this category will cause effective removal of a large number 
  of
 important drivers, resulting in a severe negative impact on our users.
  3. Binary blobs violating DFSG for other reasons.
 This category includes firmware which contains obfuscated source, or is 
  not
 allowed to be modified. While less numerous than category 2, removal of
 drivers in this category will also have a significant negative
 impact on our users.
  It has been agreed within Debian kernel team, that the firmware in category 
  1
  is not acceptable in Debian. It is the intention of the kernel team to 
  prune the
  affected drivers from the upstream tarball.
  While we continuosly strive to improve the situation with DFSG-compliance 
  of kernel
  packages, and there has been progress on it since Sarge release, we 
  recognize that
  fixing all the problems with drivers falling into categories 2 and 3 is not 
  feasible
  in the etch release time frame. Alternative solutions, like removal of the 
  affected
  drivers would have a severe negative impact on our users, and would be 
  detrimentary
  to the Debian's goal of advancement of free software. Therefore, we propose 
  to accept
  the drivers from categories 2 and 3 in the kernel packages for etch, given 
  that an
  agreement can be achieved with release and ftp-master teams, or the issue is
  resolved by way of General Resolution.
 
 This is clearly outdated in its reference to etch and lack of reference
 to the current approach using firmware loader and firmware-nonfree.  I
 propose a new statement along these lines:
 
 The Debian kernel team identifies the following three types of firmware,
 currently found in the Linux kernel:

Thanks for working on this.

 1. Sourceless binary blobs with no license, no explicit permission to
redistribute, or an explicit prohibition to redistribute.
This category currently includes the emi62, keyspan, smctr, cops,
emi26, and 3c359 drivers.  Removal of these drivers will have minimal
impact on users, as they are believed to be unpopular and not likely
to be required during installation.
 2. Sourceless binary blobs distributed under GPL.
This situation has been interpreted as a violation of the terms of
GPL, which requires the distribution to be accompanied by the source
code.  This affects several important drivers.
 3. Binary blobs violating DFSG for other reasons.
This category includes firmware which contains obfuscated source, or
is not allowed to be modified.


 It is the intention of the kernel team to:

This sounds more like a plan instead of a position statement. imo, a
position statement should be more along the lines of what we will
permit and what we won't, as opposed to what we are currently planning
to work on.

 a. Request relicensing of blobs in category 2

As a position, I would say something like:

Debian should work with the copyright holders of the blobs in category 2
categories 1 and 2, 

 b. Patch drivers in categories 2 and 3 to load separate firmware

This might be more clear:

Add driver support for loading the firmware from userspace and
provide packages for the firmware files in the non-free section of
the archive.


 c. Prune the blobs from the upstream tarball

Might be too jargon for non-dds, maybe:
  Remove the blobs from the source we redistribute?

 d. Disable affected drivers in category 1, and in category 2 where
relicensing is impossible

This is the one part where I have a different view - I don't see any
problem with enabling these drivers and adding request_firmware
support. We can't redistribute them, but users are free to way their
own legal risks and install these files from other sources. And to me,
that's no reason to force them to compile their own kernel.

Of course, I'm not saying that we should consider that work a
priority but, if provided with a patch (or one is inherited from
upstream), I don't see why we should reject it.

-- 
dann frazier


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. 

Re: New position statement on firmware

2009-04-13 Thread Ben Hutchings
On Mon, 2009-04-13 at 11:31 -0600, dann frazier wrote:
[...]
  It is the intention of the kernel team to:
 
 This sounds more like a plan instead of a position statement. imo, a
 position statement should be more along the lines of what we will
 permit and what we won't, as opposed to what we are currently planning
 to work on.

That's true, but the original had this too.  Let's change the title to
Kernel team plan for handling sourceless firmware.

[...]
  d. Disable affected drivers in category 1, and in category 2 where
 relicensing is impossible
 
 This is the one part where I have a different view - I don't see any
 problem with enabling these drivers and adding request_firmware
 support.

I don't think our views differ significantly.

 We can't redistribute them, but users are free to way their
 own legal risks and install these files from other sources. And to me,
 that's no reason to force them to compile their own kernel.
 
 Of course, I'm not saying that we should consider that work a
 priority but, if provided with a patch (or one is inherited from
 upstream), I don't see why we should reject it.

I agree there's no reason to reject patches.  In cases where a driver
depends on non-free firmware and cannot load it from a separate file at
run-time then we disable it.  It makes sense to prioritise any work we
do based largely on popularity of the hardware and availability of the
firmware to our users.  I compressed that into the sloppy wording in (d)
above.

I agree with all your other proposed clarifications.

Ben.



signature.asc
Description: This is a digitally signed message part


Re: New position statement on firmware

2009-04-13 Thread maximilian attems
On Mon, Apr 13, 2009 at 07:21:02PM +0100, Ben Hutchings wrote:
 On Mon, 2009-04-13 at 11:31 -0600, dann frazier wrote:
 [...]
   It is the intention of the kernel team to:
  
  This sounds more like a plan instead of a position statement. imo, a
  position statement should be more along the lines of what we will
  permit and what we won't, as opposed to what we are currently planning
  to work on.
 
 That's true, but the original had this too.  Let's change the title to
 Kernel team plan for handling sourceless firmware.
 
 [...]
   d. Disable affected drivers in category 1, and in category 2 where
  relicensing is impossible
  
  This is the one part where I have a different view - I don't see any
  problem with enabling these drivers and adding request_firmware
  support.
 
 I don't think our views differ significantly.
 
  We can't redistribute them, but users are free to way their
  own legal risks and install these files from other sources. And to me,
  that's no reason to force them to compile their own kernel.
  
  Of course, I'm not saying that we should consider that work a
  priority but, if provided with a patch (or one is inherited from
  upstream), I don't see why we should reject it.
 
 I agree there's no reason to reject patches.  In cases where a driver
 depends on non-free firmware and cannot load it from a separate file at
 run-time then we disable it.  It makes sense to prioritise any work we
 do based largely on popularity of the hardware and availability of the
 firmware to our users.  I compressed that into the sloppy wording in (d)
 above.
 
 I agree with all your other proposed clarifications.
 
 Ben.

yep, me too.
thanks for decrufting that old statement.

-- 
maks


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org