[Matplotlib-devel] Matplotlib 2.2.2 - unclear license conditions for _png.cpp

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Matplotlib-devel] Matplotlib 2.2.2 - unclear license conditions for _png.cpp

Arnold, Johann

Dear Matplotlib developers,

For one of our products we want to use Matplotlib 2.2.2. In order to distribute our product in a license compliant way we check the licenses of all OSS source code we are using. We do this on an file by file basis. For the file _png.cpp we have not been able to determine license situation.  In file header we found the following text:

 // this code is heavily adapted from the paint license, which is in
4. // the file paint.license (BSD compatible) included in this
5. // distribution.  TODO, add license file to MANIFEST.in and CVS
6.
7. /* For linux, png.h must be imported before Python.h because
8.    png.h needs to be the one to define setjmp.
9.    Undefining _POSIX_C_SOURCE and _XOPEN_SOURCE stops a couple
10.    of harmless warnings. 

We could not find the file “paint.license”, i.e. we do not know the correct license for _png.cpp. Can you please help us in order to get the correct license for _png.cpp

Thanks a lot in advance and kind regards
  Johann Arnold


Siemens AG
Digital Industries
Process Automation
Software House Nbg
DI PA CI R&D 3
Gleiwitzer Str. 555
90475 Nürnberg, Deutschland
Tel.: +49 911 895-3162
Fax: +49 911 895-4010
[hidden email]
www.siemens.com/ingenuityforlife
www.siemens.com/ingenuityforlife
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Jim Hagemann Snabe; Vorstand: Joe Kaeser, Vorsitzender; Roland Busch, Lisa Davis, Klaus Helmrich, Janina Kugel, Cedrik Neike, Michael Sen, Ralf P. Thomas; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322


_______________________________________________
Matplotlib-devel mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-devel
Reply | Threaded
Open this post in threaded view
|

Re: Matplotlib 2.2.2 - unclear license conditions for _png.cpp

tcaswell
Johann,

Thank you for being patient with us.  

TLDR: the relevant license file is 

/******************************************************************
Copyright 2000 by Object Craft P/L, Melbourne, Australia.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Object Craft
is not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.

OBJECT CRAFT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL OBJECT CRAFT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

******************************************************************/


(also attached)

----

It looks like this comment came in via https://github.com/matplotlib/matplotlib/commit/6cc5c32cc76be3e35bab7aa74f8c87a6b10125f8 in 2004 by JDH.  

It was then showes up a second time in 2004 https://github.com/matplotlib/matplotlib/commit/9c2d9c327a7c5d879a7bc0091fd8251fa6414e22 again by JDH.

It was then moved around by MD in https://github.com/matplotlib/matplotlib/commit/22e2a424dbfd5db2dad136dc4c137b8cbae9393e and https://github.com/matplotlib/matplotlib/commit/26a14a3b1958363b5b795ec83161dfe21c6cd98f which deleted both of the other uses and unified t to it's current location in `_png.cpp` in 2008.

It looks like that comment was moved from the write function to the top of the file in https://github.com/matplotlib/matplotlib/commit/ba4016014cb4fb4927e36ce8ea429fed47dcb787 .  I think that this was unintentional and the comment should still just apply to the png writing function.

I have pulled out the 3 versions this function when they came into the code base and attached them as v1.cpp, v2.cpp, and v3.cpp and the current state of the function in v4.cpp (re-formatted to all have the same indentation).

Although it never made it into version control, the license file was included in the source releases of Matplotlib (https://sourceforge.net/projects/matplotlib/files/matplotlib-maintenance/matplotlib-0.91.1/ ) which eventually  gets us back to the source:  https://www.object-craft.com.au/projects/paint/ and I have attached the relevant function as v0.cpp

Tom





On Fri, May 10, 2019 at 5:04 AM Arnold, Johann <[hidden email]> wrote:

Dear Matplotlib developers,

For one of our products we want to use Matplotlib 2.2.2. In order to distribute our product in a license compliant way we check the licenses of all OSS source code we are using. We do this on an file by file basis. For the file _png.cpp we have not been able to determine license situation.  In file header we found the following text:

 // this code is heavily adapted from the paint license, which is in
4. // the file paint.license (BSD compatible) included in this
5. // distribution.  TODO, add license file to MANIFEST.in and CVS
6.
7. /* For linux, png.h must be imported before Python.h because
8.    png.h needs to be the one to define setjmp.
9.    Undefining _POSIX_C_SOURCE and _XOPEN_SOURCE stops a couple
10.    of harmless warnings. 

We could not find the file “paint.license”, i.e. we do not know the correct license for _png.cpp. Can you please help us in order to get the correct license for _png.cpp

Thanks a lot in advance and kind regards
  Johann Arnold


Siemens AG
Digital Industries
Process Automation
Software House Nbg
DI PA CI R&D 3
Gleiwitzer Str. 555
90475 Nürnberg, Deutschland
Tel.: +49 911 895-3162
Fax: +49 911 895-4010
[hidden email]
www.siemens.com/ingenuityforlife
www.siemens.com/ingenuityforlife
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Jim Hagemann Snabe; Vorstand: Joe Kaeser, Vorsitzender; Roland Busch, Lisa Davis, Klaus Helmrich, Janina Kugel, Cedrik Neike, Michael Sen, Ralf P. Thomas; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322

_______________________________________________
Matplotlib-devel mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-devel


--
Thomas Caswell
[hidden email]

_______________________________________________
Matplotlib-devel mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-devel

v1.cpp (2K) Download Attachment
v3.cpp (5K) Download Attachment
v2.cpp (2K) Download Attachment
v4.cpp (13K) Download Attachment
v0.cpp (2K) Download Attachment
LICENSE_PAINT (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Matplotlib 2.2.2 - unclear license conditions for _png.cpp

tcaswell
Slight follow up (I was so happy to find the license I sent the email before crossing all of the is and dotting all of the ts), the license file did make it into version control via https://github.com/matplotlib/matplotlib/commit/29dfcd2684c42ea0fa0634ead3878e911812ace9  but was accidentally removed in https://github.com/matplotlib/matplotlib/commit/e3a5f1dd9a2f62027d747c44b3e0c4e5ccf44ba5 .  

I am in the process of putting in a PR to restore LICENSE_PAINT.

Tom

On Sun, Jun 2, 2019 at 3:47 PM Thomas Caswell <[hidden email]> wrote:
Johann,

Thank you for being patient with us.  

TLDR: the relevant license file is 

/******************************************************************
Copyright 2000 by Object Craft P/L, Melbourne, Australia.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Object Craft
is not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.

OBJECT CRAFT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL OBJECT CRAFT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

******************************************************************/


(also attached)

----

It looks like this comment came in via https://github.com/matplotlib/matplotlib/commit/6cc5c32cc76be3e35bab7aa74f8c87a6b10125f8 in 2004 by JDH.  

It was then showes up a second time in 2004 https://github.com/matplotlib/matplotlib/commit/9c2d9c327a7c5d879a7bc0091fd8251fa6414e22 again by JDH.

It was then moved around by MD in https://github.com/matplotlib/matplotlib/commit/22e2a424dbfd5db2dad136dc4c137b8cbae9393e and https://github.com/matplotlib/matplotlib/commit/26a14a3b1958363b5b795ec83161dfe21c6cd98f which deleted both of the other uses and unified t to it's current location in `_png.cpp` in 2008.

It looks like that comment was moved from the write function to the top of the file in https://github.com/matplotlib/matplotlib/commit/ba4016014cb4fb4927e36ce8ea429fed47dcb787 .  I think that this was unintentional and the comment should still just apply to the png writing function.

I have pulled out the 3 versions this function when they came into the code base and attached them as v1.cpp, v2.cpp, and v3.cpp and the current state of the function in v4.cpp (re-formatted to all have the same indentation).

Although it never made it into version control, the license file was included in the source releases of Matplotlib (https://sourceforge.net/projects/matplotlib/files/matplotlib-maintenance/matplotlib-0.91.1/ ) which eventually  gets us back to the source:  https://www.object-craft.com.au/projects/paint/ and I have attached the relevant function as v0.cpp

Tom





On Fri, May 10, 2019 at 5:04 AM Arnold, Johann <[hidden email]> wrote:

Dear Matplotlib developers,

For one of our products we want to use Matplotlib 2.2.2. In order to distribute our product in a license compliant way we check the licenses of all OSS source code we are using. We do this on an file by file basis. For the file _png.cpp we have not been able to determine license situation.  In file header we found the following text:

 // this code is heavily adapted from the paint license, which is in
4. // the file paint.license (BSD compatible) included in this
5. // distribution.  TODO, add license file to MANIFEST.in and CVS
6.
7. /* For linux, png.h must be imported before Python.h because
8.    png.h needs to be the one to define setjmp.
9.    Undefining _POSIX_C_SOURCE and _XOPEN_SOURCE stops a couple
10.    of harmless warnings. 

We could not find the file “paint.license”, i.e. we do not know the correct license for _png.cpp. Can you please help us in order to get the correct license for _png.cpp

Thanks a lot in advance and kind regards
  Johann Arnold


Siemens AG
Digital Industries
Process Automation
Software House Nbg
DI PA CI R&D 3
Gleiwitzer Str. 555
90475 Nürnberg, Deutschland
Tel.: +49 911 895-3162
Fax: +49 911 895-4010
[hidden email]
www.siemens.com/ingenuityforlife
www.siemens.com/ingenuityforlife
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Jim Hagemann Snabe; Vorstand: Joe Kaeser, Vorsitzender; Roland Busch, Lisa Davis, Klaus Helmrich, Janina Kugel, Cedrik Neike, Michael Sen, Ralf P. Thomas; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322

_______________________________________________
Matplotlib-devel mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-devel


--
Thomas Caswell
[hidden email]


--
Thomas Caswell
[hidden email]

_______________________________________________
Matplotlib-devel mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-devel