Repository navigation
Conversation
The licence expression read LGPL-2.1-or-later alone while the wheel ships data under five other licences. It now reads LGPL-2.1-or-later AND Apache-2.0 AND GFDL-1.2-no-invariants-or-later AND CC-BY-4.0 AND OGDL-Taiwan-1.0 AND Unicode-3.0. - LICENSE-nam_dict: nam_dict's notices and the GFDL 1.2 text, which its terms ask to travel with the familiar forms and the suggester's common given names and which no file in the tree held. - LICENSE-unicode: the Unicode License v3 notice for the Unihan data, in locales/zh.py's simplified surname forms since 2.5.0 and in the suggester's pinyin surnames; zh.py's docstring now credits it. - README.rst's License section lists every source. - tests/v2/test_licensing.py holds the licence files, license-files, the expression, the README and the crediting modules together. - decisions/shipped-data-licences records the sources, what each licence asks and how it is met; AGENTS.md says what a new source needs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data the project derives by measuring is its own, its sources credited as a courtesy; a curated list copied whole keeps its licence. Under that rule nam_dict's familiar-form pairs are dropped before 3.1 and rebuilt from CC0 data reviewed by hand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 13, 2026
Open
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The package's licence expression read
LGPL-2.1-or-lateralone, while the wheel ships data derived from five third-party datasets under other licences. Two of those licences ask their text or notice to travel with copies, and the tree held neither text.Licence expression:
LGPL-2.1-or-later AND Apache-2.0 AND GFDL-1.2-no-invariants-or-later AND CC-BY-4.0 AND OGDL-Taiwan-1.0 AND Unicode-3.0.packagingcanonicalizes it unchanged, and the wheel and sdist carry it asLicense-Expression(Metadata-Version 2.4).LICENSE-nam_dict(new): nam_dict's copyright and licence notices as the file states them, then the GFDL 1.2 text. It covers the 3.1 familiar forms and the suggester's common given names.LICENSE-unicode(new): the Unicode License v3 notice. It coverslocales/zh.py's simplified surname forms, which have shipped since 2.5.0: 19 of the block's 324 forms come only from Unihan's variant table. It also covers the 3.1 suggester's pinyin surnames. zh.py's docstring now credits Unihan.README.rst's License section lists every source and where its terms are met. This is the PyPI page.
tests/v2/test_licensing.pyholds the licence files,license-files, the expression, the README and the modules crediting the attribution-only sources (CC BY 4.0, OGDL) to one another. Checked against deliberate breakages: droppingLICENSE-unicodefromlicense-files,CC-BY-4.0from the expression, and zh.py's README credit each fail it.decisions/shipped-data-licences(new key) records:SUFFIX_ACRONYMS' Wikipedia origin;AGENTS.md's Extension Patterns now says what a new data source needs.
The code's licence is unchanged. Releases 2.5.0 through 3.0.1 shipped OGDL and Unihan data, and 3.0.0 onward CC BY data, behind the LGPL-only expression. Debian's
debian/copyrightwill need a paragraph per source when 3.1 is packaged.The entry also records the rule for future sources (FACTS WE MEASURE): data the project derives by measuring (its own counts, cutoffs and filters) is its own, with sources credited as a courtesy. A curated list copied whole, one compiler's judgements of which entries belong, keeps its licence, and if that licence is a burden it goes in an optional extra package instead of the core. Whether the attribution-only terms stay in the expression under that rule is recorded as Open; they stay for now.
Follow-ups, each its own PR:
Each removal shrinks the expression and the files again, and the test flags any of them left behind.
Review
design-docs-reviewer on the decisions entry, the AGENTS.md paragraph and the licence-file headers. It found:
All are fixed in this commit. The missing PR number is added in a follow-up commit.
Test plan
uv run pytest: 46,722 passed, 38 skipped, 3 xfaileduv run ruff check, anduv run mypyon the new testsphinx-build -b doctest docs,python -m doctest README.rst, andreadme_rendereron README.rstuv build: the wheel'sdist-info/licenses/and the sdist carry LICENSE, AUTHORS, LICENSE-nicknames, LICENSE-nam_dict and LICENSE-unicode🤖 Generated with Claude Code