[sane-devel] SANE-Backend for Brother PDS-series scanner

Olaf Meeuwissen paddy-hack at member.fsf.org
Sun Sep 18 10:15:19 UTC 2016


James A. Robinson writes:

> I was wondering whether or not any of the developers here know the
> story behind the Brother scanner drivers?   They offer a Debian
> package that identifies itself as GPL, and that claims it is based
> on sane-backends.    When I asked them about getting ahold the
> source (I want to port it to ARM), I got the stock "thank you for
> choosing...  unfortunately we cannot support all models..." answer.
> I can't tell if that means that
> (a) they aren't really obligated to release their driver under the
> GPL, and mislabeled the Debian package as such.
> (b) they are obligated because they derived it from GPLed code, and
> are not following their obligations under that license.
> I did specifically mention the GPL confusion, but they didn't
> bother to address that point in their reply.
> The copyright file from the debian binary package
> http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=pds6000_us_eu_as&os=128
>  says:
> Name : brother-pds-sane
> Version : 1.0.0
> Release : 4
> Architecture: amd64
> Install Date: (not installed)
> Group : Applications/System
> Size : 14276902
> License : GPL
> Signature : (none)
> Source RPM : brother-pds-sane-1.0.0-4.src.rpm
> Build Date : 2015年05月28日 (週四) 16時34分37秒
> Build Host : Brother
> Relocations : (not relocatable)
> Packager : Brother Industries, Ltd.
> Vendor : Brother Industries, Ltd.
> Summary : SANE-Backend for Brother PDS-series scanner
> Description :
> SANE-Backend for Brother PDS-series scanner. It based on sane-backends, so
> we need install sane-backends package first.

Hmm, before being able to download, I had to agree to a EULA that had
this in it:

  Further, Brother shall have no liability to disclose and/or distribute
  the source cord[sic] of the Software to User under any circumstances.
  In no case shall the above license by Brother to modify, alter,
  translate or otherwise prepare derivative works of the Software be
  construed as Brother's implied agreement or undertakings to disclose
  and/or distribute the source cord[sic] of the Software.

That flies straight in the face of this from the GPL-v3 preamble:

  [...] General Public Licenses are designed to make sure that you have
  the freedom to distribute copies of free software (and charge for them
  if you wish), that you **receive source code or can get it if you want
  it**, that you can change the software or use pieces of it in new free
  programs, and that you know you can do these things.

# Emphasis is mine.

I've let Brother know via the Content Feedback shown for the download
and suggested they fix the discrepancy, preferably by distributing the
source code.

# Not holding my breath on anything getting actually done, but ... who
# knows, they might take notice.

BTW, the EULA does grant:

  [...] User a non-exclusive license: to reproduce and/or distribute
  (via Internet or in any other manner) the Software. Further, Brother
  grants User a non-exclusive license to modify, alter, translate or
  otherwise prepare derivative works of the Software and to reproduce
  and distribute (via Internet or in any other manner) such
  modification, alteration, translation or other derivative works for
  any purpose.

That's in line with the GPL but utterly useless without access to the
source code.

I did a quick check on the contents (btw, everything in usr/lib64 is a
copy of what's in usr/local/lib64, bloating the package by ~100%), but
all the libraries only seem to link to LGPL'd libraries (or GPL-v3 with
the a GCC Runtime Library Exception).  This makes me believe that
Brother can change the license to whatever it pleases (within the LGPL
limitations on debugging for reverse engineering purposes), assuming
they own all the other code that went into those libraries.

The libsane-brother_pdsseries backend uses some code from sanei/, but
all of that is GPL with a special exception.

  The exception is that, if you link a SANE library with other files
  to produce an executable, this does not by itself cause the
  resulting executable to be covered by the GNU General Public
  License.  Your use of that executable is in no way restricted on
  account of linking the SANE library code into it.

  This exception does not, however, invalidate any other reasons why
  the executable file might be covered by the GNU General Public

which is pretty much what the LGPL does too.

# The SANE licensing approach predates the LGPL, IIRC.

In short, I'd say that Brother made a very bad-tasting mistake labeling
their Debian packages as GPL.  Whether on purpose or not, I don't know,
but next time make sure to read the EULA before you click agree ;-(

Hope this clarifies,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list