Skip to content

Latest commit

 

History

History
82 lines (62 loc) · 3.73 KB

File metadata and controls

82 lines (62 loc) · 3.73 KB

What is under which licence

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.


The code

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.

The listings

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.

Altair BASIC

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.

Trademarks

"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.

If fonts are ever bundled

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.