[IPOL discuss] Patents and IPOL code

Nicolas Limare nicolas.limare at cmla.ens-cachan.fr
Mon Apr 11 08:15:22 CEST 2011


Hi,

I see a number of problems with this text. My remarks are inserted,
and my proposition is detailed at the end of the message.

> oooo Guidelines for authors publishing an IPOL patented algorithms oooo
> 
> 1) Add the patent references in the references
> 2) In the source code linked to the patent, add the following header:
> 
> _____________________________________________________
>  Copyright (c) 2011, Your Name Here
>  All rights reserved.

If there is a copyright appribution, there must be a license (free or
not). Otherwise, "All rights reserved" means that people are not
allowed to do anything with these files.

> The source code files <NAMES OF THE FILES> implement as tightly  as
> possible algorithms described in this IPOL article.

If this header is included in every source code file implementing a
patented algorithm, then there is no need to write the name of the
other files in the header. "This file implements..." is enough. This
remark also applies to the following "These source codes", ...

I think the "as tighly as possible" is irrelevant here; it is a matter
of editorial policy and scientific method, bt this header is about
patents and license (allowing or not modification and redistribution
is a copyright license issue). Moreover, I think we should not mix
patent and copyright/license questions in the same text, these are two
completely different things.

> They are made
> available to the exclusive aim of serving as scientific tools
> enabling the verification of the soundness and completeness of the
> algorithmic descriptions.
> 
> These source codes implement an algorithm possibly linked to the
> patent <REFERENCE OF THE PATENT OR PENDING PATENT GIVEN IN THE
> TEXT>. Compiling or running this code may
> violate patents in certain countries.

What about redistributing?

> For this reason, the use of the source files <NAMES OF THE FILES>
> may be restricted in certain countries to non profit research
> and non profit educational purposes.  In certain countries,
> redistribution or commercial use of these source files may require
> the consent of the patent owner.

I think these sentences are no necessary, "Compiling or running this
code may violate patents in certain countries." is enough. Are there
international laws stating that "non profit research and non profit
educational" is exempted from patent restrictions? I think that if we
write too much, we will make errors because we are not patent lawyers.

> In short, be careful before you download, compile, use, modify, or
> redistribute these source codes.

If they can read this text, they already downloaded the code.

> The situation being different for
> every country and changing over time, it is your responsibility to
> check that you are not infringing a patent by using this source
> code. IPOL therefore invites potential users to consult a patent
> lawyer. If and only if you are free from any patent restriction,
> then you can enjoy the <NAME OF LICENSE> license terms.

> With the exception of the files mentioned above, redistribution and
> use in  source and binary forms, with or without modification, are
> permitted provided that the following conditions are met:
> (the rest of usual <NAME OF LICENSE> license follows)

This is a modified BSD license header. We should not mix
copyright/license and patent consideratons, and we should not use
"customized licenses".

Moreover, this paragraph can not be in a header on top of every
patent-related file because it deals with the non-patented files.

8<----------8<----------8<----------8<----------8<----------8<----------

Here is my proposition in 5 points applicable to all source code
published in IPOL, without known patent, when a published algorithm
uses a patented algorithm or when a published algorithm is patented.

1. EVERY source code file MUST mention its author or authors in a
   copyright attribution line at the top of the file. The form of this
   line should be:

       Copyright (c) 2011, AUTHOR NAME <AUTHOR EMAIL>
       All rights reserved.

   When the work on these files spans over many years, these dates
   shoud be mentionned:

       Copyright (c) 2005, 2009-2011, AUTHOR NAME <AUTHOR EMAIL>
       All rights reserved.

   Every person whose contribution to this file is not trivial and
   implies some creative work must be credited. 

       Copyright (c) 1998-2003, AUTHOR1
       Copyright (c) 2005-2011, AUTHOR2
       Copyright (c) 2011, AUTHOR3
       All rights reserved.

2. When the authors know that a source code file implements a patented
   algorithm (it may be the main algorithme published on IPOL or
   another algorithm used for this implementation), a patent warning
   MUST be inserted after the copyright attribution, in EVERY file
   implementing this patent. The proposed text for this patent warning
   is:

       This file implement an algorithm possibly linked to the patent
       <REFERENCE OF THE PATENT>. 
       This file is made available to the exclusive aim of serving as
       scientific tool enabling the verification of the soundness and
       completeness of the algorith description. Compilation,
       execution and redistribution of this file may violate exclusive
       patents rights in certain countries.
       The situation being different for every country and changing
       over time, it is your responsibility to determine which patent
       rights restrictions apply to you before you compile, use,
       modify, or redistribute this file. A patent lawyer is qualified
       to make this determination.
       If and only if they don't conflict with the patent terms, you
       can benefit from the following license termes attachd to this
       file.

   These patents should also be acknowledged in the algorithm web page.

3. EVERY source code file MUST mention an usage and redistribution
   license. The general IPOL policy is to use free software licenses,
   GPL or BSD type. When a file implements a patented algorithm,
   * GPL licences can't be used because they conflict with patents or are
     somehow unclear;
   * BSD licenses can be used;
   * as a special exception to the IPOL policy, the authors of a file
     can decide that this file is provided "for scientific and
     educational purposes only".
   This exception may help avoid problems when the file authors are
   the patent owners: distributing he source code with a free software
   license could conflict with their patent rights. This exception is
   not necessary for other patents because the previous paragraph
   states that the license only applies if it doesn't conflict with
   the patent rights.

   The license must be mentioned after the copyright attribution line
   (and patent warning for patened algorithm) in one of these terms:

       This program is free software: you can use, modify and/or
       redistribute it under the terms of the GNU General Public
       License as published by the Free Software Foundation, either
       version 3 of the License, or (at your option) any later
       version. You should have received a copy of this license along
       this program. If not, see <http://www.gnu.org/licenses/>.

       This program is free software: you can use, modify and/or
       redistribute it under the terms of the simplified BSD
       License. You should have received a copy of this license along
       this program. If not, see
       <http://www.opensource.org/licenses/bsd-license.html>. 

       This program is provided for scientific and educational only:
       you can use and/or modify it for these purposes, but you are
       not allowed to redistribute this work or derivative works in
       source or executable form. A license must be obtained from the
       patent right holders for for any other use.

   The exact terms may change, for example when a different GPL
   license version is chosen. The full text of the license must be
   included in a separate file with the source code, for every license
   used.

4. All that (copyrights, patents and licenses) MUST be summarized in
   the README.txt file provided with the code. This summary is in
   free-form text, and should include all the informations mentionned
   before. A simple summary (single author and license, no patent
   known) can be:

       This software is written by John Doe <doe at example.org> and
       distributed under the terms of the GPLv3 licence.

   A complex case (multiple authors and licences, patents) can be:

       This software is written by John Doe <doe at example.org>, Joe
       Average <ja at server.net> with contributions from Taro Suzuki and
       Jean Dupont.
       - mmatch.c and rot_tree.c implement the pending EU patent
         555.555 by John Doe and Joe Average and are provided for
         scientific and education only.
       - demoz.c implements the US patent 123.456 by Another Guy;
         see the file header for license terms.
       - eizo.c and linalg_lib.c are distributed under the terms
         of the BSD license.
       - All the other files are distributed under the terms of the
         LGPLv3 license.

   Of course the README file will also include other informations, such
   as compilation and usage instuctions, reference to the IPOL (and
   other) article, etc.

5. The license and patent information MUST be mentionned on the
   algorithm web page with the links to download the source code, but
   we can refer to the README file for details. The simple case can be:

       This software is distributed under the terms of the GPLv3
       licence. See the README file for details.

  The complex case would be:

       This code includes the implementations of patented
       algorithms. Various distribution terms apply. Some files are
       distributed under the terms of the BSD and LGPL licenses, some
       are for scientific and education only. See the README file for
       details.

-- 
Nicolas LIMARE - CMLA - ENS Cachan    http://www.cmla.ens-cachan.fr/~limare/
IPOL - image processing on line                          http://www.ipol.im/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://tools.ipol.im/mailman/archive/discuss/attachments/20110411/824ed592/attachment.pgp>


More information about the discuss mailing list