[Cosmo-torun] puzzled about healpix software and Numerical Recipes

Boud Roukema boud w astro.uni.torun.pl
Wto, 9 Lis 2004, 16:55:50 CET


Witam,
  i am aware that at least one person felt that an earlier version of
a package i released contained "expressions (particularly any
arbitrary or stylistic choices)" identical to those in Numerical
Recipes routines.

My own judgment had been that the expression was different, only the
"ideas, methodology and algorithm" were identical to the Numerical Recipes
routines. In NR's own words, this is perfectly acceptable within the
definition of copyright. And, of course, there were clear warnings
that the code was inspired from NR.

Nevertheless, i followed the concern, and stopped distribution.

In order to avoid any ambiguity, i (and any other volunteers) will
rework the code using routines from the GSL (GNU Scientific Library):

http://adjani.astro.uni.torun.pl/cgi-bin/twiki/view/Cosmo/ComputerLanguages#GNU_Scientific_Library_GSL

which Michał Frąckowiak brought to our attention :)) and will reexpress
any remaining algorithms, possibly changing the algorithms themselves,
even though this is not necessary.


However, you might want to note that there seems to be something
curious about a certain non-free package called Healpix_1.20.

i suggest to people with a copy of this package to have a look at
two files, which, apparently, exist in this package:

Healpix_1.20/src/f90/mod/num_rec.f90

and also at the copyright notice
Healpix_1.20/READ_Copyrights_Licenses.txt

and then to look at the Numerical Recipes guidelines for redistributing
their routines, whether binary or as source code:

http://www.numerical-recipes.com/com/info-permissions.html



Apparently, the file   Healpix_1.20/src/f90/mod/num_rec.f90
contains the source code for the routines:

dsvbksb
dpythag
dsvdcmp
isort

A quick search on google on, e.g., "dsvbksb" shows that NR probably
cannot control distribution of these files:

http://www.google.pl/search?hl=pl&q=dsvbksb&btnG=Szukaj+z+Google&lr=

Nevertheless, there *are*, apparently, NR routines provided as source
code in the file
Healpix_1.20/src/f90/mod/num_rec.f90
which is *claimed* to be NR code, including one-line copyright notices from NR.

In principle, redistributing NR routines without permission from NR is
a violation of copyright - stating the copyright notice is not enough
to satisfy NR.

Of course, it could, in principle, be the case that the Healpix
collaboration have paid "a fixed fee" for this and have permission
to redistribute.

However, first note the cases in which NR provides permission:
http://www.numerical-recipes.com/com/info-permissions.html

> if you want to make available to your users a subset of Recipes in
> object, or individually callable, form, but not including source
> code. We consider such requests on a case-by-case basis, with
> permission more likely when they are for fewer than 20 Recipes used in
> this manner.
>
> * In most cases of specialized software, we charge only a nominal
> flat fee per Recipe for each use (unlimited number of copies).
>
> * The copyright notice is required, as above, and we also request that
> the printed manual contain words to the effect "the procedures [your
> procedure identifiers] are based on routines in Numerical Recipes: The
> Art of Scientific Computing, published by Cambridge University Press,
> and are used by permission."

Note: "not including source code".

Also: the full copyright notice (not just one line, see
"EXACT WORDING OF REQUIRED COPYRIGHT NOTICES" on
http://www.numerical-recipes.com/com/info-permissions.html  )
is required.

However, for distributing *source code*:

>  Finally, there is the case where our source code, or source code
> based in copyright on our code, is to be made available to users. We
> consider these requests on a case-by-case basis, but the success
> rate of these requests is not high.
 ...

> # If permission is given, you will need to include a notice similar
> to the sample below as a comment in each routine that is based on a
> Numerical Recipes routine.

So Healpix_1.20 could, in principle, redistribute NR source code
(probably for a fixed fee).

However, this is only considered "on a case-by-case basis" and "the
success rate of these requests is not high".

Moreover, there would need to be the full copyright notice, and,
apparently, the file
Healpix_1.20/READ_Copyrights_Licenses.txt
does not contain any reference to Numerical Recipes.

Also, the full copyright notice needs to be included "as a comment
in each routine". (GNU recommends including a big copyright announcement
at the top of each routine, not just one line.)

There could be one way around this: since Healpix is non-free, and
requires personal email between applicants and authors, the authors
could restrict distribution to people who declare that they already
have access to a legal copy of NR. i'm not sure if NR would be happy,
but it might work.

However, this is not our problem. But it does demonstrate why an open
model of code development has advantages: people worried about
copyright issues are more likely to speak up earlier in an
open model compared to a non-free model. Now that Healpix is so widely
used, the authors might have a problem negotiating with NR based on
the large number of copies already distributed.

It would seem to me that their options are either to negotiate with NR
and pay whatever fee is required (i'm sure ESO could pay this), or
else to rewrite the parts that need NR recipes.

Of course, that is their problem, not ours.

pozdr
boud


PS: It would also seem that Healpix has been using Mahatma Gandhi's
"illegal civil disobedience" technique in protest against the patent
on the LZW compression algorithm for making gif files. This file
 Healpix_1.20/src/f90/lib/gd.c
apparently contains the ppmtogif.c code

The code itself is freely redistributable. However, *usage* of the
code was probably illegal, since the *algorithm* was patented. This is
different from copyright, which only protects the expression of an
algorithm and not the algorithm itself. See

http://netpbm.sourceforge.net/doc/ppmtogif.html

>  If you use ppmtogif without the -nolzw option, you are using a
> patent on the LZW compression method which is owned by Unisys, and
> in all probability you do not have a license from Unisys to do
> so. Unisys typically asks $5000 for a license for trivial use of the
> patent. Unisys has never enforced the patent against trivial
> users. The patent expired in the US in 2003 and is due to expire in
> other countries in 2004.

So the patent has now expired (e.g.
http://news.bbc.co.uk/1/hi/technology/3007862.stm )
but for many years, more "conservative" GNU/Linux groups like GNU, Debian
recommended using PNG instead of GIF, or else used a pseudo-GIF format.

More radical software groups and probably millions and millions of users
(probably including you!) simply used the algorithm despite the patent.

A big battle is continuing against software patents in Europe.

Go to
http://kwiki.ffii.org/SwpatplEn
to see info on what  Polish poseł in the European parliament are doing
or
http://kwiki.ffii.org/FfiiprojEn
or
http://www.gnu.org/server/takeaction.pl.html
for more on what you can do concretely.






Więcej informacji o liście Cosmo-torun