16 classic apps whose source code is now open

As these examples of well-known applications show, the source code behind proprietary software doesn’t always remain hidden forever

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 16 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:

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

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

Superclass: 14 of the world’s best living programmers

Lazy like a fox: 8 ways great programmers save time and energy

Head-scratchers: 10 confounding programming language features

Pants on fire: 9 lies that programmers tell themselves

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.

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, and 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 were manufactured and made available throughout Xerox.

You can download Alto source code from the Computer History Museum’s website which includes the operating system 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
CP/M OS

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 operating system 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.

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.

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

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

Developed by John Carmack and 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 IBM’s APLð source code
Credit: ITworld
IBM's APLð

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.

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 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 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 in the late 1980s for their own use. The brothers were Thomas and John Knoll, the former a Ph.D. student at the University of Michigan and the latter an employee at visual effects company Visual Light and Magic. 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 SimCity source code
Credit: ITworld
SimCity

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’s website.

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

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 in the 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 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.