NCAR / ParallelIO

A high-level Parallel I/O Library for structured grid applications
Apache License 2.0
134 stars 52 forks source link

Update license to Apache 2 #1926

Closed climbfuji closed 2 years ago

climbfuji commented 2 years ago

Submitting this PR for your consideration.

The existing COPYRIGHT file refers to a GPL license, which is incompatible for use with many licenses (Apache 2, Adobe CC0, ...) used at NCAR and partner organizations that require ParallelIO. I believe that the existing ParallelIO license is conflicting with the licenses under which MPAS and ESMF are released - please correct me if I am wrong.

This PR removes the old COPYRIGHT file and adds a boilerplate Apache 2 LICENSE file instead.

gold2718 commented 2 years ago

I am not sure CESM's use of ParallelIO (PIO) violates the letter or spirit of the GPL license because CESM does not contain PIO. To use CESM, you need a PIO library but it is not included except by reference (i.e., no PIO code is copied into CESM or into any of its components).

Other products which do include PIO in their source (e.g., ESMF) should do their own analysis.

I do think the COPYRIGHT should refer to a specific version of the GPL.

Disclaimer: IANAL

climbfuji commented 2 years ago

I am not sure CESM's use of ParallelIO (PIO) violates the letter or spirit of the GPL license because CESM does not contain PIO. To use CESM, you need a PIO library but it is not included except by reference (i.e., no PIO code is copied into CESM or into any of its components).

Other products which do include PIO in their source (e.g., ESMF) should do their own analysis.

I do think the COPYRIGHT should refer to a specific version of the GPL.

Disclaimer: IANAL

I spoke to someone today who said that by linking to a library under GPL you are bound to the license terms. But same here, I am not a lawyer ...

gold2718 commented 2 years ago

I spoke to someone today who said that by linking to a library under GPL you are bound to the license terms. But same here, I am not a lawyer ...

Wouldn't that apply to any code compiled with gcc (gfortran)? That executable is linked with the GPL'd gcc runtime library.

Any lawyers out there?

climbfuji commented 2 years ago

I know, totally confusing to me ...

climbfuji commented 2 years ago

I spoke to someone today who said that by linking to a library under GPL you are bound to the license terms. But same here, I am not a lawyer ...

Wouldn't that apply to any code compiled with gcc (gfortran)? That executable is linked with the GPL'd gcc runtime library.

Any lawyers out there?

At any rate, as far as I understand, the current license is an issue for anyone packaging PIO. That's not only ESMF, but also anyone who creates and releases a container or an Amazon Media Image or similar that contains PIO.

briandobbins commented 2 years ago

Any lawyers out there?

Michael Anderson in the UCAR Office of General Counsel has been enormously helpful to me on numerous occasions involving license issues. I'd recommend dropping him a note.

— Reply to this email directly, view it on GitHub https://github.com/NCAR/ParallelIO/pull/1926#issuecomment-1168063032, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACL2HPLKM6L7IZP7GZSKAQLVRI67FANCNFSM52ADSXUQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

climbfuji commented 2 years ago

Any lawyers out there? Michael Anderson in the UCAR Office of General Counsel has been enormously helpful to me on numerous occasions involving license issues. I'd recommend dropping him a note. - Brian

Will do so, thanks for the suggestion.

climbfuji commented 2 years ago

Thanks everyone for your quick response to this, very much appreciated!

edwardhartnett commented 2 years ago

It's failing like this:

make -j distcheck
make  dist-gzip am__post_remove_distdir='@:'
make[1]: Entering directory '/home/runner/work/ParallelIO/ParallelIO'
make  distdir-am
make[2]: *** No rule to make target 'COPYRIGHT', needed by 'distdir-am'.  Stop.
make[2]: Entering directory '/home/runner/work/ParallelIO/ParallelIO'
make[2]: Leaving directory '/home/runner/work/ParallelIO/ParallelIO'
make[1]: Leaving directory '/home/runner/work/ParallelIO/ParallelIO'
make[1]: *** [Makefile:549: distdir] Error 2
make: *** [Makefile:651: dist] Error 2
Error: Process completed with exit code 2.

So you need to take the COPYRIGHT file out of the Makefile.am where it is included...

climbfuji commented 2 years ago

It's failing like this:

make -j distcheck
make  dist-gzip am__post_remove_distdir='@:'
make[1]: Entering directory '/home/runner/work/ParallelIO/ParallelIO'
make  distdir-am
make[2]: *** No rule to make target 'COPYRIGHT', needed by 'distdir-am'.  Stop.
make[2]: Entering directory '/home/runner/work/ParallelIO/ParallelIO'
make[2]: Leaving directory '/home/runner/work/ParallelIO/ParallelIO'
make[1]: Leaving directory '/home/runner/work/ParallelIO/ParallelIO'
make[1]: *** [Makefile:549: distdir] Error 2
make: *** [Makefile:651: dist] Error 2
Error: Process completed with exit code 2.

So you need to take the COPYRIGHT file out of the Makefile.am where it is included...

Thanks ... I replaced COPYRIGHT with LICENSE in that file, let's see if that works.

climbfuji commented 2 years ago

Looks like it worked :-)

climbfuji commented 2 years ago

Thank you!