[IPOL discuss] Patents and IPOL code

Jean-Michel Morel morel at cmla.ens-cachan.fr
Sun Apr 10 16:23:55 CEST 2011


Hi,

Would the following guidelines  for authors of IPOL algorithms using 
patented algorithms be O.K.? (They are a synthesis of your proposals and 
comments). Your corrections please?  We need a short clear text.

Best,
Jean-Michel

oooo Guidelines for authors publishing at 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.

The source code files <NAMES OF THE FILES> implement as tightly  as 
possible algorithms described in this IPOL article. 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.  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.
In short, be careful before you download, compile, use, modify, or 
redistribute these source codes. 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)
_________________________________________

Pierre Moulon a écrit :
> Hi,
> 
> What occur for partially patented algorithm ?
> 
> I think to all the method that exist and that will be added to IPOL that use
> SIFT as a black box for matching.
> 
> => It falls in the Choice 3, with a part of the source code that is
> patented.
> Or for other choice => Potentially only a subpart of the algorithm could be
> published...
> 
> Regards,
> Pierre
> 
> 2011/4/8 Jean-Michel Morel <morel at cmla.ens-cachan.fr>
> 
>> Dear all,
>>
>> The final decision lies with the IPOL scientific committee and the IPOL
>> editorial board.  We will have to submit them the following alternative
>> which summarizes our debate:
>>
>> Choice 1:  For patented algorithms, the source code will not be available
>> to the public, but only to the referees. There will be no online demo for
>> the patented algorithms.
>>
>> Choice 2:  For patented algorithms, the source code will not be available
>> to the public but only to the referees. The online demo will be maintained.
>>
>> Choice 3:  For patented algorithms, the source code will be available, but
>> the users will be warned of infringement risks.  The journal will argue that
>> the source code is made available as a scientific proof of completeness and
>> consistency of the described algorithm. The users will also be warned that
>> the source code may be withdrawn from IPOL in case of a request by the
>> patent owners.
>>
>> I can prepare a text to submit this decision to both committees, but I
>> would like to have the final draft from José Luis, Nicolas and Pascal for
>> the warnings in the source codes (which will be at least delivered to the
>> referees).
>>
>> Best,
>> JM
>>
>>
>>
>>
>> José Luis Lisani a écrit :
>>
>>> Dear all,
>>>
>>> I don't think authors should have the right to decide not to make public
>>> the code of an algorithm.
>>> If it is IPOL's policy to make publicly available the source codes, they
>>> have to accept this policy
>>> or withdraw the submission.
>>>
>>> This been said, and concerning the particular submission in which I'm
>>> involved, there is a misunderstanding
>>> in what has been my intention with respect to the publication of the
>>> source code.
>>>
>>> We are in the process of discussing the convenience of publishing patented
>>> algorithms and I have expressed
>>> my opinion (I think it is safer for IPOL not to make publicly available
>>> the source code), and I have acted in
>>> consequence with the publication I'm currently editing (I'm talking in
>>> quality of editor, not as a co-author).
>>>
>>> Since the discussion seemed open to me, I opted for the conservative
>>> approach of not providing the source
>>> code in the web page. My intention was, once the discussion was over, to
>>> follow the policy of IPOL on this
>>> matter.
>>>
>>> After Jean-Michel's contribution to the discuss list it seems that indeed
>>> the discussion is closed and the
>>> conclusion is that source code should be published and some legal warnings
>>> must be added to the code.
>>> Therefore, as editor of the paper, I will follow this guideline and I will
>>> add a link to the source code in the
>>> web site, just as in any regular IPOL paper.
>>>
>>>
>>> Best,
>>> José Luis
>>>
>>>
>>> El 07/04/2011 17:09, Jean-Michel Morel escribió:
>>>
>>>> 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
>>>> _______________________________________________
>>>> 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
>>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> discuss mailing list
> discuss at list.ipol.im
> http://tools.ipol.im/mailman/listinfo/discuss


More information about the discuss mailing list