Microsoft Releases Bill Gates’ 1978 6502 BASIC as Open Source

▼ Summary
– Microsoft released the full source code for Microsoft BASIC for 6502 Version 1.1 under an MIT license on GitHub, allowing free use and modification.
– This interpreter, co-written by Bill Gates and Rick Weiland, was foundational for early personal computers like the Commodore PET, Apple II, and VIC-20.
– It enabled users to write simple programs in a human-readable language, translating commands into processor instructions and introducing many to programming.
– The software was highly efficient, fitting significant functionality into minimal memory using only 6,955 lines of assembly language for the cost-effective MOS 6502 processor.
– Commodore licensed it for a flat $25,000 fee in 1977, missing potential royalties on millions of units sold, and Version 1.1 included bug fixes from collaboration with a Commodore engineer.
Microsoft has made a significant contribution to computing history by releasing the full source code for its 1978 Microsoft BASIC for 6502 Version 1.1 under an open-source MIT license. This foundational software, originally developed by Bill Gates and Rick Weiland, powered iconic early personal computers including the Commodore PET, VIC-20, Commodore 64, and Apple II. The release, consisting of 6,955 lines of assembly language now available on GitHub, grants developers and enthusiasts full rights to use, modify, and distribute the code that helped define the dawn of the PC era.
In a 2010 blog post, Gates personally reflected on his involvement, noting, “Rick Weiland and I wrote the 6502 BASIC. I put the WAIT command in.” For a generation of users in the late 1970s and early 1980s, Microsoft’s BASIC interpreter served as an accessible introduction to programming. Simple commands like “10 PRINT ‘HELLO’” and “20 GOTO 10” allowed newcomers to create endless text loops, offering a hands-on sense of direct control over the machine. The interpreter translated these readable instructions into executable code line by line, bridging the gap between user and hardware.
The Commodore PET, launched in January 1977, relied on the MOS 6502 processor and a customized version of Microsoft BASIC. What made the software so revolutionary was its efficiency, packing extensive functionality into a minimal memory footprint at a time when RAM was prohibitively expensive. The entire program comprised just 6,955 lines of low-level assembly code, speaking almost directly to the processor and maximizing performance within tight constraints.
Affordability drove the early personal computer market, and the MOS 6502 processor was a cornerstone of that strategy. Priced around $25, it undercut competitors charging up to $200 for similar chips. Designed by Chuck Peddle to democratize computing, the 6502 went on to power not only early PCs but also blockbuster devices like the Atari 2600 and the Nintendo Entertainment System.
One of the most intriguing aspects of this release involves the original licensing agreement. In 1977, Commodore secured perpetual rights to Microsoft’s 6502 BASIC for a one-time fee of $25,000, a deal with no royalties or per-unit charges. While substantial at the time, this flat fee meant Microsoft missed out on potentially tens of millions in revenue as Commodore sold millions of units containing the software. This contrasted sharply with the company’s later per-unit licensing models.
The specific version now available, labeled 1.1, includes several key enhancements. During a 1978 visit by Commodore engineer John Feagans to Microsoft’s Bellevue offices, he and Gates collaborated on bug fixes and memory management improvements, referred to in programming as “garbage collection.” This refined code eventually shipped as “BASIC V2” on the Commodore PET, marking a small but meaningful evolution in the software’s development.
(Source: Ars Technica)