|FROM ||Cosmin Truta
|SUBJECT ||Re: [Hangout - NYLXS] [png-mng-implement] libpng license 2.0
|From hangout-bounces-at-nylxs.com Sun Sep 9 05:52:05 2018
Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [184.108.40.206])
by mrbrklyn.com (Postfix) with ESMTP id E1F66163F55;
Sun, 9 Sep 2018 05:52:04 -0400 (EDT)
Received: by mrbrklyn.com (Postfix, from userid 1000)
id 9F454163F56; Sun, 9 Sep 2018 05:52:01 -0400 (EDT)
Resent-From: Ruben Safir
Resent-Date: Sun, 9 Sep 2018 05:52:01 -0400
Received: from lists.sourceforge.net (lists.sourceforge.net [220.127.116.11])
by mrbrklyn.com (Postfix) with ESMTP id D4EF5161132
for ; Thu, 6 Sep 2018 21:55:19 -0400 (EDT)
Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com)
by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.90_1)
id 1fy5zB-0002St-G4; Fri, 07 Sep 2018 01:55:01 +0000
Received: from [172.30.20.202] (helo=mx.sourceforge.net)
by sfs-ml-1.v29.lw.sourceforge.com with esmtps
(TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1)
(envelope-from ) id 1fy5zA-0002Sm-5k
for png-mng-implement-at-lists.sourceforge.net; Fri, 07 Sep 2018 01:55:00 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=sourceforge.net; s=x; h=Content-Type:To:Subject:Message-ID:Date:From:
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x
Received: from mail-vk1-f171.google.com ([18.104.22.168])
by sfi-mx-4.v28.lw.sourceforge.com with esmtps
(TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.90_1)
for png-mng-implement-at-lists.sourceforge.net; Fri, 07 Sep 2018 01:54:59 +0000
Received: by mail-vk1-f171.google.com with SMTP id j14-v6so275059vke.8
Thu, 06 Sep 2018 18:54:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
X-Received: by 2002:a1f:8101:: with SMTP id c1-v6mr2045442vkd.26.1536285291898;
Thu, 06 Sep 2018 18:54:51 -0700 (PDT)
From: Cosmin Truta
Date: Thu, 6 Sep 2018 21:54:40 -0400
To: "PNG/MNG implementation discussion list"
X-Spam-Score: -0.1 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
See http://spamassassin.org/tag/ for more details.
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
-0.0 SPF_PASS SPF: sender matches SPF record
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
not necessarily valid
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
0.0 AWL AWL: Adjusted score from AWL reputation of From: address
Subject: Re: [Hangout - NYLXS] [png-mng-implement] libpng license 2.0
Reply-To: PNG/MNG implementation discussion list
List-Id: NYLXS Tech Talk and Politics
Content-Type: text/plain; charset="us-ascii"
I received the following message from Glenn:
"I have reviewed it and it looks OK to me."
Ok, we're one step closer. I'm about to finalize the request for
license review at OSI.
Marcus Johnson wrote:
> I understand this is a problem, LLVM is currently going through this
> issue, but I think it's worth at least considering it instead of just
> dismissing it as infeasible off hand.
I feel that an important clarification is needed here:
Using the zlib license, or a zlib-like license, instead of others, is
not a problem that would need fixing.
It's the wish of the original authors of both zlib and libpng. They
wrote the license in this way, because they wanted it this way. Glenn
also wanted it this way. Last but not least, honestly, I also like it
and want it in this way.
"It's not a bug, it's a feature."
Consider the first two clauses:
> 1. The origin of this software must not be misrepresented; you
> must not claim that you wrote the original software.
> 2. Altered source versions must be plainly marked as such, and must
> not be misrepresented as being the original software.
Which one of the more famous licenses require altered source versions
to be plainly marked as such?
The zlib license may not be the only one, but it is the simplest,
clearest, and, really, the most popular OSI-approved license that does
so, as far as I know.
I voluntarily released my own software, OptiPNG, under the zlib
license, because I firmly believe in its 2nd clause. I personally
consider it a moral obligation to acknowledge intellectual
contributions, including modifications in source code, on one hand;
and to disclose, in any way possible, that an altered version is an
altered version and not an original, on the other hand.
OptiPNG can be compiled either with the original zlib library, or with
an OptiPNG-specific modification of the zlib library that improves
compression by a small amount. And the user will know.
OptiPNG version 0.7.7
Copyright (C) 2001-2017 Cosmin Truta and the Contributing Authors.
Using libpng version 1.6.34 and zlib version 1.2.11-optipng
I am both obligated (by the license) and willing (on my own
conviction) to state that I am using an altered version of the zlib
library, if that's indeed the case. There are further mentions of my
changes in the OptiPNG-specific local fork of zlib. I can't upstream
those changes because, while they're good for PNG, they're bad for
most or all of other zlib use cases. So I'm keeping the modified zlib
around, with the modification notes, instead.
The same goes with OptiPNG's use of libpng, whenever applicable. Here
is another example from another version:
OptiPNG version 0.7.5
Copyright (C) 2001-2014 Cosmin Truta and the Contributing Authors.
Using libpng version 1.6.10-optipng and zlib version 1.2.8-optipng
See the difference? At least in its Windows build, optipng.exe version
0.7.7 uses libpng version 1.6.34 (original source), while optipng.exe
version 0.7.5 uses libpng version 1.6.10-optipng (OptiPNG-specific
Over time, I found various forks of OptiPNG (which was ok), made
available on their own web sites and via their own distribution
channels (which was ok), some of which indicated "Copyright (C) Cosmin
Truta [...] Modified by John Doe" (which was ok); but one of them, at
one time, *altered version* with *altered behavior* and yet
indistinguishable from the original, with no way for the user to tell
the difference in any easy way, binary executable or documentation or
anything else (which was *not* ok). Eventually, that one fork
disappeared. Problem gone.
I'm not claiming that the zlib license is my all-time favorite
silver-bullet license. Depending on the kind of the project, I
sometimes favor publishing new code under the MIT license. Other
times, BSD makes more sense; and other times yet, Apache or MPLv2 or
GNU GPLv2 (it depends) make more sense.
However, I concur with my predecessors that the spirit (if not the
letter) of the zlib license is still the way to go for libpng.
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
png-mng-implement mailing list
Hangout mailing list