Closed hhonjyou closed 1 month ago
What is your interest in this?
We are not lawyers, but programmers, so I'm not sure we can give an authoritative answer.
All the mentioned files are in the public domain. The code in the gctpc directory was released by the USGS and release circa 1982
Software Documentation for GCTP General Cartographic Transformation Package: National Mapping Program Technical Instructions, U.S. Geological Survey, National Mapping Division, May 1982.
Except for the code in gctpc, I wrote the .c and .h and forgot to put a public domain notice. The shell scripts were considered to be so minor that the two people concerned never worried about the licences. Hence they are in the public domain.
Wesley
On Tue, Sep 17, 2024 at 5:13 AM hhonjyou @.***> wrote:
I would like to inquire about the interpretation of wgrib2 source files that do not have a specified license.
My understanding is that these files could be interpreted as being either in the Public Domain or under the GNU General Public License (GPL). (I am specifically referring to version 3.3.0)
For reference, please see the following link: https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/LICENSE-wgrib2
Based on my review, the following files appear to be applicable.
- wgrib2/Check_pdt_size.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Check_pdt_size.c
- wgrib2/Cluster.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Cluster.c
- wgrib2/Cyclic.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Cyclic.c
- wgrib2/EOF.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/EOF.c
- wgrib2/Flush.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Flush.c
- wgrib2/Hybrid.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Hybrid.c
- wgrib2/Inv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Inv.c
- wgrib2/Match_inv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Match_inv.c
- wgrib2/Misc.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Misc.c
- wgrib2/Ncpu.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Ncpu.c
- wgrib2/Precision.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Precision.c
- wgrib2/Reset_delayed_error.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Reset_delayed_error.c
- wgrib2/Sec1.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Sec1.c
- wgrib2/UDF.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/UDF.c
- wgrib2/codetable_4_230.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/codetable_4_230.c
- wgrib2/enc_jpeg2000_clone.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/enc_jpeg2000_clone.c
- wgrib2/flt2ieee.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/flt2ieee.c
- wgrib2/flt2ieee_nan.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/flt2ieee_nan.c
- wgrib2/fnlist.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/fnlist.c
- wgrib2/gctpc/source/br_gctp.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/br_gctp.c
- wgrib2/gctpc/source/goodfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/goodfor.c
- wgrib2/gctpc/source/goodinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/goodinv.c
- wgrib2/gctpc/source/imolwinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/imolwinv.c
- wgrib2/gctpc/source/lamazfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/lamazfor.c
- wgrib2/gctpc/source/lamazinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/lamazinv.c
- wgrib2/gctpc/source/molwfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/molwfor.c
- wgrib2/gctpc/source/molwinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/molwinv.c
- wgrib2/gctpc/source/obleqfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/obleqfor.c
- wgrib2/gctpc/source/obleqinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/obleqinv.c
- wgrib2/gctpc/source/sinfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/sinfor.c
- wgrib2/gctpc/source/sininv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/sininv.c
- wgrib2/gctpc/source/wivfor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/wivfor.c
- wgrib2/gctpc/source/wivinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/wivinv.c
- wgrib2/gctpc/source/wviifor.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/wviifor.c
- wgrib2/gctpc/source/wviiinv.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/wviiinv.c
- wgrib2/ieee2flt.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/ieee2flt.c
- wgrib2/ieee2flt_nan.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/ieee2flt_nan.c
- wgrib2/intpower.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/intpower.c
- wgrib2/ncep_grids.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/ncep_grids.c
- wgrib2/proj4_initialize.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/proj4_initialize.c
- wgrib2/rd_seq_grib.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/rd_seq_grib.c
- wgrib2/setup_user_gribtable.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/setup_user_gribtable.c
- wgrib2/subtime.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/subtime.c
- wgrib2/test_sec.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/test_sec.c
- wgrib2/units.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/units.c
- wgrib2/wgrib2_api.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/wgrib2_api.c
- wgrib2/CodeTable4_4.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/CodeTable4_4.h
- wgrib2/gctpc/source/include/cproj.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/include/cproj.h
- wgrib2/gctpc/source/include/proj.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/source/include/proj.h
- wgrib2/grb2.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/grb2.h
- wgrib2/grid_id.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/grid_id.h
- wgrib2/proj4_wgrib2.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/proj4_wgrib2.h
- wgrib2/wgrib2_api.h https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/wgrib2_api.h
- wgrib2/config.h.in https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/config.h.in
- wgrib2/wgrib2_meta.h.in https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/wgrib2_meta.h.in
- wgrib2/gribtables/ecmwf/param-db.json https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gribtables/ecmwf/param-db.json
- wgrib2/gctpc/test/proj/Proj.name https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/test/proj/Proj.name
- wgrib2/gctpc/doc/overview.ps https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gctpc/doc/overview.ps
- wgrib2/check_dup_gribtable.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/check_dup_gribtable.sh
- wgrib2/check_gribdat.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/check_gribdat.sh
- wgrib2/create_tables.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/create_tables.sh
- wgrib2/function.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/function.sh
- wgrib2/get_BUFR02020.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_BUFR02020.sh
- wgrib2/get_CCT05.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_CCT05.sh
- wgrib2/get_CCT08.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_CCT08.sh
- wgrib2/get_CCT11.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_CCT11.sh
- wgrib2/get_CCT14.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_CCT14.sh
- wgrib2/get_code_Table_0.0.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_0.0.sh
- wgrib2/get_code_Table_1.2.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_1.2.sh
- wgrib2/get_code_Table_3.1.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.1.sh
- wgrib2/get_code_Table_3.11.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.11.sh
- wgrib2/get_code_Table_3.15.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.15.sh
- wgrib2/get_code_Table_3.2.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.2.sh
- wgrib2/get_code_Table_3.20.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.20.sh
- wgrib2/get_code_Table_3.21.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.21.sh
- wgrib2/get_code_Table_3.8.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_3.8.sh
- wgrib2/get_code_Table_4.0.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.0.sh
- wgrib2/get_code_Table_4.10.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.10.sh
- wgrib2/get_code_Table_4.11.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.11.sh
- wgrib2/get_code_Table_4.15.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.15.sh
- wgrib2/get_code_Table_4.16.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.16.sh
- wgrib2/get_code_Table_4.208.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.208.sh
- wgrib2/get_code_Table_4.212.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.212.sh
- wgrib2/get_code_Table_4.222.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.222.sh
- wgrib2/get_code_Table_4.230.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.230.sh
- wgrib2/get_code_Table_4.235.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.235.sh
- wgrib2/get_code_Table_4.240.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.240.sh
- wgrib2/get_code_Table_4.3.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.3.sh
- wgrib2/get_code_Table_4.4.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.4.sh
- wgrib2/get_code_Table_4.5_ncep.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.5_ncep.sh
- wgrib2/get_code_Table_4.7.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.7.sh
- wgrib2/get_code_Table_4.8.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.8.sh
- wgrib2/get_code_Table_4.9.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.9.sh
- wgrib2/get_code_Table_4.91.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_4.91.sh
- wgrib2/get_code_Table_5.0.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_5.0.sh
- wgrib2/get_code_Table_5.1.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_5.1.sh
- wgrib2/get_code_Table_6.0.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/get_code_Table_6.0.sh
- wgrib2/gribtables/ecmwf/filter_local_gribtable.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gribtables/ecmwf/filter_local_gribtable.sh
- wgrib2/make_gribtable.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/make_gribtable.sh
— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/wgrib2/issues/249, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIB7ZUJLSR5YNLZ2ZFI7ETZW63ADAVCNFSM6AAAAABOKU2DBKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZTAMBSGQ3TMNY . You are receiving this because you are subscribed to this thread.Message ID: @.***>
FYI I did not find an explicit public domain statement for the gcptc library. However it was released when a lack of a copyright indicated that the code was in the public domain.
I know who wrote the code/header/scripts outside of the gctpc directory and will get permissions to put the code/header/scripts in to the public domain.
On Tue, Sep 17, 2024 at 12:52 PM Edward Hartnett @.***> wrote:
What is your interest in this?
We are not lawyers, but programmers, so I'm not sure we can give an authoritative answer.
— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/wgrib2/issues/249#issuecomment-2355675748, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIB7ZXHL2VPZODS7NK2K2DZXAQW3AVCNFSM6AAAAABOKU2DBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJVGY3TKNZUHA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
@edwardhartnett
What is your interest in this?
We are not lawyers, but programmers, so I'm not sure we can give an authoritative answer.
We would like to use wgrib2 as OSS and are concerned about whether we can comply with the required conditions of use.
We are asking this question because wgrib2 has multiple mixed licenses, and we are unable to determine the conditions of use that we ultimately need to meet due to the presence of code with unknown licensing.
@webisu
Thank you for your prompt response. It was very helpful.
I understand that it is Public Domain.
I found the following copyright statement on the official USGS web site regarding the code in the gctpc directory, and I believe it can be considered Public Domain.
https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits
We are reporting a problem we discovered during our review of the Terms of Use. It appeared that wgrib2 contained incompatible license combinations listed in the source files. Specifically, GPL v2 and v3, and GPL v2 and Apache v2. https://www.gnu.org/licenses/license-list.html#GPLv2 https://www.gnu.org/licenses/license-list.html#apache2
If you can change the GPL v2 source files to v3, I think we can work around this. It would be helpful if you could consider this as a future fix.
The specific GPL v2 source files we checked are as follows
I'll ask Arlindo and Manfred for permission to change from gpl v2 to gpl v3.
As for Apache v2 code, I only found it in decenc_openjpeg.c which adopted from the ECMWF code, and they are not going to change the licence upon request. Unfortunately there is a plan to have wgrib2 use the g2clib
https://github.com/NOAA-EMC/NCEPLIBS-g2c
Basically wgrib2 uses a handful of (modified) routines from g2clib. I don't know whether g2clib has been vetted for licence information. Yes, this make life harder for people who want redistribute code.
On Wed, Sep 18, 2024 at 5:15 AM hhonjyou @.***> wrote:
We are reporting a problem we discovered during our review of the Terms of Use. It appeared that wgrib2 contained incompatible license combinations listed in the source files. Specifically, GPL v2 and v3, and GPL v2 and Apache v2. https://www.gnu.org/licenses/license-list.html#GPLv2 https://www.gnu.org/licenses/license-list.html#apache2
If you can change the GPL v2 source files to v3, I think we can work around this. It would be helpful if you could consider this as a future fix.
The specific GPL v2 source files we checked are as follows
- wgrib2/Bbox.c https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/Bbox.c
- wgrib2/gribtables/ecmwf/create_ecmwf_gribtable.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gribtables/ecmwf/create_ecmwf_gribtable.sh
- wgrib2/gribtables/ncep/get_gribtab.sh https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/gribtables/ncep/get_gribtab.sh
— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/wgrib2/issues/249#issuecomment-2357929761, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIB7ZRBTY4ADSM2OAL6CYDZXFADJAVCNFSM6AAAAABOKU2DBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJXHEZDSNZWGE . You are receiving this because you were mentioned.Message ID: @.***>
Thank you for considering the change from GPL v2 to v3.
Regarding Apache v2, we do not have any problems with it as it is, since the compatibility issue will disappear once GPL v2 is converted to v3.
As for g2clib, we have confirmed that it is under LGPL-3.0, so we do not have any problems with its adoption.
We have already received the answers to our questions, so we will close the issue.
Thank you very much for your response.
I have received permission to convert the gnu v2 -> v3. I have received permission to convert no licence code to either public domain or gnu v3. (I am a federal worker, so most will be public domain.) So all the listed files will be converted to pd or gnu v3. A real work milestone was due and finished last night, so I will be able to finish this task today.
On Mon, Sep 30, 2024 at 11:29 PM hhonjyou @.***> wrote:
We have already received the answers to our questions, so we will close the issue.
Thank you very much for your response.
— Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/wgrib2/issues/249#issuecomment-2384708130, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEIB7ZQS4F2KDCUL6FAUHP3ZZIJJLAVCNFSM6AAAAABOKU2DBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBUG4YDQMJTGA . You are receiving this because you were mentioned.Message ID: @.***>
Thank you very much for your response to this completed Issue. Your prompt response was very helpful.
I would like to inquire about the interpretation of wgrib2 source files that do not have a specified license.
My understanding is that these files could be interpreted as being either in the Public Domain or under the GNU General Public License (GPL). (I am specifically referring to version 3.3.0)
For reference, please see the following link: https://github.com/NOAA-EMC/wgrib2/blob/v3.3.0/wgrib2/LICENSE-wgrib2
Based on my review, the following files appear to be applicable.