-
Notifications
You must be signed in to change notification settings - Fork 107
Description
Hello,
Going throught the list of available classifiers at https://pypi.python.org/pypi?%3Aaction=list_classifiers , I feel like some of the license classifiers are not precise enough. For instance, there is a "License :: OSI Approved :: BSD License" that could refer to multiple licenses: BSD-2-Clause, BSD-2-Clause-Patent, BSD-3-Clause. In order to determine the actual license used by a project that only specifies "License :: OSI Approved :: BSD License", one has to look at the LICENSE file distributed with the source code.
This is an issue for downstream package maintainers for two reasons:
- automated tools (such as pypi2deb, guix import, upt) meant to help them by parsing PyPI and generating a package may have trouble finding the exact license used by a package;
- some versions of a license may be GPL/FSF/DFSG compatible while other versions may not: therefore it makes it harder than necessary to know whether a given package may be included in a given distribution.
I think the following licenses should be added (if possible to both pypi-legacy and warehouse):
- License :: OSI Approved :: Academic Free License 1.1 (AFL-1.1)
- License :: OSI Approved :: Academic Free License 1.2 (AFL-1.2)
- License :: OSI Approved :: Academic Free License 2.0 (AFL-2.0)
- License :: OSI Approved :: Academic Free License 2.1 (AFL-2.1)
- License :: OSI Approved :: Academic Free License 3.0 (AFL-3.0)
- License :: Apache Software License 1.0 (Apache-1.0)
- License :: OSI Approved :: Apache Software License 1.1 (Apache-1.1)
- License :: OSI Approved :: Apache Software License 2.0 (Apache-2.0)
- License :: OSI Approved :: Apple Public Source License 1.0 (APSL-1.0)
- License :: OSI Approved :: Apple Public Source License 1.1 (APSL-1.1)
- License :: OSI Approved :: Apple Public Source License 1.2 (APSL-1.2)
- License :: OSI Approved :: Apple Public Source License 2.0 (APSL-2.0)
- License :: OSI Approved :: Artistic License 1.0 (Artistic-1.0)
- License :: OSI Approved :: Artistic License 2.0 (Artistic-2.0)
- License :: OSI Approved :: BSD 2-Clause "Simplified License" (BSD-2-Clause)
- License :: OSI Approved :: BSD 2-Clause Plus Patent License (BSD-2-Clause-Patent)
- License :: OSI Approved :: BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
- License :: OSI Approved :: GNU Lesser General Public License v2.0 (LGPLv2.0)
- License :: OSI Approved :: GNU Lesser General Public License v2.0 or later (LGPLv2.0+)
- License :: OSI Approved :: GNU Lesser General Public License v2.1 (LGPLv2.1)
- License :: OSI Approved :: GNU Lesser General Public License v2.1 or later (LGPLv2.1+)
- License :: OSI Approved :: GNU Lesser General Public License v3.0 (LGPLv3.0)
- License :: OSI Approved :: GNU Lesser General Public License v3.0 or later (LGPLv3.0+)
In parentheses are the spdx identifiers (see https://spdx.org/licenses/) except for LGPL* where I used identifiers similar to those currently used for the various versions of the GPL.
Regarding the LGPL classifiers, we may also state that v2 and v2+ (currently in the list of valid classifiers) refer to v2.0 and v2.0+ and not to v2.1 and v2.1+, which would remove the need for the LGPLv2 and LGPLv2.0+ classifiers.
I decided not to include less used variants of the BSD licences - they may be added in the future if need be.
What do you think about this?