Skip to content

Request: more precise license classifiers #17

@Steap

Description

@Steap

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions