Bug 342704

Summary: hplip uses non-free drivers, and not for all supported platforms
Product: [openSUSE] openSUSE 11.0 Reporter: Klaus Singvogel <kssingvo>
Component: PrintingAssignee: Ciaran Farrell <ciaran.farrell>
Status: RESOLVED FIXED QA Contact: Johannes Meixner <jsmeix>
Severity: Major    
Priority: P5 - None CC: ciaran.farrell, Markus.Kuhn
Version: Alpha 2   
Target Milestone: ---   
Hardware: All   
OS: openSUSE 11.0   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Klaus Singvogel 2007-11-19 13:34:58 UTC
As with version hplip-2.7.10, it seems that the hplip packages runs no longer with complete GPL code.
The code is later downloaded from the programs via: http://www.linuxprinting.org/download/printdriver/auxfiles/HP/plugins/

This may hit us in several ways:
a) the code might no longer run on all supported platforms, e.g. S390, PPC

b) we might have a license issue here (non distributable code, network requirement for full code)

c) what should customer do, if a security problem is coming up there?

The license issue is maybe the JBIG code (patent) from Markus Kuhn (in CC:). Maybe he can tell us more, what happened?

Johannes: is the license of hplip package changed too?

So I'm asking:
- Should we ship hplip without download functionality in future?
- Can we ship (package) the required plugings on our media?

BTW: note that the support at sourceforge for this hplip package has changed too. But this shouldn't affect us.
Comment 1 Markus Kuhn 2007-11-19 16:40:01 UTC
There are two entirely separate license questions here: copyright and patents.

Copyright:

I hold the sole copyright in the JBIG-KIT (http://www.cl.cam.ac.uk/~mgk25/jbigkit/) library. I make it available either freely under the GPL (note: *not* the LGPL!) or, for a one-off payment to the University of Cambridge technology-transfer office, under a commercial license that permits proprietary modifications and linking with proprietary (non-GPL) code. Summery: if you want to link your code with JBIG-KIT, either make sure all your linked remaining code complies with the license conditions of the GPL, or buy a commercial license (which is much cheaper than what Lucent will charge you for their patent licenses). Several large printer manufacturers have done the latter.

Patents:

IBM, Lucent and a few other companies might hold or enforce patents that cover aspects of the JBIG algorithm. My understanding of this subject is summarized at

  http://www.cl.cam.ac.uk/~mgk25/jbigkit/patents.html

Neither my GPL license nor our commercial license for JBIG-KIT includes licenses for any patents that may be applicable to the JBIG standard. So users of JBIG-KIT are still themselves responsible to get the relevant patent licenses from the relevant patent holders. Which licenses you need might depends on your country and use (e.g., my non-expert understanding is that non-commercial use does not require any patent licenses in Germany, but that may not be the case in , for instance, the U.S.).

I understand that IBM may have granted a free general license of their relevant patents to anyone who wants to use JBIG in some letter deposited with ISO or ITU-T, but I do not know whether the same is the case for other holders of potentially relevant patents.

I have yet to look at hplip before I can comment on what happened there. Is a HP product? In which case, they most likely would have all the necessary licenses.
Comment 2 Klaus Singvogel 2007-11-19 17:00:05 UTC
Markus, thanks for your valuable input (and greetings to my old student comrade - hope that their ain't too much bad clouds in the British sky this season :-)

Yes, the hplip package is product of HP, and can be obtained at sourceforge:
http://hpinkjet.sourceforge.net/
Comment 3 Johannes Meixner 2007-11-20 09:12:47 UTC
HP is fully aware of the JBIG issue.

HP was in contact with me regarding how to provide support
for ZJStream printers in compliance to the free licenses.

In the end they do it the same way as IScan:
Via an optional external library (via dlopen).
The crucial point is that the HPLIP software works well in general
even without such a library. Only the ZJStream printers need it.

HP checked the third-party license stuff and all what is requird
is a EULA which must be accepted by the user.

The download functionality of hp-setup does "the right thing"
which is needed to support ZJStream printers.

Currently HP provides the binary-only libraries for i386, x86_64,
and ppc.

It was discussed and accepted at the OpenPrinting Summit in Montreal, see
http://www.linux-foundation.org/en/SummitMontrealSummary

There is no JBIG in the HPLIP sources.

See the RPM changelog in the HPLIP 2.7.10 packages at
http://download.opensuse.org/repositories/home:/jsmeix/
----------------------------------------------------------------------
  New LJZjsMono printer device class for ZJStream printers.
  ZJStream printers require JBIG which has patent issues
  (see Novell/Suse Bugzilla bug #263181). Therefore the support
  for ZJStream printers is provided only via a binary-only plugin
  which is downloaded by "hp-setup" from the HP web-site only after
  the user has accepted the license terms.
----------------------------------------------------------------------

There are even no PPDs for their ZJStream printers included in
the HPLIP sources so that generic setup tools would not set up
queues which cannot work for those printers.

From my point of view the issue is correctly handled.

To be 100% safe, I reassign it to our license ecperts.
Comment 5 Markus Kuhn 2007-11-20 10:04:45 UTC
As explained at

  https://bugs.launchpad.net/hplip/+bug/163087

there is a copy of JBIG-KIT 1.6 included in the hplip plugins, however the creator of these plugins, Hewlett Packard, has (back in 2004) bought a commercial JBIG-KIT license that allows them to use and modify JBIG-KIT in closed-source projects without the constraints of the GPL. They also assured us at the time that they have obtained licenses for all known patents that relate to their use of JBIG. I therefore do not see any copyright or patent license problem with the use of JBIG-KIT in this Hewlett Packard product.
Comment 6 Johannes Meixner 2007-11-20 10:57:14 UTC
Markus,
very many thanks for the above details!