← all maintainers

185 port(s) -- uncheck a status to hide it
What do these statuses mean?
StatusAction neededMeaning
mismatchmanual reviewThe actual license text doesn't match what's declared at all -- it verbatim-matches (or closely resembles) a different SPDX license entirely. LICENSE= is very likely wrong.
undeclaredmanual reviewLICENSE= isn't set on this port at all. Needs a license identifier added before anything else here is possible.
no matchmanual reviewThe license text doesn't resemble any license in the SPDX corpus closely enough to identify. Could be a heavily modified license, a custom license, or extraction picked up the wrong file.
unresolvedmanual reviewNo license file could be located at all (no LICENSE_FILE set, and nothing matching LICENSE*/COPYING*/COPYRIGHT* found by searching the extracted source). Add LICENSE_FILE, or investigate why none exists.
extra licensemanual reviewThe declared license's own text checks out, but the port's source also contains SPDX-License-Identifier tags for a different license nowhere reflected in LICENSE=. Check whether LICENSE= needs to become a multi-license declaration.
closemanual reviewSame license family as declared, but the text doesn't verbatim-match the canonical SPDX wording (drifted, or has minor unauthorized changes). Compare against "Detected SPDX" and decide whether to fix the text or the tag.
retageasy fixLicense text is verbatim-correct, but LICENSE= still uses FreeBSD's old-style token instead of the SPDX identifier shown in "Declared SPDX". Just update the Makefile -- no text investigation needed.
exactnoneVerbatim match against the SPDX canonical text, and LICENSE= already uses the correct SPDX spelling. Nothing to do.
PortFreeBSD LICENSEDeclared SPDXDetected SPDXStatusSPDX tags in source
archivers/py-lz4BSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.5%retag
archivers/py-warctoolsMITMITunresolved
audio/py-mutagenGPLv2+GPL-2.0-or-laterGPL-2.0-only99.9%mismatch
audio/py-pyoggUNLICENSEUnlicenseUnlicense100.0%retag
converters/py-rencodeGPLv3GPL-3.0-onlyGPL-3.0-only99.5%retag
databases/py-dbutilsMITMITMITexact
databases/py-gdbmPSFLPSF-2.0no matchCC0-1.0,MIT
databases/py-mongoengineMITMITMITexact
databases/py-oracledbAPACHE20Apache-2.0ImageMagick92.9%mismatch
databases/py-pgdbconnBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.0%retag
databases/py-pickledbBSD3CLAUSEBSD-3-Clauseunresolved
databases/py-sqlite3PSFLPSF-2.0no matchCC0-1.0,MIT
databases/py-varstackMITMITMITexact
devel/c-stdaux
devel/ipythonBSD3CLAUSEBSD-3-Clauseno match
devel/mercurialGPLv2GPL-2.0-onlyGPL-2.0-only99.9%extra licenseApache-2.0,MIT
devel/nuitkaAPACHE20Apache-2.0Apache-2.098.1%extra licenseCC0-1.0
devel/py-amalgamateBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.5%retag
devel/py-appdirsMITMITMITexact
devel/py-backportsMITMITunresolved
devel/py-cobbleBSD2CLAUSEBSD-2-Clauseunresolved
devel/py-coloredlogsMITMITMITexact
devel/py-dasbusLGPL20+LGPL-2.0-or-laterLGPL-2.1-or-later100.0%mismatch
devel/py-ddtMITMITMIT97.8%close
devel/py-decliMITMITMITexact
devel/py-entrypointsMITMITMITexact
devel/py-examMITMITunresolved
devel/py-flask-babelBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.3%retag
devel/py-freebsdBSD2CLAUSEBSD-2-ClauseBSD-2-Clause97.5%retag
devel/py-frozenlistAPACHE20Apache-2.0Pixar99.2%mismatch
devel/py-gelidumMITMITMITexact
devel/py-ipyparallelBSD3CLAUSEBSD-3-Clauseno match
devel/py-jsonformMITMITunresolved
devel/py-jsonsirMITMITunresolved
devel/py-jupyter-clientBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
devel/py-jupyter-coreBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
devel/py-logfuryBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.6%retag
devel/py-nbconvertBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
devel/py-nbformatBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
devel/py-petnameAPACHE20Apache-2.0unresolved
devel/py-pipMITMITMIT100.0%extra licenseApache-2.0,MIT
devel/py-pyMITMITMITexact
devel/py-py-stackexchangeBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.8%retag
devel/py-py_interfaceLGPL20LGPL-2.0-onlyunresolved
devel/py-pydemumbleBSD2CLAUSEBSD-2-ClauseBSD-2-Clause99.2%extra licenseApache-2.0
devel/py-pymarcBSD2CLAUSEBSD-2-Clauseno match
devel/py-pyopenclMITMITno match
devel/py-pyrsistentMITMITMITexact
devel/py-pyteLGPL3LGPL-3.0-onlyLGPL-3.0-only31.4%retag
devel/py-pytestMITMITMITexact
devel/py-pytest-djangoBSD3CLAUSEBSD-3-Clauseno match
devel/py-pytest-httpbinMITMITMITexact
devel/py-python-xcaplibLGPL20+LGPL-2.0-or-laterno match
devel/py-pytoolsMITMITMITexact
devel/py-pyyamlMITMITMITexact
devel/py-remote-pdbBSD2CLAUSEBSD-2-ClauseBSD-2-Clause100.0%retag
devel/py-repoze.tm2
devel/py-setuptoolsMITMITunresolved
devel/py-setuptools-scmMITMITMITexact
devel/py-setuptools-scm8MITMITMITexact
devel/py-setuptools44MITMITunresolved
devel/py-setuptools58MITMITunresolved
devel/py-sgmllib3kBSD2CLAUSEBSD-2-Clauseunresolved
devel/py-simplejsonMITMITOSL-2.195.0%mismatch
devel/py-sixMITMITMITexact
devel/py-speaklaterBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.3%retag
devel/py-sqidsMITMITMITexact
devel/py-standard-imghdrPSFLPSF-2.0PSF-2.093.1%close
devel/py-statsdMITMITMITexact
devel/py-testpathBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
devel/py-twistedMITMITMITexact
devel/py-urwidLGPL21LGPL-2.1-onlyLGPL-2.1-only100.0%retag
devel/py-validictoryMITMITMITexact
devel/py-voluptuousBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.2%retag
dns/py-cloudflareMITMITMITexact
games/py-trueskillBSD3CLAUSEBSD-3-ClauseBSD-3-Clause82.8%retag
graphics/py-PyOpenGLBSD3CLAUSEBSD-3-Clauseno match
graphics/py-PyOpenGL-accelerateBSD3CLAUSEBSD-3-ClauseBSD-3-Clause93.1%retag
graphics/py-imutils
graphics/py-pygraphvizBSD3CLAUSEBSD-3-ClauseBSD-3-Clause94.9%retag
graphics/py-vulkanAPACHE20Apache-2.0Pixar99.2%mismatch
lang/jythonAPACHE20Apache-2.0Apache-2.098.2%retag
PSFLPSF-2.0no match
lang/micropythonMITMITno matchApache-2.0,BSD-3-Clause,The
lang/python
lang/python-doc-html
lang/python-doc-text
lang/python-toolsPSFLPSF-2.0no matchCC0-1.0,MIT,PSF-2.0
lang/python2
lang/python27PSFLPSF-2.0no match
lang/python3
lang/python310PSFLPSF-2.0unresolved
lang/python311PSFLPSF-2.0unresolved
lang/python312PSFLPSF-2.0unresolved
lang/python313PSFLPSF-2.0unresolved
lang/python313tPSFLPSF-2.0unresolved
lang/python314PSFLPSF-2.0unresolved
lang/python314tPSFLPSF-2.0unresolved
lang/python315PSFLPSF-2.0no matchCC0-1.0,MIT,PSF-2.0
mail/py-email-reply-parserMITMITunresolved
math/py-altgraphMITMITMIT-098.9%mismatch
math/py-numpyBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.5%extra license0BSD,Apache-2.0,BSD-3-Clause,BSD-3-Clause^M,FSFAP,MIT
math/py-numpy1BSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.5%extra licenseApache-2.0,BSD-3-Clause,FSFAP,MIT
math/py-pandasBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
math/py-secp256k1MITMITMITexact
net/py-msrplibLGPL21+LGPL-2.1-or-laterno match
net/py-oauth2MITMITunresolved
net/py-python-twitterAPACHE20Apache-2.0Apache-2.098.1%retag
net/py-txamqpAPACHE20Apache-2.0Apache-2.098.1%retag
net/py-urllib3MITMITMIT100.0%extra licenseMPL-2.0
science/py-pydoeBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
science/py-scipyBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%extra licenseApache-2.0,BSD-2-Clause,BSD-3-Clause,BSL-1.0,MIT
security/c-siphash
security/py-acmeAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-bcryptAPACHE20Apache-2.0Apache-2.098.2%retagApache-2.0
security/py-certbotAPACHE20Apache-2.0ECL-2.096.4%mismatch
security/py-certbot-apacheAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-cloudflareAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-digitaloceanAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-dnsimpleAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-dnsmadeeasyAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-gehirnAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-googleAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-linodeAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-luadnsAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-nsoneAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-ovhAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-rfc2136APACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-dns-route53APACHE20Apache-2.0Pixar99.2%mismatch
security/py-certbot-dns-sakuracloudAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-certbot-nginxAPACHE20Apache-2.0ECL-2.097.5%mismatch
security/py-fido2BSD2CLAUSEBSD-2-ClauseBSD-2-Clause99.2%retag
security/py-josepyAPACHE20Apache-2.0ECL-2.097.6%mismatch
security/py-siphash24APACHE20Apache-2.0Apache-2.0100.0%retagApache-2.0
LGPL21+LGPL-2.1-or-laterLGPL-2.1-or-later99.9%closeApache-2.0
sysutils/py-iowaitGPLv3GPL-3.0-onlyGPL-3.0-only99.5%retag
textproc/py-TempitaMITMITunresolved
textproc/py-asonicMPL20MPL-2.0unresolved
textproc/py-autopep8MITMITMITexact
textproc/py-chameleonBSD4CLAUSEBSD-4-Clauseno match
textproc/py-chardetBSD0CLAUSE0BSD0BSD100.0%retag
textproc/py-docutilsBSD2CLAUSEBSD-2-Clauseno match
GPLv3+GPL-3.0-or-laterno match
PD
PSFLPSF-2.0no match
textproc/py-empyLGPL21LGPL-2.1-onlyunresolved
textproc/py-humanfriendlyMITMITMITexact
textproc/py-markdownifyMITMITMITexact
textproc/py-numpydocBSD2CLAUSEBSD-2-ClauseBSD-2-Clause96.9%retag
textproc/py-pandocfiltersBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.2%retag
textproc/py-pygtkspellcheckGPLv3+GPL-3.0-or-laterGPL-3.0-or-later99.5%retag
textproc/py-rdflibBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
textproc/py-rst2html5MITMITMITexact
textproc/py-sparqlwrapperW3C
textproc/py-sphinxBSD2CLAUSEBSD-2-ClauseBSD-2-Clause94.2%retag
textproc/py-sphinxcontrib-actdiagBSD2CLAUSEBSD-2-ClauseBSD-2-Clause98.0%retag
textproc/py-sphinxcontrib-apidocBSD2CLAUSEBSD-2-ClauseBSD-2-Clause99.2%retag
textproc/py-sphinxcontrib-blockdiagBSD2CLAUSEBSD-2-ClauseBSD-2-Clause98.0%retag
textproc/py-sphinxcontrib-htmlhelpBSD2CLAUSEBSD-2-ClauseBSD-2-Clause97.0%retag
textproc/py-sphinxcontrib-jqueryBSD0CLAUSE0BSD0BSD98.0%retag
textproc/py-sphinxcontrib-nwdiagBSD2CLAUSEBSD-2-ClauseBSD-2-Clause98.0%retag
textproc/py-sphinxcontrib-qthelpBSD2CLAUSEBSD-2-ClauseBSD-2-Clause97.1%retag
textproc/py-sphinxcontrib-seqdiagBSD2CLAUSEBSD-2-ClauseBSD-2-Clause98.0%retag
textproc/py-sphinxcontrib-serializinghtmlBSD2CLAUSEBSD-2-ClauseBSD-2-Clause96.7%retag
textproc/py-tomlMITMITMITexact
textproc/py-toronadoAPACHE20Apache-2.0unresolved
textproc/py-whooshBSD2CLAUSEBSD-2-ClauseBSD-2-Clause-Views95.5%mismatch
www/moinmoinGPLv2GPL-2.0-onlyGPL-2.0-only99.9%retag
www/py-beakerBSD3CLAUSEBSD-3-ClauseBSD-3-Clause96.2%retag
www/py-bjoernBSD2CLAUSEBSD-2-ClauseBSD-2-Clause78.2%retag
www/py-django-appconfBSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.4%retag
www/py-django-bitfieldAPACHE20Apache-2.0Apache-2.098.1%retag
www/py-django-guardianBSD2CLAUSEBSD-2-Clauseno match
www/py-django-pipelineMITMITMITexact
www/py-django-recaptchaBSD3CLAUSEBSD-3-ClauseBSD-3-Clause96.7%retag
www/py-django-storagesBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
www/py-django-templatetag-sugar
www/py-django52BSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.6%retag
www/py-django60BSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.6%retag
www/py-django61BSD3CLAUSEBSD-3-ClauseBSD-3-Clause98.6%retag
www/py-flask-uploadsMITMITunresolved
www/py-httprettyMITMITMITexact
www/py-ll-xistMITMITunresolved
www/py-notebookBSD3CLAUSEBSD-3-ClauseBSD-3-Clause99.3%retag
www/py-rollbarMITMITMITexact
www/py-wikipediaMITMITMITexact
x11-fonts/py-bdflibGPLv3GPL-3.0-onlyGPL-3.0-only99.5%retag
x11-toolkits/py-awesometkinterMITMITMITexact
x11-toolkits/py-pyfltkLGPL20LGPL-2.0-onlyLGPL-2.0+99.9%mismatch
x11-toolkits/py-tkinterPSFLPSF-2.0no matchCC0-1.0,MIT