18 pieces of classic software whose code is now accessible

The source code behind proprietary software doesn’t always remain hidden forever. Here are a number of examples where the code behind well-known applications has come to light

Picture of a sign that says Now Open

Last year NASA published a catalog of software code it has developed over the years which you can now access for free. While NASA has a history of making technology it develops available to the public, other developers of proprietary software will sometimes also lift the veil on their code. Often, it's years after the software's prime and is usually shared for historical purposes. Occasionally, though, developers will make formerly proprietary code open source to encourage others to continue its development. Here are 18 pieces of classic proprietary software for which the source code is now available, either through being open-sourced by its developer or, sometimes, because it was literally rescued from the trash heap by a fan.

See also:

6 historic tech items that were rescued from the trash

Superbugs: 11 software bugs that took way too long to meet their maker

Just their type: 11 keyboards beloved by programmers

Keyboard for one: 9 of the most impressive solo programming efforts

Superclass: 14 of the world’s best living programmers

Sample Apollo Guidance Computer source code
Credit: ITworld
Apollo Guidance Computer software

The Apollo moon missions were, of course, technological marvels. Central this effort was the Apollo Guidance Computer (AGC), developed by the MIT Instrumentation Lab. The AGC was installed on both the command and lunar modules to provide guidance, navigation and control and the software that ran it was woven into special “rope” memory. In honor of the 40th anniversary of the Apollo 11 landings in 2009, the original AGC source code was transcribed from scanned photographs of code printouts and made available via open source. As with any code, AGC software contained some geeky humor.

You can download the AGC source code (and a virtual AGC simulator) from the Google Code website.

Sample IBM’s APLð source code
Credit: ITworld

APL is a programming language that grew out of a system of mathematical notations for manipulating arrays developed by Harvard professor Ken Iverson, which influenced later languages like J, Matlab and Mathematica. In 1962, while working at IBM, he formalized and published his notations as the book A Programming Language (hence the name APL). The first popular implementation of APL was APLð for the IBM System 360 mainframe computer in 1966. In 2012, IBM and the Computer History Museum released the source code for APLð, about 37,500 lines written in 360 assembly language.

You can download the source code for APLð from the Computer History Museum’s website.

Xerox Alto OS source code
Credit: ITworld
Xerox Alto OS and utilities

The Alto was a personal computer developed by Xerox at the Palo Alto Research Center (PARC) in the early 1970s. It was revolutionary, being one of the first computers to feature a graphic display (a monitor with a 606x808 black and white display), keyboard, mouse and had, for the time, a beefy amount of memory (128 KB) and hard disk storage (2.5 MB). It also introduced the concept of a computer desktop and featured the first Graphical User Interface. The Alto was never sold commercially; instead, about 1,500 manufactured and made available throughout Xerox.

You can download Alto source code from the Computer History Museum’s website which includes the OS and a range of software and utilities developed for the Alto such as PUP (PARC Universal Packet) a protocol for internetwork communications, Bravo, the first WYSIWYG editor, and four different programming languages the Alto supported: BCPL, Mesa, Smalltalk and Lisp.

CP/M OS source code
Credit: ITworld

In 1974, Gary Kildall, a consultant working part-time for Intel, set about creating a program for controlling then-new floppy disk drives. It quickly evolved into a new operating system for computers based on Intel’s 8080 microprocessor, which Kildall named CP/M (originally Control Program/Monitor, later Control Program for Microcomputers). Unlike other operating systems of the time, CP/M wasn’t written in hardware-specific assembly code, but instead in Kildall’s own PL/M language. CP/M also gave birth to some soon-to-be common conventions, such as 8 character file names with 3 character extensions. Kildall founded Digital Research, Inc. to license CP/M and it quickly became the dominant OS for all personal computers until DOS came along in the early 1980s.

You can download the source code for four different early versions of the CP/M OS from the Computer History Museum’s website.

Microsoft BASIC for 6502 source code screenshot
Credit: ITworld
Microsoft BASIC for 6502

In 1975, MOS Technology created the 6502 microprocessor as a cheaper alternative to other microprocessors of the day. Microsoft created an implementation of its BASIC language to run on the 6502, based on Altair BASIC, which had been written by Bill Gates and Paul Allen at a motel in Albuquerque, New Mexico for the MITS Altair 8800. The 6502 would eventually be used in a number of popular computers, such as the Apple I, the Apple II, Commodore VIC-20 and 64 systems, as well as gaming consoles such as the Atari 2600. Naturally, then, Microsoft BASIC for 6502 was licensed and used as the basis for other BASIC implementations on many of these systems, such as Commodore BASIC and Applesoft BASIC. This version of BASIC also contains Bill Gates’ famous WAIT 6502 Easter Egg for Commodore computers.

You can download the source code for Microsoft BASIC for 6502 from Pagetable.

Original source code for the game Adventure
Credit: ITworld

Adventure games are a genre of video games that, generally, involve a single player in an interactive story that requires puzzle-solving. One of the grandaddies of the genre and, in fact, the one after which it’s named, was a text-based game called Colossal Cave Adventure, or simply Adventure. It was first created in 1976 by Will Crowther, an engineer at Bolt, Beranek & Newman who helped to develop ARPANET. Crowther created the game, which involves navigating through a series of rooms in a cave filled with treasure and magic, based on his own caving experiences for his two young daughters in 1976. The original version was written in 700 lines of Fortran to run on BB&N’s PDP-10 computer. The next year, Stanford CS graduate Don Woods found a copy of Adventure and, with Crowther’s blessing, expanded the game to about 3,000 lines of Fortran, adding more locations, treasures, and puzzles. The game introduced a number of well-known words and phrases has since been ported to numerous other systems and languages.

You can download Crowther’s original source code for Adventure from Don Woods’ website, and Woods’ enhanced version from Rick Adams’ Colossal Cave Adventure page.

Sample Apple DOS 3.1 source code
Credit: ITworld
Apple DOS 3.1

The Apple II, released in 1977, used audio cassettes instead of disk drives to load external programs and store data. Shortly after its release, Steve Wozniak designed a disk driver controller and Apple outsourced the build of a disk operating system to Shepardson Microsystems, a company located in the same Cupertino office park. Developer Paul Laughton built the DOS in about 35 days, writing the code on punch cards. Apple DOS 3.1 was delivered in June 1978. The Computer History Museum released Laughton’s original source code, derived from scanned lineprinter listings, last year.

You can download the source code for Apple DOS 3.1 from the Computer History Museum’s website.

Sample of MS-DOS source code
Credit: ITworld
MS-DOS 1.1 and 2.0

Microsoft’s famous operating system was first created for IBM’s x86-based PCs. It wasn’t written from scratch but, rather, based on an existing operating system, 86-DOS, which Microsoft bought that was written by Tim Paterson of Seattle Computer Products. The first version, MS-DOS 1.1 (named after 86-DOS 1.1), was released in 1981 (and called PC-DOS 1.0 by IBM). That first version of MS-DOS, as well as version 2.0, were recently released by Microsoft and the Computer History Museum. This code is not only historic, but also chock full of funny comments.

You can download the source code for MS-DOS 1.1 and 2.0 from the Computer History Museum’s website.

Original source code for the E.T. the Extra Terrestrial
Credit: ITworld
E.T. the Extra Terrestrial

E.T. the Extra Terrestrial was the highest grossing movie of the 1980s and the basis for one of the most infamous video games of all time. Trying to capitalize on the popularity of the 1982 film in time for that year’s holiday shopping season, Atari commissioned Howard Scott Warshaw to create a game based on E.T. for the popular 2600 console in a mere 5 weeks. Warshaw met the deadline, but, not surprisingly, the game quality suffered and “only” 1.5 million units were sold, leaving Atari with 3.5 million unsold game cartridges, which it ultimately buried in a landfill in Alamogordo, New Mexico. While those cartridges were unearthed in 2014, Warshaw’s original assembly code for the 2600’s MOS Technology 6502 8-bit processor again saw the light of day in 2006, when Dennis Debro decompiled the game, added his own comments, and made it available to the world.

You can download the original source code for E.T. the Extra Terrestrial from Pastebin, as well as a version of the source code which fixes many bugs in the original code provided by developer David Richardson.

Same Wolfenstein 3D source code
Credit: ITworld
Wolfenstein 3D

Developed by John Carmack and John Romero of id Software, Wolfenstein 3D is the granddaddy of first person shooter games, first released in 1992. Originally designed for MS-DOS-based PCs, it’s since been ported to just about every system, including Steam and iOS. The game also helped to pioneer shareware, as the first episode was made available for free, while the full 3-episode version had to be purchased. Wolfenstein 3D helped pave the way for other massively popular FPS games like Doom, Duke Nukem and Quake. The source code for Wolfenstein 3D was released in 1995 along with that of its prequel, Spear of Destiny.

You can download the source code for Wolfenstein 3D from GitHub.

Sample MacPaint source code
Credit: ITworld
MacPaint 1.3

MacPaint, the famous bitmap-based drawing software, was one of two application included with the original Macintosh computer in January 1984 (along with the MacWrite word processor). It was developed by Bill Atkinson, one of the MacIntosh’s original developers, and was based on his earlier LisaSketch which he wrote for Apple’s Lisa computer. MacPaint introduced many now-commonplace graphic utilities such as the paint bucket fill tool and lasso selection tool. In 2010, with Steve Jobs’ blessing, the Computer History Museum released the source code for MacPaint version 1.3, which consists of 5,800 lines of Pascal and 3,500 lines of assembly code.

You can download the source code for MacPaint 1.3 from the Computer History Museum’s website.

Sample QuickDraw source code
Credit: ITworld

QuickDraw was a library and API for drawing bitmap graphics used by MacPaint and other applications. QuickDraw was included from the start with the original MacIntosh computer in 1984, was officially deprecated with OS X 10.4 (Tiger) and was finally removed OS X version 10.8 (Mountain Lion). QuickDraw was developed by Bill Atkinson, one of the original Macintosh developers who also developed MacPaint, and was based on his earlier LisaGraf for Apple’s Lisa computer. The Computer History Museum released the source code for QuickDraw in 2010, which consists of over 17,000 lines of assembly code.

You can download the source code for QuickDraw from the Computer History Museum’s website.

Sample SimCity source code
Credit: ITworld

SimCity, the city building game, was one of the first video games with no set end or objective. Though it was first developed by Will Wright in 1985 for the Commodore 64, it wasn’t released until 1989 due to concern by game publishers that people wouldn't embrace a game that couldn’t be won or lost. It was ultimately a huge hit, spawning a genre of similar “Sim” games and was named one of the 10 most important video games of all time. Source code for SimCity was released in 2008 by developer Don Hopkins under the game’s original name, Micropolis, since EA owns the SimCity trademark.

You can download the source code for SimCity/Micropolis from Hopkins’ website.

Sample Atari 7800 ProSystem OS source code
Credit: ITworld
Atari 7800 ProSystem OS and games

The Atari 7800 ProSystem game console was first widely released in January 1986 and was also originally designed to be a home computer, with the inclusion of an expansion port for a keyboard and other peripherals. Ultimately, fewer than 100 games were developed specifically for the 7800, the expansion port was removed and it went out of production in 1992. In 2009 the Atari Museum rescued the source code for the OS and a number of games, including Asteroids, Ms. Pac Man and Centipede, from diskettes thrown out when Atari went out of business in 1996.

You can download the source code for the 7800 operating system and a number of games from the Atari Museum website.

Sample Word for Windows source code
Credit: ITworld
Word for Windows 1.1a

When most people think of word processing, they think of Microsoft Word. It was originally created for DOS-systems in 1983 under the direction of Charles Simonyi, who created the first WYSIWYG word processor, Bravo, at Xerox in 1974. Word was an also-ran to WordPerfect in its early years and didn’t really take off until it was released for Windows, with version 1.0 in 1989, and shortly thereafter became the dominant word processing program. The source code for Word for Windows 1.1a, which came out in 1991, was recently released by Microsoft and the Computer History Museum for non-commercial use.

You can download the source code for Word for Windows 1.1a from the Computer History Museum’s website.

Sample Prince of Persia source code
Credit: ITworld
Prince of Persia

Prince of Persia was a fantasy video game created for the Apple II by Jordan Mechner and released by Brøderbund in October 1989. It was famous for the high quality of its animations, which Mechner created by tracing video footage of his brother running and jumping in a parking lot. Prince of Persia spawned a franchise of games and even a feature length film. The original source code was thought to be lost, until Mechner discovered an old set of floppy disks he had saved, from which the code was extracted and subsequently made public in 2012.

You can download the Apple II source code for Prince of Persia from GitHub.

Sample Adobe Photoshop source code
Credit: ITworld
Adobe Photoshop 1.0.1

Photoshop was created by two brothers, Thomas and John Knoll, the former at PhD student at the University of Michigan and the latter an employee at visual effects company Visual Light and Magic, in the late 1980’s for their own use. Originally named Display, then, briefly, Image Pro, they soon realized its commercial potential and licensed Photoshop to Adobe. Version 1.0 was released in 1990 (just for the Mac) and sold 3 million copies in its first 10 years. The Computer History Museum released the source code, (128,000 lines, mostly Pascal), for Adobe Photoshop version 1.0.1 in 2012.

You can download the source code for Adobe Photoshop 1.0.1 from the Computer History Museum’s website.

Sample C# compiler source code
Credit: ITworld
Microsoft C# and Visual Basic compilers

Visual Basic and C# were both was created by Microsoft, the former in 1991 and the latter in 2000 as part the .NET Framework. While the .NET Framework is proprietary, open source compilers for C# and VB, such as Mono, have been created by others. Recently, however, in an effort to expose the inner workings of its compilers, Microsoft has released its own open source .NET compiler platform, called Roslyn, which provides compilers for both C# and Visual Basic, so the compilers are no longer black boxes.

You can download the source code for Microsoft’s C# and Visual Basic compilers from the Roslyn website.