Skip to content

Commit 297dd2e

Browse files
authored
fix: chore: license under MIT (#18)
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.
1 parent 12ab831 commit 297dd2e

8 files changed

Lines changed: 49 additions & 19 deletions

File tree

‎LICENSE‎

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
1-
Pay It Forward License (PIF)
1+
MIT License
22

33
Copyright (c) 2026-present spacedevin
44

5-
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:
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
611

7-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
814

9-
This license includes a perpetual, worldwide, non-exclusive, royalty-free, irrevocable (except as stated below) grant for patent claims necessarily infringed by the use of the Software or any contributions submitted to it; terminating automatically when an entity initiates patent litigation (including a cross-claim or counterclaim) alleging that the Software or any portion thereof infringes a patent.
10-
11-
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 non-infringement. 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.
12-
13-
Recipients of the Software should pay it forward by contributing to the open-source community through actions including but not limited to providing code, documentation, tutorials, guides, support, feedback, or promoting open-source projects through advocacy or related efforts that advance innovation and community growth.
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,4 +146,4 @@ Branch % is lower (~60%) because the Tish→JS emit adds many `?? null` / typeof
146146

147147
## License
148148

149-
Pay It Forward (PIF) — see [LICENSE](LICENSE). Same license as [tish](https://github.com/tishlang/tish).
149+
MIT — see [LICENSE](LICENSE).

‎package-lock.json‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"type": "module",
55
"description": ".deck language only — tokenize, parse, format, registries, highlight classify",
6-
"license": "PIF",
6+
"license": "MIT",
77
"author": "spacedevin",
88
"repository": {
99
"type": "git",

‎packages/player/LICENSE‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026-present spacedevin
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

‎packages/player/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,4 @@ See [AGENTS.md](AGENTS.md). Grammar changes belong upstream in `@spacedevin/deck
141141

142142
## License
143143

144-
Pay It Forward (PIF) — see [LICENSE](../../LICENSE).
144+
MIT — see [LICENSE](LICENSE).

‎packages/player/package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"type": "module",
55
"description": "Web Audio player for the .deck language — chip-tune synths, transport, and a <deck-player> element",
6-
"license": "PIF",
6+
"license": "MIT",
77
"author": "spacedevin",
88
"repository": {
99
"type": "git",
@@ -40,7 +40,8 @@
4040
"element/",
4141
"types/",
4242
"README.md",
43-
"AGENTS.md"
43+
"AGENTS.md",
44+
"LICENSE"
4445
],
4546
"scripts": {
4647
"build": "tish build src/index.tish -o dist/deck-player.js --target js",

‎scripts/build-rust.mjs‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ Hosts extend the language through registries rather than forking it:
117117
118118
## License
119119
120-
Pay It Forward (PIF) — see LICENSE. Same license as [tish][tish].
120+
MIT — see LICENSE.
121121
122122
[npm]: https://www.npmjs.com/package/@spacedevin/deck
123123
[repo]: https://github.com/spacedevin/deck
@@ -209,13 +209,13 @@ const CRATE_VERSION = process.env.DECKFILE_VERSION ?? pkg.version
209209
const manifestPath = path.join(out, "Cargo.toml")
210210
let manifest = fs.readFileSync(manifestPath, "utf8")
211211
const deps = `[dependencies]\ntishlang_runtime = "${RUNTIME_VERSION}"\n`
212-
// `license-file`, not `license`: PIF is not an SPDX identifier, so an SPDX field would either be
213-
// rejected or misreport the terms. Same approach tish itself uses.
212+
// MIT is a real SPDX identifier, so the crate declares it as `license` rather than pointing at a
213+
// `license-file`. That is what crates.io indexes and what downstream license tooling reads.
214214
manifest = `[package]
215215
name = "${CRATE_NAME}"
216216
version = "${CRATE_VERSION}"
217217
edition = "2021"
218-
license-file = "LICENSE"
218+
license = "MIT"
219219
readme = "README.md"
220220
description = "${pkg.description}"
221221
repository = "${pkg.repository.url}"

0 commit comments

Comments
 (0)