[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