From 41af06f0e721eeb03d3ddd490e3a241178ef49a1 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Thu, 17 Sep 2026 22:31:28 +0200 Subject: [PATCH 1/5] Add MIT license Code: MIT. Original text and figures: CC BY 4.0 (README). Co-Authored-By: Claude Fable 5.1 --- LICENSE | 21 +++++++++++++++++++++ README.md | 4 ++++ 2 files changed, 25 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..70c90396 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 PolicyEngine + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 9c2f2e9f..201f798a 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,7 @@ pip install microimpute[images] ## Contributing Pull requests are welcome. If you find a bug or have a feature idea, open an issue or submit a PR. + +## License + +Code in this repository is released under the [MIT License](LICENSE). Original text and figures are released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. From 22a50bc46beb4cd424c32d60308dc32f6d03fbad Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 6 Nov 2026 19:04:01 -0500 Subject: [PATCH 2/5] Declare the MIT License in the package metadata Set license = "MIT" and license-files = ["LICENSE"] (PEP 639), so the wheel carries License-Expression: MIT and the LICENSE file. setuptools reads license expressions from version 77, so require it; it also rejects "License ::" classifiers beside an expression, so the classifiers list leaves the license out. Extend the copyright years to 2025-2026, note that the matching extra installs rpy2 under GPL-2.0-or-later, and add the changelog fragment. Co-Authored-By: Claude Opus 5.5 --- LICENSE | 2 +- README.md | 2 +- changelog.d/license-mit.added.md | 1 + pyproject.toml | 4 +++- 4 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changelog.d/license-mit.added.md diff --git a/LICENSE b/LICENSE index 70c90396..ab0e7324 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 PolicyEngine +Copyright (c) 2025-2026 PolicyEngine Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 201f798a..a3bb48c3 100644 --- a/README.md +++ b/README.md @@ -45,4 +45,4 @@ Pull requests are welcome. If you find a bug or have a feature idea, open an iss ## License -Code in this repository is released under the [MIT License](LICENSE). Original text and figures are released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. +Code in this repository is released under the [MIT License](LICENSE). Original text and figures are released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. diff --git a/changelog.d/license-mit.added.md b/changelog.d/license-mit.added.md new file mode 100644 index 00000000..b3957c80 --- /dev/null +++ b/changelog.d/license-mit.added.md @@ -0,0 +1 @@ +Release microimpute under the MIT License and declare the license in the package metadata. diff --git a/pyproject.toml b/pyproject.toml index 22cba6a4..e56e5d7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "setuptools>=61.0", + "setuptools>=77.0", "wheel", ] build-backend = "setuptools.build_meta" @@ -10,6 +10,8 @@ name = "microimpute" version = "3.2.0" description = "Benchmarking imputation methods for microdata" readme = "README.md" +license = "MIT" +license-files = ["LICENSE"] authors = [ { name = "Vahid Ahmadi", email = "vahid@policyengine.org" }, { name = "Max Ghenis", email = "max@policyengine.org" }, From b76ae31ae889f1580ddc09bfa3c1e2cbdfbf4f62 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Fri, 6 Nov 2026 19:05:50 -0500 Subject: [PATCH 3/5] Write the license section in active voice Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3bb48c3..49de65a6 100644 --- a/README.md +++ b/README.md @@ -45,4 +45,4 @@ Pull requests are welcome. If you find a bug or have a feature idea, open an iss ## License -Code in this repository is released under the [MIT License](LICENSE). Original text and figures are released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. +PolicyEngine releases the code in this repository under the [MIT License](LICENSE), and its original text and figures under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. From ce54972fc4e81476ed9dbc14ebb37d6f2cdce248 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 7 Nov 2026 19:12:05 -0500 Subject: [PATCH 4/5] Note the paper notebook's AGPL-3.0 imports in the README The paper notebook imports policyengine-us and policyengine-core, which carry AGPL-3.0, so the license section says so beside the rpy2 note. Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49de65a6..38e7c70e 100644 --- a/README.md +++ b/README.md @@ -45,4 +45,4 @@ Pull requests are welcome. If you find a bug or have a feature idea, open an iss ## License -PolicyEngine releases the code in this repository under the [MIT License](LICENSE), and its original text and figures under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. +PolicyEngine releases the code in this repository under the [MIT License](LICENSE), and its original text and figures under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. The paper notebook `paper/imputing-from-scf-to-cps.ipynb` imports policyengine-us and policyengine-core, which carry AGPL-3.0. From 696caec51f051099ce528c8961ee5f8a02591025 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sat, 7 Nov 2026 21:01:40 -0500 Subject: [PATCH 5/5] Link the README to LICENSE by its full URL PyPI's project page shows the README, and a relative link to LICENSE there would point into pypi.org instead of at the file. Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 38e7c70e..f8792416 100644 --- a/README.md +++ b/README.md @@ -45,4 +45,4 @@ Pull requests are welcome. If you find a bug or have a feature idea, open an iss ## License -PolicyEngine releases the code in this repository under the [MIT License](LICENSE), and its original text and figures under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. The paper notebook `paper/imputing-from-scf-to-cps.ipynb` imports policyengine-us and policyengine-core, which carry AGPL-3.0. +PolicyEngine releases the code in this repository under the [MIT License](https://github.com/PolicyEngine/microimpute/blob/main/LICENSE), and its original text and figures under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) with attribution to PolicyEngine. Third-party data and materials keep their own terms. The optional `matching` extra installs rpy2, which its authors license under GPL-2.0-or-later. The paper notebook `paper/imputing-from-scf-to-cps.ipynb` imports policyengine-us and policyengine-core, which carry AGPL-3.0.