Exposing the Source: 13 Pieces of Classic Software Whose Code is Now Accessible

The source code behind proprietary software doesn't always remain hidden forever. Here are a baker's dozen examples where the code behind well-known applications has come to light.

Picture of a sign that says \Now Open\

Last week NASA published a catalog of software code its 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 13 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.

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 created 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 they released, MS-DOS 1.1 (named after 86-DOS 1.1), was released in 1981 (and called PC-DOS 1.0 by IBM). That first versions 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 down 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. 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\360 source code
Credit: ITworld
IBM’s APL\360

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\360 for the IBM System 360 mainframe computer in 1966. In 2012, IBM and the Computer History Museum released the source code for APL\360, about 37,500 lines written in 360 assembly language.

You can download the source code for APL\360 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, 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 it 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, 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 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 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.