Subject: Stallman's Printer Driver Test (was: RE: making a non-GPLed module)

From: Omer Zak <[email-masked]>
Date: Wed, 28 Nov 2001 13:24:48 +0200 (EET)

There is a discussion about GPL related issues in the Linux-IL mailing
list, and since my point is not Linux-specific, I suggest to move the
discussion (if any) to Hackers-IL.

Everyone, who read the history of FSP, knows that Stallman started the
free software idea after having encountered a problem with a printer
driver.  He bought a new printer.  The printer's driver lacked a feature,
which he needed very much in order to be able to use the printer in his
network.  He tried to get the printer driver modified to include this
feature.  But the company, which produced the printer, refused to fix the
driver (low priority for them), or to give him the source code so that he
can fix the driver himself.

As a result, Stallman was forced to buy another printer.

In view of the above, I suggest that every time someone argues about the
merits of GPL, LGPL etc., Stallman's Printer Driver Test be applied, where
the test is:
Suppose Stallman's printer driver were licensed under the terms in
question, would Stallman have been able to have the driver fixed according
to his needs?  And once the driver was fixed, would Stallman have been
able to share the fix with other people, who bought the same printer and
need the same fix to the driver?

If the answer to both questions is YES, then the software is free
according to the spirit of GPL, even if not according to the letter of
GPL.

Stallman's Printer Driver Test, as formulated above, has two non-obvious
consequences:
1. If GPLed/LGPLed code is used in embedded devices, then a way needs to
   be provided for the customer to update the code.
   Such a requirement would have been helpful in overcoming Y2K problems
   in embedded devices, which are date-sensitive (fortunately, there were
   not too many such devices two years ago).
2. Test cases and test scripts should be considered as part of software's
   source code, as far as copyright and licensing are concerned:
   Representing software in unobfuscated (SP?) source code is necessary to
   make it easy to modify the software.
   Making test cases available is necessary to make it easy to modify the
   software, by making it safer to modify the software, by making it
   possible to certify that one's changes do not have unintended
   consequences.
                                             --- Omer
There is no IGLU Cabal.  None of the proposals, presented to the Official
Founders of the IGLU Cabal, passed Stallman's Printer Driver Test.
WARNING TO SPAMMERS:  at http://www.zak.co.il/spamwarning.html

---

From: Tzafrir Cohen <[email-masked]>
Date: Wed, 28 Nov 2001 14:42:20 +0200 (IST)

On Wed, 28 Nov 2001, Omer Zak wrote:

> driver.He bought a new printer.  The printer's driver lacked a feature,
> network.He tried to get the printer driver modified to include this
> feature.But the company, which produced the printer, refused to fix the
> to his needs?And once the driver was fixed, would Stallman have been

There is also the issue of commercial re-distribution.

Consider an example that is related to printers, in a way:

So how do you consider, for instance, APFL GhostScript?

Background: Ghostscript is develped by a company called Aladin. The latest
version is available under a license called AFPL (Aladin Free Public
License). It basically allows you to do anything you like with it, except
selling it.

Aladin also makes older versions of GS available under the GNU GPL. This
is Gnu Ghostscript.

All major linux distros include Gnu Ghostscript. But what would have
happened if Aladin wouldn't have had such a policy?

AFPL Ghostscript and other programs with "almost free" licenses (pine,
qmail) certainly pass the Stallman Printer Driver Test. RMS could have
made his
modifications available as patches. Anyone else can download the original
sources and patch them.

But in a way they do limit:

Compare the installation of Qmail and Djbdns to the installation of
Sendmail and Bind . All for four programs are not trivial to set-up. but
sendmail and bind got added to some major linux distros, and as a result,
setting them up has become easier. Linux vendors tend to put in some
patches that they think are useful (even if the original package
maintainer thinks otherwise. Sometimes the original maintainer isn't
right). This can save you a whole bunch of troubles when setting up the
package.

So this test not perfect...

-- 
Tzafrir Cohen
mailto:[email-masked]
http://www.technion.ac.il/~tzafrir