[IPOL discuss] Patents and IPOL code

Jean-Michel Morel morel at cmla.ens-cachan.fr
Thu Apr 7 17:09:36 CEST 2011


Dear all,

Reading José Luis message and his submission together with Juan Biel 
Gomila of a patented algorithm from which he has withdrawn public access 
to the code I realize that the authors can decide what they want on this 
matter. José Luis and Juan Biel Gomila can of course decide not to 
disclose the source code at IPOL.  But I certainly do not support this 
decision, and I hope it will not happen too often.

My opinion matters in that I and probably also my institution might be 
held personally responsible in case of patent infringement at IPOL.

I had mentioned that IPOL could give up the disclosure of source code of 
patented algorithms. But this was not proposed as a a rule, it was just 
  mentioned as a possible retreating line in case of trouble. For the 
time being there is no such trouble.

The  patented algorithms published in IPOL have been disclosed by their 
authors themselves in the patent AND in journal papers. The description 
of the algorithm that IPOL does is a public discussion of the  public 
paper and is therefore not a clear infringement, even if it certainly 
provides help for infringement. But any patent discussion does, and 
there are even journals dedicated to the analysis of patents, which to 
the best of my knowledge are not illegal. As Pascal Getreuer pointed 
out, the source code by itself is not a direct infringement, but may be 
interpreted as a help to infringement. Thus, it is all a question of 
degree and of jurisprudence. From my scientific point of view the 
scientific paper published by the  patent authors themselves coul also 
be interpreted as a help to infringe, and IPOL simply follows suit.

IPOL is a purely scientific endeavor. We view the source code as a more 
detailed description of a published algorithm, permitting to check that 
the algorithm description given by IPOL is complete.  Together with the 
demo, it permits users to verify this completeness and the  reality of 
the experiments shown by the authors of the algorithm.

This is why IPOL gives little or no value in the evaluation to well 
written code or to a smart implementation: we furnish to the public an 
implementation That helps them checking that the algorithm works, and 
seeing how it works. This is therefore not aimed at fostering any patent 
infringement, but just at informing better the scientific public on the 
meaning of an invented algorithm.

The source code plays therefore more or less the same role as the 
publication of a proof for a theorem. It gives evidence linked to the 
algorithm, which makes people understand it better. Thus, it is a pity 
to withdraw the source code of a patented algorithm, and it will be a 
pity if we ever have to stop an online demo.

On the other hand, I definitely agree with all warning texts that have 
been proposed, including the last one written by José. We must indeed 
inform the public that certain algorithms are patented, as soon as we 
get aware that they are, and we must inform the public that what we 
publish is published to foster image science, and nothing else.

I hope  that José Luis, Nicolas and Pascal will propose a final version 
warning text that we could include in the  Zhang-Wu, NL-means, local 
color correction, SIFT and ASIFT demos.

A last point. Since the source code is just on IPOL as an illustration 
of the algorithm, 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.  I consider it safer to just warn users about the patent, 
as is done in the text thay you are maturing.

As Nicolas pointed out we are no patent lawyiers and it is not our job 
to enforce patents or to make an inquiry about how far one can go or not 
go in the scientific exploration of a patent.

We are on scientific terrain so far, and nobody has sued us. The day it 
happens we will hire a lawyer and find the best strategy. But I simply 
refuse to do this preventively.

At this point, could Pascal propose a new version of the text? I enclose 
the last current proposals:

  ooooooooooo Pascal Proposal ooooooooooooooooooo

   Copyright (c) 2011, Your Name Here
   All rights reserved.

   The source file "dmha.c" implements the algorithm covered by U.S.
  Patent
   5629734.  For this reason, the source files "dmha.c", "dmha.h",
   "dmhacli.c" and its binary program "dmha" may only be used for research
   and educational purposes.  Redistribution or commercial use is not
   allowed without the consent of the patent owner.

   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 BSD license follows)
  _____________________________________________________

  For files implementing the patent:
  "may only be used for research and educational purposes" and
  "redistribution or commercial use is not allowed without the consent
  of the patent owner."

  For all the other files:
  "With the exception of the files implementing the patent mentioned
  above, ..." (BSD/GPL license)


oooooooooooo José Luis text oooooooooooooooooooooooooooooooo
  # LEGAL WARNING:
  The source file "localcolorcorrection.cpp" implements the ALGORITHM
  COVERED BY U.S. PATENT 6,822,762. For this reason, this source file
  and its binary program "localcolorcorrection" may only be used for
  non-profit research and non-profit educational purposes. Redistribution
  or commercial use is not allowed without the consent of the patent owner.

  With the exception of the files mentioned above, redistribution and use in
  source and binary forms, with or without modification, are permitted
  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. The program is distributed in
  the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.
  See the GNU General Public License for more details 
http://www.gnu.org/licenses/.

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

José Luis Lisani a écrit :
  Dear all,

  I think that the proposal of Jean-Michel of not making public the source
  codes
  of patented algorithms is the safest for IPOL, in front of hypothetical
  suits.
  Users can still run the algorithms on-line (are we sure that this does not
  infringe patent laws?) and they will have the guarantee by IPOL that what
  they run does indeed correspond to what is described in the web site.

  Moreover, I think that, as a matter of courtesy, the Editor of IPOL
  should send
  the authors of the patent a letter announcing them that there is an
  online version
  of their algorithm. I don't think we should ask for specific consent of
  the authors,
  since, in most cases, they don't even own the invention, their companies
  do.

  José Luis



  El 06/04/2011 7:42, Jean-Michel Morel escribió:

  Dear all,


  Should we  ask the advice of a patent attorney as suggests Nicolas?
  It  is probably a good idea.
  However, unfortunately, I know some of these guys. They always give
  the most conservative advice. According to the CNRS patent attorney,
  to publish the NL-means code without the owner's consent IS an
  infringement because we help companies to infringe it, even though we
  mention that it is patented.

  We need a conservative solution showing our good faith. Here is what I
  propose:

  -systematically, the patented algorithms published in IPOL will be
  sent to their authors as referees. That way we will get a first hand
  information about whether and how the patent is enforced. We will have
  to follow the authors' advice.

  In case of touchy patent owners, we will only transmit the code to the
  referees under NDA. IPOL will therefore run online a code certified by
  referees, but which will not be public.

  In other terms IPOL will only publish (actually following its
  definition) "Algorithms", with as a bonus an implementation certified
  by referees, and running on line. The code of this implementation will
  be certified but not public.  The online facility will be installed in
  such a way (limited size, etc.) as to prevent any real or massive use.

   Still, with all this, a patent owner could object that we are helping
  counterfactors who could do online reverse engineering with our code.
  But, at this point, I think our display of good faith will be solid,
  and it will all remain compatible with the IPOL definition that IPOL
  publishes algorithms and shows how they work.

  -Meanwhile, we never met the bad guys and we can continue disclosing
  the code. I agree with Pascal's proposal to add the text (enclosed
  below) to every patented algorithm.

  I do not think we can put any license on patented code without
  incurring in some risk.  Thus I agree that we should separate the
  patented part and put on it the warning proposed by Pascal.


  Nevertheless, it is not enough to write "for research and
  educational purposes": we must write "for non profit research and
  nonprofit educational purposes", because there is lucrative research
  and there is lucrative education.

  I disagree with Nicolas' proposal to put a BSD or other licenses, and
  invite users to decide by themselves if it is legal or not depending
  where they live. Putting a license at this point would be confusing.
  As a publisher we are supposed to know the law. It is our
  responsibility to avoid any ambiguity about rights.

  Best, JM





  Pascal Getreuer a écrit :
  _____________________________________________________
   Copyright (c) 2011, Your Name Here
   All rights reserved.

   The source file "dmha.c" implements the algorithm covered by U.S.
  Patent
   5629734.  For this reason, the source files "dmha.c", "dmha.h",
   "dmhacli.c" and its binary program "dmha" may only be used for research
   and educational purposes.  Redistribution or commercial use is not
   allowed without the consent of the patent owner.

   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 BSD license follows)
  _____________________________________________________

  For files implementing the patent:
  "may only be used for research and educational purposes" and
  "redistribution or commercial use is not allowed without the consent
  of the patent owner."

  For all the other files:
  "With the exception of the files implementing the patent mentioned
  above, ..." (BSD/GPL license)

  So the BSD/GPL only applies to the files that are not covered by
  patents.

  Having this separate distinction is useful for example for the
  self-similar demosaicking code, where Hamilton-Adams is used as an
  initialization but actually the majority of the code is for the
  self-similar demosaicking algorithm itself.  The license specifies
  just the Hamilton-Adams part as "research and education use only, no
  redistribution" and everything else as GPL.

  Best,
  Pascal
  _______________________________________________
  discuss mailing list
  discuss at list.ipol.im
  http://tools.ipol.im/mailman/listinfo/discuss

  _______________________________________________
  discuss mailing list
  discuss at list.ipol.im
  http://tools.ipol.im/mailman/listinfo/discuss



  ------------------------------------------------------------------------

  _______________________________________________
  discuss mailing list
  discuss at list.ipol.im
  http://tools.ipol.im/mailman/listinfo/discuss


More information about the discuss mailing list