Photoshop 1.0 source code released

The Computer History Museum is offering the source code to the original version of Adobe Photoshop for download

Version 1.0.1 dates from 1990, and is written in a combination of Pascal and 68000 assembler language, the museum said in a blog post. It's identical to what originally went on sale at the time, with the exception of the MacApp applications library, which was licensed from Apple for the retail version.

The ubiquitous image editing software began life as "Display" in 1987. It was the brainchild of University of Michigan grad student Thomas Knoll, whose brother, John, worked at well-known special effects company Industrial Light and Magic. John and Thomas eventually developed "Display" into its eventual commercial "Photoshop" form. Adobe bought a distribution license in April 1989, though the first company to distribute the software was actually Barneyscan, a maker of slide scanners, the museum says.

Photoshop's mummy returns

Software architect Grady Booch, a Computer History Museum trustee and chief scientist for software engineering at IBM's Almaden labs, said that Photoshop is still a truly impressive feat of programming.

"This is the kind of code I aspire to write," he told the museum, comparing his dive back into the source code for Photoshop to Howard Carter entering Tutankhamen's tomb.

"The abstractions are quite mature. The consistent naming, the granularity of methods, the almost breathtaking simplicity of the implementations because each type was so well abstracted, all combine to make it easy to discern the texture of the system," Booch said.

The code can be downloaded in a .zip folder about 588KB in size. The archive contains 179 individual items, adding up to 128,000-odd lines of code, by the museum's count.

Despite the price tag of £0, the release isn't exactly open source -- there's an extensive license agreement you have to accept before the museum will let you download the code. For those interested in a look into software history, however, it's likely a small price to pay.