chore: license under MIT - #18
Merged
Merged
Conversation
The PIF license was copy-pasted from tish and was never the intended terms for this project. Relicensed to MIT across everything the repo publishes: - LICENSE, replaced with the standard MIT text - @spacedevin/deck and @spacedevin/deck-player on npm - the deckfile crate on crates.io The crate declared `license-file = "LICENSE"` specifically because PIF is not an SPDX identifier. MIT is, so it now declares `license = "MIT"`, which is what crates.io indexes and what license tooling downstream actually reads. Two things fixed along the way. The player tarball carried `"license"` metadata with no license text at all — `files` never listed one and none sat beside its package.json — so it now ships LICENSE like the language package does. And package-lock.json's own entries were still recording PIF; the remaining PIF in there is @tishlang/tish's, which is that dependency's own license and stays. This applies to future publishes. Versions already on npm and crates.io went out under the old terms.
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.
The PIF license was copy-pasted from tish and was never the intended terms for this project. Relicensed to MIT across every surface the repo publishes.
LICENSE@spacedevin/deck(npm)"license": "PIF""license": "MIT"@spacedevin/deck-player(npm)"license": "PIF", no license file in the tarball"license": "MIT"+LICENSEshippeddeckfile(crates.io)license-file = "LICENSE"license = "MIT"Notes
The crate field changes kind, not just value. It used
license-filedeliberately — the comment said "PIF is not an SPDX identifier, so an SPDX field would either be rejected or misreport the terms". MIT is an SPDX identifier, so it now declareslicense = "MIT", which is what crates.io indexes and what downstream license tooling reads.cargo publish --dry-runpackages 37 files with no license warning.The player package was shipping license metadata with no license text.
filesnever listed one and none existed beside itspackage.json, so the published tarball asserted a license it didn't include. It now carriesLICENSElike the language package does —npm pack --dry-runconfirms1.1kB LICENSEin both tarballs.One PIF reference remains in
package-lock.json:@tishlang/tish's own license entry. That's a dependency's metadata, not ours, and stays.Scope
This governs future publishes. Versions already on npm and crates.io went out under the old terms and aren't retroactively changed by this.
Verification
npm test(coverage 100%, 13 conformance cases, 14 example blocks, Tish VM suite, JS smoke),npm run test:rust(5 pass), andcargo publish --dry-runall clean.