[IPOL discuss] Patents and IPOL code

Pascal Getreuer getreuer at gmail.com
Fri Apr 8 12:14:44 CEST 2011

> we cannot put any license when the source code implements a
> patented algorithm. I do not see how we can license a source code, even
> conditionally, even with warnings, if we are not the patent owners.

What I am suggesting is to apply a license to the part of the source
code which does not relate to the patent.  This "patent-free" part of
the code can be substantial (+1000 lines).  Two examples:

* The SSD project has 1681 lines of code, with 212 lines (12.6%) to
implement Hamilton-Adams.
* The Malvar et al. project has 4195 lines of code, with 168 lines
(4.0%) that implement the actual Malvar algorithm.

Why are the percentages so small?  There is a huge amount of "glue"
code for reading and writing images, facilitating a command line
interface, and other utility parts for operation.  We reuse a lot of
this code across multiple projects.

* Many submissions (including SSD) use Nicolas' "io_tiff" library to
read and write TIFF images with libtiff (431 lines).
* Some submissions use Nicolas' "io_png" for PNG images (727 lines).
* All of my submissions use my "imageio" library for reading and
writing BMP, JPEG, PNG, and TIFF images (2200 lines).
* A few submissions (at least NL-means) use Nicolas' modification of
Makoto Matsumoto and Takuji Nishimura's random number generator
"mt19937ar" (182 lines).
* Most of my submissions include a small program "imdiff" that
compares images with RMSE and MSSIM (592 lines).

For these reasons, I suggest to address the patent-encumbered and
patent-free parts of a project separately.
* A warning should reference the patent and identify which files in
the project actually relate to the patent.
* A license should still be included to clarify the rights on the
patent-free part of the project.


More information about the discuss mailing list