<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Cosmin</div><div><br></div><div>First of all, thank You, Glenn - may he rest in peace, and the other contributors for libpng.</div><div><br></div><div>Since you asked for feedback and help, as well as the review, I wanted to mention: Are you aware that there exist non-profit organizations that provide pro bono legal services for open source projects. I'm sure libpng will qualify if you wanted to ask for help through these channels.</div><div><br></div><div>These two act like umbrella foundations, providing both accounting and legal services to projects:</div><div><br></div><div><a href="https://www.spi-inc.org/">https://www.spi-inc.org/</a> (SPI)<br></div><div><a href="https://sfconservancy.org/">https://sfconservancy.org/</a> (Conservancy)<br></div><div><br></div><div>This one only provides legal help:</div><div><br></div><div><a href="https://www.softwarefreedom.org/">https://www.softwarefreedom.org/</a> (SFLC)<br></div><div><br></div><div>Also, as things are connected, if you choose to become an associated project under the SPI, then chances are their pro bono lawyer will in fact come from the SFLC roster.</div><div><br></div><div><br></div><div>This list is of course populated with great legal minds as well, but in my experience a lawyer giving your formal legal counsel will trump a mailing list discussion any day.</div><div><br></div><div>None of the above is to imply that I would be opposed to your submission as it stands. I guess my first reaction is that libpng as a library is embedded into larger software applications, so there would be some value in ending up with a simpler and shorter alternative. So it would be worth looking into the alternatives you mentioned, such as moving the contributors to a separate flat list.</div><div><br></div><div>Other than that, the precedent set by Python seems like a solid reference, and sometimes history of a project is what it is and we just have to live with a slightly longer legal text.</div><div><br></div><div>henrik<br></div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 5, 2018 at 7:23 AM Cosmin Truta <<a href="mailto:ctruta@gmail.com">ctruta@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Full name: PNG Reference Library License, version 2.0<br>
Short identifier: libpng license v2.0<br>
License text: see Appendix below<br>
URL:<br>
<a href="https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5#file-license-md" rel="noreferrer" target="_blank">https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5#file-license-md</a><br>
Public discussion:<br>
<a href="https://sourceforge.net/p/png-mng/mailman/png-mng-implement/thread/CAAoVtZxmEtyf37JYhsjdxY4PjdCXfGRSB6g7PTORY0xx_cBL8w%40mail.gmail.com/#msg36407040" rel="noreferrer" target="_blank">https://sourceforge.net/p/png-mng/mailman/png-mng-implement/thread/CAAoVtZxmEtyf37JYhsjdxY4PjdCXfGRSB6g7PTORY0xx_cBL8w%40mail.gmail.com/#msg36407040</a><br>
<br>
<br>
== Introduction ==<br>
<br>
Dear OSI reviewers,<br>
<br>
My name is Cosmin Truta, and earlier this year I became the new<br>
maintainer of the PNG Reference Library (also known as "libpng"),<br>
succeeding Glenn Randers-Pehrson.<br>
<br>
I published the newest official libpng release, version 1.6.35,<br>
still carrying Glenn's copyright notice and unmodified license,<br>
back in September, after I took over from Glenn's latest beta<br>
(1.6.35-beta02). The development on libpng version 1.6.36 is under<br>
way, and I would like to release the final version not only under<br>
my copyright notice, but also under a new license.<br>
<br>
Unlike other software licenses that change rarely or not at all, the<br>
libpng license has been always changing, with every published libpng<br>
release, and even with every published beta and release candidate.<br>
I would like change this practice: follow what the rest of the<br>
open-source software world is doing, and have the libpng license<br>
frozen also.<br>
<br>
Upon taking over from Glenn, I had a dilemma: should I just add in<br>
my own copyright notice, and add any future acknowledged contributor<br>
to the list of Contributing Authors in the existing paragraphs? Or,<br>
rather, should I add an entire paragraph with my own copyright notice,<br>
and another mentioning the Contributing Authors associated with my<br>
own copyright notice, etc.? I found disadvantages in both choices.<br>
<br>
I am aware of licenses that have been published in new versions,<br>
with new terms and conditions, but with keeping the old terms and<br>
conditions also. For example, I am familiar with the Python license,<br>
in which the license agreement for version 2/3/etc. incorporates<br>
the old "CNRI License Agreement for Python 1.6.1", and the even older<br>
"CWI License Agreement for Python 0.9.0 through 1.2".<br>
<br>
Is this the best way to go forward with the libpng license? In this<br>
email I am asking not only for your review, but also for your expert<br>
advice.<br>
<br>
== Distinguish ==<br>
<br>
The libpng license 2.0 is the terms and conditions from the zlib<br>
license, plus the disclaimer from the Boost license.<br>
<br>
The list of Contributing Authors is flattened into a separate AUTHORS<br>
file, as in many other prominent open-source software projects.<br>
<br>
The legacy libpng license, all the way to 1.6.35, is also included.<br>
I will keep the Contributing Authors lists intact, as they are<br>
arguably part of the old license. I won't change those lists because<br>
that would mean changing the old license, and I am not sure about the<br>
consequences of doing so.<br>
<br>
== Rationale: Why the zlib license for terms and conditions ==<br>
<br>
The present-day zlib and libpng licenses are similar in spirit, but<br>
not identical in letter. They are often referred to, collectively<br>
(but incorrectly) as "the zlib/libpng license".<br>
<br>
I would like to make the new license as close to the zlib license as<br>
possible, with two small clarifications. Here goes:<br>
<br>
> Permission is hereby granted to use, copy, modify, and distribute<br>
> this software, or portions hereof, for any purpose, without fee,<br>
> subject to the following restrictions:<br>
><br>
>  1. The origin of this software must not be misrepresented; you<br>
>     must not claim that you wrote the original software.  If you<br>
>     use this software in a product, an acknowledgment in the product<br>
>     documentation would be appreciated, but is not required.<br>
><br>
>  2. Altered source versions must be plainly marked as such, and must<br>
>     not be misrepresented as being the original software.<br>
><br>
>  3. This Copyright notice may not be removed or altered from any<br>
>     source or altered source distribution.<br>
<br>
See <a href="https://opensource.org/licenses/Zlib" rel="noreferrer" target="_blank">https://opensource.org/licenses/Zlib</a><br>
<br>
== Rationale: Why the Boost license for disclaimer ==<br>
<br>
Years ago, I had proposed adopting the zlib license, verbatim, for<br>
libpng, but Glenn did not agree. He did not like zlib's disclaimer,<br>
because of UCITA.<br>
<br>
UCITA may have failed to become a Uniform Act in the U.S., but it is<br>
still in effect in two states, Virginia and Maryland. (Maryland is<br>
Glenn's state.)<br>
<br>
This is about disclaiming explicitly the warranty of non-infringement.<br>
<br>
Logically, the zlib license disclaimer sounds perfectly fine to me.<br>
To me (caution: IANAL), "no express or implied warranties" literally<br>
means "no express or implied warranties". Or, let's make it simpler,<br>
"no warranties" means literally "no warranties". There should be no<br>
need to be explicit about the warranties of non-infringement (or<br>
fitness for a purpose, or merchantability, etc. etc. etc.)<br>
<br>
But UCITA claims otherwise, and Glenn was concerned about that.<br>
<br>
Given where I live, none of that bothers me. However, in deference<br>
to Glenn, and to not jeopardize (in Glenn's opinion) anybody who<br>
hacks libpng in a jurisdiction where UCITA is in effect, I looked<br>
over the various disclaimers in other licenses, and eventually<br>
decided on the disclaimer from the Boost license.<br>
<br>
Here goes:<br>
<br>
> The software is supplied "as is", without warranty of any kind,<br>
> express or implied, including, without limitation, the warranties<br>
> of merchantability, fitness for a particular purpose, title, and<br>
> non-infringement.  In no even shall the Copyright owners, or<br>
> anyone distributing the software, be liable for any damages or<br>
> other liability, whether in contract, tort or otherwise, arising<br>
> from, out of, or in connection with the software, or the use or<br>
> other dealings in the software, even if advised of the possibility<br>
> of such damage.<br>
<br>
One last note: the reason I chose the Boost license disclaimer,<br>
instead of the very similar MIT license disclaimer, is because of<br>
the extra warranty disclaimer (that of "title"), and because it<br>
explicitly protects not only "the Copyright owners" but also<br>
"anyone distributing the software". However, I do not have a strong<br>
opinion on this matter.<br>
<br>
== Legal review ==<br>
<br>
As far as the story goes, the libpng license and the zlib license<br>
were initially submitted to OSI for review, independently, in the<br>
mid-90's. According to my second-hand knowledge, OSI approved the<br>
zlib license text, and recommended the libpng project to adopt<br>
the zlib license text, verbatim. (That did not happen. Although the<br>
public at large commonly uses the term "zlib/libpng license", the<br>
libpng releases continued to be published under the very-slightly-<br>
different "OSI-approved libpng license", until libpng version 1.0.6.)<br>
<br>
As of libpng version 1.0.7 (released in July 2000), in reaction to<br>
UCITA being on its way to being enacted in Maryland, Glenn started<br>
making licensing modifications, adding explicit disclaimers, for his<br>
protection.<br>
<br>
There have been other modifications in the license text along the<br>
way, until it became the present-day libpng license. There was no<br>
other legal review that I'm aware of.<br>
<br>
== License proliferation ==<br>
<br>
I am aware that OSI prefers to not introduce a new license, if an<br>
existing one would do.<br>
<br>
As I've mentioned before, I have, in the past, proposed to the PNG<br>
Group to just adopt the OSI-approved zlib license, as-is, for new<br>
libpng releases, but nobody in the group agreed that it would be a<br>
wise idea.<br>
<br>
Summarizing my proposal, publishing future libpng releases under<br>
"libpng license 2.0" +plus+ "libpng legacy license 1.0" is what<br>
I would consider the safest option.<br>
<br>
However, there are several possible plans and scenarios, which I am<br>
willing to discuss.<br>
<br>
PLAN A:<br>
The "libpng license 2.0" could be published and reused standalone<br>
by any other projects, but we will release libpng with the "libpng<br>
license 2.0" plus "libpng legacy license 1.0", as in my original<br>
proposal. Could OSI certify the 2.0+1.0 pair (Python-like) as a<br>
legacy license? Could OSI certify 2.0 alone as a reusable license?<br>
("PLAN A" is essentially my above proposal.)<br>
<br>
PLAN B:<br>
If OSI isn't interested in a new "libpng license 2.0", but can help<br>
us shape the present-day libpng license into a form that can be<br>
frozen, reusable by us (the PNG Group) only, for the foreseeable<br>
future, that would also be acceptable. In that case, could OSI<br>
certify the reshaped-and-frozen 1.0 as a legacy license?<br>
<br>
PLAN C:<br>
If OSI believes that the "libpng legacy license 1.0" (which is not<br>
reusable) can be completely replaced by the "libpng license 2.0"<br>
(which is reusable), and there is no need for the 2.0+1.0 pair to<br>
accompany the future libpng releases (and also no need for the<br>
2.0+1.0 pair to be certified as a legacy license), I am willing to<br>
give a try to this idea, although (in my non-expert opinion) I<br>
consider this one a riskier proposition.<br>
<br>
PLAN D:<br>
As in "PLAN C", but if OSI believes that the present-day zlib license<br>
can fully replace the present-day libpng license, I am also willing<br>
to give this idea a try (but I will need more assurances for it in<br>
this case, since I consider this the riskiest proposition, and so do<br>
other people in the PNG Group).<br>
<br>
== Epilogue ==<br>
<br>
A few weeks ago, in October, Glenn passed away. (R.I.P., Glenn!)<br>
<br>
Importantly, he wrote the following about my proposed licensing,<br>
back in September:<br>
<br>
"I have reviewed it and it looks OK to me."<br>
<br>
Thank you very much for your attention.<br>
<br>
Sincerely,<br>
Cosmin<br>
<br>
<br>
== Appendix: The license text ==<br>
<br>
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE<br>
=========================================<br>
<br>
PNG Reference Library License version 2<br>
---------------------------------------<br>
<br>
 * Copyright (c) 1995-2018 The PNG Reference Library Authors.<br>
 * Copyright (c) 2018 Cosmin Truta.<br>
 * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.<br>
 * Copyright (c) 1996-1997 Andreas Dilger.<br>
 * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.<br>
<br>
The software is supplied "as is", without warranty of any kind,<br>
express or implied, including, without limitation, the warranties<br>
of merchantability, fitness for a particular purpose, title, and<br>
non-infringement.  In no even shall the Copyright owners, or<br>
anyone distributing the software, be liable for any damages or<br>
other liability, whether in contract, tort or otherwise, arising<br>
from, out of, or in connection with the software, or the use or<br>
other dealings in the software, even if advised of the possibility<br>
of such damage.<br>
<br>
Permission is hereby granted to use, copy, modify, and distribute<br>
this software, or portions hereof, for any purpose, without fee,<br>
subject to the following restrictions:<br>
<br>
 1. The origin of this software must not be misrepresented; you<br>
    must not claim that you wrote the original software.  If you<br>
    use this software in a product, an acknowledgment in the product<br>
    documentation would be appreciated, but is not required.<br>
<br>
 2. Altered source versions must be plainly marked as such, and must<br>
    not be misrepresented as being the original software.<br>
<br>
 3. This Copyright notice may not be removed or altered from any<br>
    source or altered source distribution.<br>
<br>
<br>
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)<br>
-----------------------------------------------------------------------<br>
<br>
libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are<br>
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are<br>
derived from libpng-1.0.6, and are distributed according to the same<br>
disclaimer and license as libpng-1.0.6 with the following individuals<br>
added to the list of Contributing Authors:<br>
<br>
    Simon-Pierre Cadieux<br>
    Eric S. Raymond<br>
    Mans Rullgard<br>
    Cosmin Truta<br>
    Gilles Vollant<br>
    James Yu<br>
    Mandar Sahastrabuddhe<br>
    Google Inc.<br>
    Vadim Barkov<br>
<br>
and with the following additions to the disclaimer:<br>
<br>
    There is no warranty against interference with your enjoyment of<br>
    the library or against infringement.  There is no warranty that our<br>
    efforts or the library will fulfill any of your particular purposes<br>
    or needs.  This library is provided with all faults, and the entire<br>
    risk of satisfactory quality, performance, accuracy, and effort is<br>
    with the user.<br>
<br>
Some files in the "contrib" directory and some configure-generated<br>
files that are distributed with libpng have other copyright owners, and<br>
are released under other open source licenses.<br>
<br>
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are<br>
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from<br>
libpng-0.96, and are distributed according to the same disclaimer and<br>
license as libpng-0.96, with the following individuals added to the<br>
list of Contributing Authors:<br>
<br>
    Tom Lane<br>
    Glenn Randers-Pehrson<br>
    Willem van Schaik<br>
<br>
libpng versions 0.89, June 1996, through 0.96, May 1997, are<br>
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,<br>
and are distributed according to the same disclaimer and license as<br>
libpng-0.88, with the following individuals added to the list of<br>
Contributing Authors:<br>
<br>
    John Bowler<br>
    Kevin Bracey<br>
    Sam Bushell<br>
    Magnus Holmgren<br>
    Greg Roelofs<br>
    Tom Tanner<br>
<br>
Some files in the "scripts" directory have other copyright owners,<br>
but are released under this license.<br>
<br>
libpng versions 0.5, May 1995, through 0.88, January 1996, are<br>
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.<br>
<br>
For the purposes of this copyright and license, "Contributing Authors"<br>
is defined as the following set of individuals:<br>
<br>
    Andreas Dilger<br>
    Dave Martindale<br>
    Guy Eric Schalnat<br>
    Paul Schmidt<br>
    Tim Wegner<br>
<br>
The PNG Reference Library is supplied "AS IS".  The Contributing<br>
Authors and Group 42, Inc. disclaim all warranties, expressed or<br>
implied, including, without limitation, the warranties of<br>
merchantability and of fitness for any purpose.  The Contributing<br>
Authors and Group 42, Inc. assume no liability for direct, indirect,<br>
incidental, special, exemplary, or consequential damages, which may<br>
result from the use of the PNG Reference Library, even if advised of<br>
the possibility of such damage.<br>
<br>
Permission is hereby granted to use, copy, modify, and distribute this<br>
source code, or portions hereof, for any purpose, without fee, subject<br>
to the following restrictions:<br>
<br>
 1. The origin of this source code must not be misrepresented.<br>
<br>
 2. Altered versions must be plainly marked as such and must not<br>
    be misrepresented as being the original source.<br>
<br>
 3. This Copyright notice may not be removed or altered from any<br>
    source or altered source distribution.<br>
<br>
The Contributing Authors and Group 42, Inc. specifically permit,<br>
without fee, and encourage the use of this source code as a component<br>
to supporting the PNG file format in commercial products.  If you use<br>
this source code in a product, acknowledgment is not required but would<br>
be appreciated.<br>
<br>
<br>
TRADEMARK<br>
=========<br>
<br>
The name "libpng" has not been registered by the Copyright owners<br>
as a trademark in any jurisdiction.  However, because libpng has<br>
been distributed and maintained world-wide, continually since 1995,<br>
the Copyright owners claim "common-law trademark protection" in any<br>
jurisdiction where common-law trademark is recognized.<br>
<br>
<br>
OSI CERTIFICATION<br>
=================<br>
<br>
As of version 1.0.6, libpng was OSI Certified Open Source Software.<br>
OSI Certified Open Source is a certification mark of the Open Source<br>
Initiative.<br>
<br>
OSI has not addressed the license updates after libpng version 1.0.6.<br>
<br>
_______________________________________________<br>
License-review mailing list<br>
<a href="mailto:License-review@lists.opensource.org" target="_blank">License-review@lists.opensource.org</a><br>
<a href="http://lists.opensource.org/mailman/listinfo/license-review_lists.opensource.org" rel="noreferrer" target="_blank">http://lists.opensource.org/mailman/listinfo/license-review_lists.opensource.org</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><a href="mailto:henrik.ingo@avoinelama.fi" target="_blank">henrik.ingo@avoinelama.fi</a><br>+358-40-5697354        skype: henrik.ingo            irc: hingo<br><a href="http://www.openlife.cc" target="_blank">www.openlife.cc</a><br><br>My LinkedIn profile: <a href="http://fi.linkedin.com/pub/henrik-ingo/3/232/8a7" target="_blank">http://fi.linkedin.com/pub/henrik-ingo/3/232/8a7</a></div>