This repository holds two kinds of file with two different legal statuses,
and the difference is easy to miss because LICENSE sits at the top level
and says Apache-2.0.
| licence | conditions | |
|---|---|---|
| everything except the listings | Apache-2.0 | keep LICENSE, keep NOTICE, state changes |
web/tapes/*.bas — 103 files |
public domain | none at all |
package.json says "license": "Apache-2.0" because that is the licence of
the project's own work. It is not a claim over the listings.
LICENSE is the Apache License 2.0, byte-for-byte the text published at
apache.org/licenses/LICENSE-2.0.txt. It has not been modified, and the
[yyyy] [name of copyright owner] placeholders in its appendix are part of
that official text rather than something left unfilled — the actual copyright
line lives in NOTICE, which is where Apache expects it.
Apache §4(d) matters if you redistribute: a derivative work has to carry a
readable copy of the attribution notices in NOTICE. That is the one thing
NOTICE is for, which is why it holds attributions and nothing else.
web/tapes/*.bas are program listings from David H. Ahl's BASIC Computer
Games (Creative Computing, 1978).
They are public domain. On 15 June 2022 Ahl formally placed everything he had written or edited into the public domain. He edited the book. Public domain is not a licence: there is no attribution requirement, no notice to propagate, no share-alike, nothing.
The copies here came from github.com/coding-horror/basic-computer-games,
which distributes them under the Unlicense. That is worth knowing but it
is not what makes them free — a third party cannot place someone else's work
in the public domain. Ahl's own declaration is the operative fact; the
Unlicense is that project's dedication of its own work.
The caveat, stated rather than buried: the declaration was a Facebook
post that nobody here has seen first hand. The chain is post → Ira Goldklang
→ Adafruit → Internet Archive item metadata, and the Internet Archive marks
the books CC Public Domain Mark 1.0 on that basis. It has stood unchallenged
since 2022. Full sources are in web/tapes/README.md.
Do not source listings from atariarchives.org. It hosts the same book under a much older arrangement and asks not to be mirrored. That request predates the 2022 declaration and is the site's own condition rather than Ahl's position — but the Internet Archive and GitHub copies carry explicit public-domain terms, so there is no reason to argue with it.
web/js/basic.js is an original implementation written against the MITS
Altair BASIC Reference Manual (1975). It contains no MITS or Microsoft
code, and none was consulted: the manual documents behaviour, and the
behaviour is what was implemented. See docs/basic.md for exactly which
details were read out of the manual and which were not.
Worth stating plainly, because a file that prints ALTAIR BASIC REV 3.2
invites the opposite assumption.
"Teletype" is a trademark, and this project is called 33basic for that reason. "Altair" and "Microsoft" are trademarks of their respective owners. References to the Teletype® Model 33 and to Altair BASIC in prose are descriptive: they identify the historical machine and the dialect being implemented. This project is not affiliated with, endorsed by, or connected to any of them.
None are today — the machine uses whatever monospace face the browser has. If an OFL-licensed teletype face is ever added, the SIL Open Font License travels with the font files regardless of this project's licence: ship the full OFL text alongside them, and do not rename the fonts.