MESSAGE
DATE | 2018-09-06 |
FROM | Cosmin Truta
|
SUBJECT | Re: [Hangout - NYLXS] [png-mng-implement] libpng license 2.0
|
Greetings!
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.
C:\>optipng.exe -v 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:
C:\>optipng.exe -v 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 altered source).
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.
Sincerely, Cosmin
------------------------------------------------------------------------------ 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 png-mng-implement-at-lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/png-mng-implement _______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
|
|