[License-review] For Approval: libpng license, version 2.0

Cosmin Truta ctruta at gmail.com
Tue Nov 6 08:01:47 UTC 2018


Hello, and thank you very much for all of your responses.

The *updated* "libpng license v2.0" is available here:
https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5#file-license-md
(Also in the Appendix.)

For comparison, the license that is currently accompanying libpng
v1.6.35 is available here:
https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5#file-x-libpng-license-v1-6-35-txt

***

Thank you for sending me all of that detailed information regarding
the legal foundations that I can contact, Henrik. I was not aware of
them. I will consider contacting them, in the future.

The more immediate question is: what should I do in the immediate
future, regarding the release of the next version of libpng (v1.6.36,
intended to succeed v1.6.35, but with my copyright notice, an updated
list of contributing authors, and an obligatory update to the v1.6.35
license)?

In the light of the responses that I've received so far, I am
dropping "PLAN B", "PLAN C", etc., from my original proposal. I now
consider that the only viable option, going forward, is to freeze all
of the accretions of the license, after adding one more accretion
layer, hopefully the last one.

***

The present-day libpng license is *designed* to accrete, which I find
both unconventional and inconvenient, but this is what we've been
currently having in the PNG Group. In the above libpng-1.6.35 license
link, you can see what's being expected, stated at the very beginning:

> If you modify libpng you may insert additional notices immediately
> following this sentence.

Henrik Ingo wrote:
> [...] it would be worth looking into the alternatives you
> mentioned, such as moving the contributors to a separate flat list.

Since the lists of previous contributing authors have been integrated
into the past libpng license text, I'm not touching those. But
besides that, all contributors, past, present and future, will be
mentioned in a separate flat list from now on.

https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5#file-authors-md

McCoy Smith wrote:
> I found this submission very confusing, in part because it seems
> to be a series of licenses and/or disclaimers sequentially
> superimposed on other licenses or disclaimers, each of which
> appears to indicate that it applies to different versions of a
> particular piece of software.

Considering the license of libpng-1.6.35 and earlier, I'm doing my
best here, with what I have been given.

John Cowan wrote:
> When I looked at the Python license tangle, which was many years
> ago, I concluded that only the most recent license was actually
> applicable, and that the other licenses were inert but could not
> be removed because they themselves said they could not be, like
> so many DNA viruses -- they get copied when Python is but have no
> function at all.

To me, the introductory sentence from the v1 license implies that the
v1 text is, itself, like a virus, and cannot be removed.

Lawrence Rosen wrote:
> That's an evocative example. Like the voluminous DNA that has been
> incorporated into human DNA over the eons, much of it is unused and
> harmless. It is baggage in every sperm cell. Don't worry about it.

I am relying on that kind of harmlessness, actually, and trying not
to worry about it indeed.

> Copying even inert licenses and other notices into source code is
> a trivial burden on developers. Just do it wherever you distribute
> source code, probably somewhere on your website, and commit it to
> our common history....

Yep: that's exactly what I'm proposing to do.

McCoy Smith wrote:
> [...] this isn't really a request for an approval of a license, it
> is a request for an approval of header formatting.  The license he
> wants to use here, Boost, is already approved.

Clarification: the only thing that I'm taking from Boost is the
warranty disclaimer. The terms and conditions are not Boost, and
not even Boost-like. (They're "zlib/libpng"-like.)

> I'd also note that the text you submitted has a lot more legal
> terminology than just a concatenation of the zlib/libpng license.

Indeed, I pasted in the "Trademark" section, which traditionally
accompanied the libpng license, but is not a part of it. I rectified
that.

As shown at
https://gist.github.com/ctruta/5e276eb83213f9d66bf61539156830c5
the "Trademark" section is now separate.

Bruce Perens wrote:
> IMO the submitter needs a lawyer, and we're not it. The main
> question they need to work out with the attorney is how they handle
> past developer's rights. I suggest that they get approval from past
> developers and/or their estates, publish for opposition to cover
> the people they don't have explicit approval from, and change to
> some already-accepted and coherent license. Having done that, their
> best path would probably be to choose one approved license, and
> make everyone's lives easier.

I truly hope that I can accrete one more layer of licensing text (and
not more than that) in the manner that Mr. Rosen mentioned, then move
on to the real business of publishing libpng releases without
touching its license any further.

Yes, I would indeed *need* a lawyer in order to switch to an
already-accepted license. However, but please understand, Mr. Perens,
that I have received *STRONG* opposition from some of the PNG Group
members in the past. (Last time I gave it a serious try was in 2009.)
In the light of your suggestion to get approval from past developers
and/or their estates, I can tell you right now that I see no
reasonable path towards success. Some of the past libpng contributing
authors were unreachable back in 2009, and some more are unreachable
now.

Freezing the libpng license in the best way possible, given the
status quo, and then having it certified as a legacy license, is the
most reasonable course of action from my vantage point, at this
moment.

> Getting this sort of support from SFLC or SFC is a good suggestion,
> but acceptance by those groups tends to take a long time. Finding
> other pro-bono help might be appropriate.

I have already been asked, by eagerly-awaiting users, when will the
new ready-to-ship fixes and improvements come out officially as
libpng 1.6.36. My response to them was "after the OSI review".
(I understood that OSI recommends to only ship software with the new
license *after* the review.)

I'm not saying this to mean that I absolutely must skip a legal
review. But if a lengthy review over a lengthy period of time is
something that I could avoid, and if I could just go on the beaten
path of existing practice instead, then I'd like to do exactly that.

The ownership of libpng has been passed on from Guy Eric Schalnat and
Group 42, Inc., to Andreas Dilger, and then to Glenn Randers-Pehrson,
with no legal issues in the process. I hope I can succeed Glenn, in a
similar manner, just as well.

Van Lindberg wrote:
> The Python license is as it is because 1) the work is accretive,
> and the previously-released-and-licensed works are mostly still
> embedded in the current version, and 2) so far, the work to remove
> and rewrite the bits under the previous license is just not worth
> it from a ROI perspective.
> Oh, and 3) previous license holders are not willing to assign (as
> of 2010 or so).

That sounds a lot like the situation that the libpng license is
currently in.

Sincerely,
Cosmin


== Appendix: The license text (updated on 2018-Nov-06) ==

COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
=========================================

PNG Reference Library License version 2
---------------------------------------

 * Copyright (c) 1995-2018 The PNG Reference Library Authors.
 * Copyright (c) 2018 Cosmin Truta.
 * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
 * Copyright (c) 1996-1997 Andreas Dilger.
 * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

The software is supplied "as is", without warranty of any kind,
express or implied, including, without limitation, the warranties
of merchantability, fitness for a particular purpose, title, and
non-infringement.  In no even shall the Copyright owners, or
anyone distributing the software, be liable for any damages or
other liability, whether in contract, tort or otherwise, arising
from, out of, or in connection with the software, or the use or
other dealings in the software, even if advised of the possibility
of such damage.

Permission is hereby granted to use, copy, modify, and distribute
this software, or portions hereof, for any purpose, without fee,
subject to the following restrictions:

 1. The origin of this software must not be misrepresented; you
    must not claim that you wrote the original software.  If you
    use this software in a product, an acknowledgment in the product
    documentation would be appreciated, but is not required.

 2. Altered source versions must be plainly marked as such, and must
    not be misrepresented as being the original software.

 3. This Copyright notice may not be removed or altered from any
    source or altered source distribution.


PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
-----------------------------------------------------------------------

libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:

    Simon-Pierre Cadieux
    Eric S. Raymond
    Mans Rullgard
    Cosmin Truta
    Gilles Vollant
    James Yu
    Mandar Sahastrabuddhe
    Google Inc.
    Vadim Barkov

and with the following additions to the disclaimer:

    There is no warranty against interference with your enjoyment of
    the library or against infringement.  There is no warranty that our
    efforts or the library will fulfill any of your particular purposes
    or needs.  This library is provided with all faults, and the entire
    risk of satisfactory quality, performance, accuracy, and effort is
    with the user.

Some files in the "contrib" directory and some configure-generated
files that are distributed with libpng have other copyright owners, and
are released under other open source licenses.

libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
libpng-0.96, and are distributed according to the same disclaimer and
license as libpng-0.96, with the following individuals added to the
list of Contributing Authors:

    Tom Lane
    Glenn Randers-Pehrson
    Willem van Schaik

libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
and are distributed according to the same disclaimer and license as
libpng-0.88, with the following individuals added to the list of
Contributing Authors:

    John Bowler
    Kevin Bracey
    Sam Bushell
    Magnus Holmgren
    Greg Roelofs
    Tom Tanner

Some files in the "scripts" directory have other copyright owners,
but are released under this license.

libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.

For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals:

    Andreas Dilger
    Dave Martindale
    Guy Eric Schalnat
    Paul Schmidt
    Tim Wegner

The PNG Reference Library is supplied "AS IS".  The Contributing
Authors and Group 42, Inc. disclaim all warranties, expressed or
implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose.  The Contributing
Authors and Group 42, Inc. assume no liability for direct, indirect,
incidental, special, exemplary, or consequential damages, which may
result from the use of the PNG Reference Library, even if advised of
the possibility of such damage.

Permission is hereby granted to use, copy, modify, and distribute this
source code, or portions hereof, for any purpose, without fee, subject
to the following restrictions:

 1. The origin of this source code must not be misrepresented.

 2. Altered versions must be plainly marked as such and must not
    be misrepresented as being the original source.

 3. This Copyright notice may not be removed or altered from any
    source or altered source distribution.

The Contributing Authors and Group 42, Inc. specifically permit,
without fee, and encourage the use of this source code as a component
to supporting the PNG file format in commercial products.  If you use
this source code in a product, acknowledgment is not required but would
be appreciated.



More information about the License-review mailing list