This Hacker News discussion revolves around the open-sourcing of Microsoft's 6502 BASIC by Microsoft. The conversation touches upon several key themes: the historical context of early computing, the technical aspects of the code itself, the concept of "democratization" in programming, and the burgeoning debate around AI-generated content.
Anachronistic Git Commits and Historical Faking
A significant portion of the discussion is dedicated to the "48 years ago" initial commit date, a clear anachronism given that Git itself was created much later (around 2005). Users found this to be a "nice touch" that playfully simulated the age of the code. There's also a detailed exploration of how Git's commit timestamps can be manipulated using environment variables like GIT_AUTHOR_DATE
and --date
flags, allowing for the artificial backdating of commits.
- "I love how the initial commit is '48 years ago.'" - pico303
- "I love even more how it's a .md file from well before Markdown even existed." - achrono
- "It's just a nice touch." - perching_aix
- "No, skynet went to the past and gave git and md to microsoft, which then proceeded to create the doc format from the md as a starting point :P" - prerok
- "Way before git was even released in 2005." - nodesocket
- "Yes, somebody could doctor those commits with the right timestamp so that we would get a clear historical progression." - prerok
- "Changing a commit's timestamp is as simple as: ...
[main 6e1d001] test Date: Thu Jan 1 00:00:00 1970 +0000 ...
" - dgl - "I noticed that right away, too - I didn't know you could force backdates of git history like that." - commandlinefan
- "All git data can be modified" - meesles
- "I really appreciate that they bothered to set an artificial timestamp for these git commits, roughly 30 years before Git itself existed." - jelder
Influence of DEC BASIC and Early BASIC Development
The discussion delves into the origins and influences of Microsoft BASIC, with a strong focus on its relationship with Digital Equipment Corporation (DEC) BASIC. Many users argue that Microsoft BASIC's internal structure and features, particularly the REPL (Read-Eval-Print Loop) or "immediate mode," were heavily influenced by or directly based on DEC BASIC, leading to a debate about acknowledgment and potential copyright issues. The historical role of the original Dartmouth BASIC by Kemeny and Kurtz is also acknowledged, with distinctions drawn between Dartmouth's compiled BASIC and the interpreted BASICs that became more common later.
- "I have source I wrote using SCCS as version control, which later was moved to CVS, preserving the commits as well as commit dates, and at some point moved to Git, again preserving commits and dates. So some of my personal Git repositories have commit entries going back to the late eighties." - Tor3
- "I also think it commercialized programming. True democratization didn't really happen until Stallman, GCC, and the GPL." - petcat
- "BASIC put programming in reach of a wide range of people. Steve Wozniak himself documented his personal progression from implementing a Breakout game with gates... to implementing it in 6502 assembly to implementing it in BASIC" - PaulHoule
- "I did find some common actual byte-for-byte original code when I recently diffed Unix 10 and NetBSD." - user3939382
- "I have source I wrote using SCCS as version control, which later was moved to CVS, preserving the commits as well as commit dates, and at some point moved to Git, again preserving commits and dates. So some of my personal Git repositories have commit entries going back to the late eighties." - Tor3
- "I don't see any credit being given to Digital Equipment Corporation (DEC) upon whose work this is based" - breadwinner
- "MS did base NT on DEC work, and settled a court case as a result. Perhaps you're thinking of that story?" - doreham
- "BASIC the language pre-dates the DEC implementation (it came from Dartmouth College), and nobody would reasonably think that seeing the code for a high level language BASIC interpreter implementation for Machine A, then writing an assembler implementation for Machine B means you 'based it on their work'." - doreham
- "MS BASIC is widely considered to have been based on the internal structure of DEC BASIC." - monocasa
- "The most significant contribution that DEC BASIC made was the REPL-like 'immediate mode' that lets you execute individual statements without having to RUN the whole program. It was copied by both Microsoft and almost every other BASIC implementation since." - bbanyc
- "The Microsoft BASIC language is similar to DEC BASIC, but the actual implementation is completely different. For example, DEC BASIC compiles the BASIC source code into bytecode as it's entered for faster execution, while Microsoft BASIC is a pure interpreter that simply interprets the source code tokens at runtime." - ndiddy
- "A piece of software closely matching the interface of a different piece of software doesn't automatically make the former based on the latter, except in an abstract sense..." - LocalH
- "The internal structure of DEC BASIC PLUS is a far, far cry from what MS-BASIC (MSB) is. Outside of some shared syntax, the implementations are night and day." - whartung
The "Democratization" of Programming
The release and the historical context of BASIC spurred a discussion about whether BASIC truly "democratized" programming. Some users believe it did, by making programming accessible to a wider audience through home computers. Others feel that the true democratization of programming came later with open-source movements, tools like GCC, and the GPL. The accessibility of BASIC on minicomputers and then microcomputers, contrasting with the earlier limited access to mainframes, is highlighted as critical to its democratizing effect.
- "It democratized programming" - lloydatkinson
- "Yawn. Everything “democratizes” everything these days." - lloydatkinson
- "How about when they invented BASIC" - dmbche
- "I think it commercialized programming. True democratization didn't really happen until Stallman, GCC, and the GPL." - petcat
- "BASIC put programming in reach of a wide range of people. Steve Wozniak himself documented his personal progression from implementing a Breakout game with gates (see [1]) to implementing it in 6502 assembly to implementing it in BASIC [2]" - PaulHoule
- "It definitely democratized programming. There were a lot of us buying home computers and writing little programs that nobody ever saw. Nothing commercial ever came of the little utilities or games we made." - criddell
- "Before we got our home computer, the closest I ever got to a computer was reading about them in the encyclopedia." - criddell
- "Yeah, my Commodore 128 came with a 400-page system guide, nearly half of which was a BASIC reference and programming tutorial that explained concepts like looping and arrays. Those computers assumed you might want to program at least a little, and tried to make it easy to get started, so a lot of us did." - HankStallone
AI-Generated Content and Code Authenticity
A significant undercurrent in the discussion is the concern that the readme file, and potentially the code itself, might be AI-generated. Users noted the "feel" of AI in the documentation and even used tools like QuillBot to assess the likelihood of AI generation. This sparked a debate about whether AI's involvement would "spoil the entire reason for releasing it" or if it's a net positive if it facilitates the release of historical code. The potential for AI to contaminate code repositories and the desire for an "AI contaminated" flag were also voiced.
- "that Readme smells of LLMs and elderberries" - SSLy
- "QuillBot reports 100% AI for section 'Why This Document is Historically Important'" - cube00
- "The readme is obviously AI generated. I’m happy for anything this historical being open sourced, but I now wonder what the AI has done to the code itself. What a shame." - LeoPanthera
- "I assume AI only generated the readme file. But I would say if AI boilerplate eases Microsoft releasing more of their old code to the public, I am okay with that." - ocdtrekkie
- "If they're using AI for something as trivial as a readme, I think it is a very safe assumption that that's not all they're using it for." - LeoPanthera
- "I wish code repos had a 'contaminated by AI' flag." - LeoPanthera
- "Why do you have any reason to believe AI generated any of the 6502 code? What possible reason or motivation could there be for that? Wouldn't it spoil the entire reason for releasing it, totally miss the point of releasing original historic code?" - DonHopkins
- "They now have OKRs to use AI everywhere, even .NET tooling is getting AI tainted." - pjmlp
Technical Details and Easter Eggs
The technical intricacies of the 6502 assembly code and the BASIC interpreter itself also drew attention. Users highlighted specific code snippets, including comments that felt surprisingly modern, easter eggs like the "MICROSOFT!" message, and the unusual assembler syntax used. The organization of the source code, as a single large file, also sparked comments about the development environments of the era.
- "I love how the initial commit is '48 years ago.'" - pico303
- "I love even more how it's a .md file from well before Markdown even existed." - achrono
- "Yes, somebody could doctor those commits with the right timestamp so that we would get a clear historical progression. It's doable, but would have to doctored, there was no git then, obviously." - prerok
- "Even if it was a 32-bit timestamp, you could still express dates back to December 13, 1901." - badc0ffee
- "The GIT_AUTHOR_DATE and GIT_COMMITTER_DATE environment variables [1] are what you use for things like that." - mananaysiempre
- "I particularly liked the ASCII art people managed to put into files back then. I know that the README has it, not totally sure about the source as I haven't looked too far down." - jms
- "I really appreciated the comments section. Lots of gems in there. e.g.
12/1/77 FIXED PROBLEM WHERE PROBLEM WITH VARTXT=LINNUM=BUF-2 CAUSING BUF-1 COMMA TO DISAPPEAR
" - Nheck - "There's the "WAIT 6502,X" Easter egg [0]! Lines 6530 - 6539 are the "MICROSOFT!" that gets printed." - EvanAnderson
- "I'm very surprised it's organized as just a single 162 kB source document instead of being divided into smaller modules to make the code easier to work with, speed up build times, etc." - thought_alarm
- "What editor did they use to write this code? I think this predated vi, and folks were probably using older tools they were familiar with. ed? How much of the source code could they see at once? Was there such thing as a 'full screen editor'?" - desmondmonster
- "It's not that weird, and it's a lot simpler. It maps directly to how the opcodes are represented in the binary machine code and saves the effort of parsing and pretty-printing the standard syntax." - zozbot234
- "I cannot recommend enough Ben Eater's 6502 computer build on YouTube [1] if you want to play with a 6502 computer from the ground up. It is meant to be accessible to the ambitious amateur." - DrillShopper
- "LDWDI WORDS ;MORE BULLSHIT." - vegadw
The Broader Impact and Future Releases
The release also prompted speculation about future open-sourcing of other historical Microsoft software, such as earlier versions of Visual Basic. There was also a desire expressed for other vintage BASIC implementations to be open-sourced, with users sharing their experiences with machines like the Commodore PET and the Atari 8-bit computers.
- "I'm trying for Visual Basic 6 to show up on GitHub someday." - giancarlostoro
- "I'd love to see Microsoft Visual Basic 1.0 for MS-DOS open-sourced." - networked
- "I'm really hoping that this will perhaps lead to other BASIC implementations being open sourced as well." - smokel
- "If you’re happy with that, look at the auto/AI-generated issues:" - jasonjayr
- "I had my Commodore PET for 10 years from 1977 to 1987 until I went away and my cousin borrowed it, and then believing I was not coming back to the US from Spain, sold it!" - eggy
- "Commonly, most older personal computers had a programming language available within seconds of turning the computer on! I did a lot of hobby programming in BASIC." - glimshe
- "CHKSUM: LDA #$01 ; MORE COMMENTARY." - bobbytables
This multifaceted discussion highlights not only the technical appreciation for a foundational piece of software but also the cultural and historical discussions that such releases can ignite around the evolution of computing and technology.