license: relicense from MIT to Apache License 2.0 - #60
Merged
Conversation
Relicense the project (going forward) from MIT to Apache-2.0, which adds an explicit patent grant and trademark clause. Sole copyright holder, so no third-party consent required. - LICENSE: full Apache-2.0 text (copyright 2024-2026 Heidi Andersen) - NOTICE: attribution + note that releases up to 0.4.1 remain MIT - pyproject: license still resolved from the LICENSE file (now Apache-2.0) - CITATION.cff: license Apache-2.0 - README: badge, blurb, and License section updated (+ MIT-history note) - R package: DESCRIPTION -> 'Apache License (>= 2)'; drop the MIT LICENSE template file (Apache is a standard CRAN license, no file needed) Already-published artifacts (PyPI vahtian-epinet 0.4.1) shipped under MIT and remain available under those terms; Apache-2.0 applies from 0.4.2 onward. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0149fLyfQuAaxNRfoPGoyf2x
Prepend a two-line SPDX header (SPDX-License-Identifier: Apache-2.0 + copyright) to the 22 vahtian/epinet/*.py modules and the 4 r/vahtian.epinet/R/*.R files, above module docstrings / from __future__ imports. ruff passes; imports and build unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0149fLyfQuAaxNRfoPGoyf2x
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
Relicenses the project from MIT to the Apache License 2.0 going forward. As the sole copyright holder you can do this freely; no third-party consent is required. Apache-2.0 keeps the same permissive spirit as MIT but adds an explicit patent grant and a trademark clause.
Changes
LICENSE— replaced MIT text with the full Apache-2.0 text (copyright 2024–2026 Heidi Andersén).NOTICE(new) — attribution file (Apache convention) that also records that releases up to and including0.4.1were MIT.CITATION.cff—license: Apache-2.0.README.md— license badge, the "Apache-2.0 licensed" blurb, and the License section (with a note that ≤0.4.1stays MIT).pyproject.toml— unchanged mechanism (license = { file = "LICENSE" }); the embedded license is now Apache-2.0. Verified:python -m build+twine checkpass; wheel metadata showsLicense: Apache License.DESCRIPTION→License: Apache License (>= 2)(CRAN's canonical form); removed the MITLICENSEtemplate file (Apache is a standard CRAN license, so no accompanying file is needed).Important scope note
Already-published artifacts remain MIT. PyPI
vahtian-epinet 0.4.1shipped under MIT and stays available under those terms — a published version's license can't be changed retroactively. Apache-2.0 applies from 0.4.2 onward (the current unreleased version).Validation
python -m build→vahtian_epinet-0.4.2sdist + wheel;twine checkPASSED.CITATION.cffparses as valid YAML.DESCRIPTIONchanged) will validate theApache License (>= 2)string.Left as a draft — a license change should be your explicit call to merge.
🤖 Generated with Claude Code
Generated by Claude Code