From bb5f3887e1beef04d3a8b0ae7f11d8c83a865297 Mon Sep 17 00:00:00 2001 From: Philippe Ombredanne Date: Thu, 3 Sep 2020 18:48:30 +0200 Subject: [PATCH] Improve license detection for psycopg2 #2186 #2187 #2188 Reported-by: Armijn Hemel @armijnhemel Signed-off-by: Philippe Ombredanne --- .../data/rules/lgpl-3.0-plus_117.RULE | 9 ++++ .../data/rules/lgpl-3.0-plus_117.yml | 3 ++ src/licensedcode/data/rules/psf-2.0_1.RULE | 47 +++++++++++++++++++ src/licensedcode/data/rules/psf-2.0_1.yml | 8 ++++ .../data/rules/public-domain_264.RULE | 1 + .../data/rules/public-domain_264.yml | 3 ++ .../data/rules/public-domain_265.RULE | 1 + .../data/rules/public-domain_265.yml | 3 ++ .../data/rules/public-domain_docutils3.yml | 1 + src/licensedcode/data/rules/pypi_epl-2.0.yml | 2 + ...brary_or_lesser_general_public_license.yml | 2 + 11 files changed, 80 insertions(+) create mode 100644 src/licensedcode/data/rules/lgpl-3.0-plus_117.RULE create mode 100644 src/licensedcode/data/rules/lgpl-3.0-plus_117.yml create mode 100644 src/licensedcode/data/rules/psf-2.0_1.RULE create mode 100644 src/licensedcode/data/rules/psf-2.0_1.yml create mode 100644 src/licensedcode/data/rules/public-domain_264.RULE create mode 100644 src/licensedcode/data/rules/public-domain_264.yml create mode 100644 src/licensedcode/data/rules/public-domain_265.RULE create mode 100644 src/licensedcode/data/rules/public-domain_265.yml diff --git a/src/licensedcode/data/rules/lgpl-3.0-plus_117.RULE b/src/licensedcode/data/rules/lgpl-3.0-plus_117.RULE new file mode 100644 index 00000000000..7d38bc9a39d --- /dev/null +++ b/src/licensedcode/data/rules/lgpl-3.0-plus_117.RULE @@ -0,0 +1,9 @@ +# psycopg2 is free software: you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# psycopg2 is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +# License for more details. \ No newline at end of file diff --git a/src/licensedcode/data/rules/lgpl-3.0-plus_117.yml b/src/licensedcode/data/rules/lgpl-3.0-plus_117.yml new file mode 100644 index 00000000000..435e1ae2182 --- /dev/null +++ b/src/licensedcode/data/rules/lgpl-3.0-plus_117.yml @@ -0,0 +1,3 @@ +license_expression: lgpl-3.0-plus +is_license_notice: yes +relevance: 100 diff --git a/src/licensedcode/data/rules/psf-2.0_1.RULE b/src/licensedcode/data/rules/psf-2.0_1.RULE new file mode 100644 index 00000000000..b4b40a7539b --- /dev/null +++ b/src/licensedcode/data/rules/psf-2.0_1.RULE @@ -0,0 +1,47 @@ +* PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 + * -------------------------------------------- + * + * 1. This LICENSE AGREEMENT is between the Python Software Foundation + * ("PSF"), and the Individual or Organization ("Licensee") accessing and + * otherwise using this software ("Python") in source or binary form and + * its associated documentation. + * + * 2. Subject to the terms and conditions of this License Agreement, PSF hereby + * grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, + * analyze, test, perform and/or display publicly, prepare derivative works, + * distribute, and otherwise use Python alone or in any derivative version, + * provided, however, that PSF's License Agreement and PSF's notice of copyright, + * i.e., "Copyright (c) 2001-2019, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + * Python Software Foundation; All Rights Reserved" are retained in Python alone or + * in any derivative version prepared by Licensee. + * + * 3. In the event Licensee prepares a derivative work that is based on + * or incorporates Python or any part thereof, and wants to make + * the derivative work available to others as provided herein, then + * Licensee hereby agrees to include in any such work a brief summary of + * the changes made to Python. + * + * 4. PSF is making Python available to Licensee on an "AS IS" + * basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR + * IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND + * DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS + * FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT + * INFRINGE ANY THIRD PARTY RIGHTS. + * + * 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON + * FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS + * A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, + * OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + * + * 6. This License Agreement will automatically terminate upon a material + * breach of its terms and conditions. + * + * 7. Nothing in this License Agreement shall be deemed to create any + * relationship of agency, partnership, or joint venture between PSF and + * Licensee. This License Agreement does not grant permission to use PSF + * trademarks or trade name in a trademark sense to endorse or promote + * products or services of Licensee, or any third party. + * + * 8. By copying, installing or otherwise using Python, Licensee + * agrees to be bound by the terms and conditions of this License + * Agreement. \ No newline at end of file diff --git a/src/licensedcode/data/rules/psf-2.0_1.yml b/src/licensedcode/data/rules/psf-2.0_1.yml new file mode 100644 index 00000000000..b0ce60a7aa0 --- /dev/null +++ b/src/licensedcode/data/rules/psf-2.0_1.yml @@ -0,0 +1,8 @@ +license_expression: psf-2.0 +is_license_text: yes +relevance: 100 +ignorable_copyrights: + - Copyright (c) 2001-2019, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software + Foundation +ignorable_holders: + - Python Software Foundation diff --git a/src/licensedcode/data/rules/public-domain_264.RULE b/src/licensedcode/data/rules/public-domain_264.RULE new file mode 100644 index 00000000000..44a4b6495d5 --- /dev/null +++ b/src/licensedcode/data/rules/public-domain_264.RULE @@ -0,0 +1 @@ +This software is Public Domain and may be used without restrictions. \ No newline at end of file diff --git a/src/licensedcode/data/rules/public-domain_264.yml b/src/licensedcode/data/rules/public-domain_264.yml new file mode 100644 index 00000000000..95831078f5e --- /dev/null +++ b/src/licensedcode/data/rules/public-domain_264.yml @@ -0,0 +1,3 @@ +license_expression: public-domain +is_license_text: yes +relevance: 100 diff --git a/src/licensedcode/data/rules/public-domain_265.RULE b/src/licensedcode/data/rules/public-domain_265.RULE new file mode 100644 index 00000000000..480712d7ecf --- /dev/null +++ b/src/licensedcode/data/rules/public-domain_265.RULE @@ -0,0 +1 @@ +This software is Public Domain \ No newline at end of file diff --git a/src/licensedcode/data/rules/public-domain_265.yml b/src/licensedcode/data/rules/public-domain_265.yml new file mode 100644 index 00000000000..95831078f5e --- /dev/null +++ b/src/licensedcode/data/rules/public-domain_265.yml @@ -0,0 +1,3 @@ +license_expression: public-domain +is_license_text: yes +relevance: 100 diff --git a/src/licensedcode/data/rules/public-domain_docutils3.yml b/src/licensedcode/data/rules/public-domain_docutils3.yml index cf3d23b482a..b42f617372d 100644 --- a/src/licensedcode/data/rules/public-domain_docutils3.yml +++ b/src/licensedcode/data/rules/public-domain_docutils3.yml @@ -1,2 +1,3 @@ license_expression: public-domain +relevance: 100 is_license_text: yes diff --git a/src/licensedcode/data/rules/pypi_epl-2.0.yml b/src/licensedcode/data/rules/pypi_epl-2.0.yml index fbc781f4834..4226af8d54c 100644 --- a/src/licensedcode/data/rules/pypi_epl-2.0.yml +++ b/src/licensedcode/data/rules/pypi_epl-2.0.yml @@ -1,2 +1,4 @@ license_expression: epl-2.0 is_license_tag: yes +relevance: 100 + diff --git a/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.yml b/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.yml index 49b36b3f46e..da37e492418 100644 --- a/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.yml +++ b/src/licensedcode/data/rules/pypi_gnu_library_or_lesser_general_public_license.yml @@ -1,2 +1,4 @@ license_expression: lgpl-2.0-plus is_license_tag: yes +relevance: 100 +