Adobe Photoshop Source Code (2013)

585 points24
pmcjones20 hours ago

In the aughts I worked at Adobe and spent time trying to archive the source code for Photoshop, Illustrator, PostScript, and other apps. Thomas Knoll's original Mac floppy disk backups were available, so I brought in my Mac Plus, with a serial cable to transfer the files to a laptop via Kermit. The first version was 0.54, dated 6 July 1988. The files on the floppies were in various ancient compressed archive formats, but most were readable. I created an archive on a special Perforce server of all the code that I found. Sadly, the earliest Illustrator backups were on a single external disk drive that had gone bad.

MontagFTB2 hours ago

Thank you for fighting the good fight, Paul. We miss you and Alex around here.

xd193620 hours ago

Thank you for your service. Super cool project. Hopefully they make their way to or Github someday.

pmcjones19 hours ago

Adobe has the only copy, and they have donated early versions of PostScript ( and Photoshop; people should ask Adobe to release more. Everything I find in the public domain I post at .

jart18 hours ago

Wow are you the one that posted the original LISP 1.5 source code? I colorized that and used it to good effect in my blog posts.

pmcjones17 hours ago

I beat the bushes for the source code, documenting my finds ( and posting them (, but the early work was done by Jack Harper, Pascal Bourguignon, Rich Cornwell and Bob Abeles, Andru Luvisi, Angelo Papenhoff, Al Kossow, and others.

mistrial919 hours ago

isn't the topic the Patents, not the code? The code is mired in Mac toolbox details, no?

userbinator15 hours ago

Patents expire after 20 years at most, I believe. Everything from before 2004 has expired already.

reaperman19 hours ago
3abiton15 hours ago
Shinchy6 hours ago

Wow, oddly enough that kind of sounds quite fun.

mistrial919 hours ago

the Illustrator guy was in Palo Alto and approachable .. at the time the feedback was that the interface interactions were not great .. hard to say now, but Freehand became popular quickly, then folded.

mannyv15 hours ago

Freehand still hasn't been beat, even after all these years. Never did like Illustrator, but like everyone learned to use it once Freehand bit the dust.

yelling_cat13 hours ago

I hadn't thought about Freehand in a decade and now I'm angry at Adobe for killing it all over again. It never got in your way and let you fully focus on your work. Illustrator never lets you forget that you're using a tool to create things like Freehand did.

p_l7 hours ago

Is there some good summary somewhere? I remember having, ahem, access to both as a teen but Illustrator had more brand effect behind it.

pmcjones19 hours ago

Mike Schuster, who by the way is a superb programmer.

nunez13 hours ago

That's awesome.

butchlugrod22 hours ago

Great write-up here about what it takes to build the app from this source code:

lelandfe19 hours ago

Blown away as I read more posts on this site. Not many people out there with this sort of knowledge. Thanks for the link.

butchlugrod19 hours ago

I know! I have read every piece on the site, and they really go into some fantastic detail about old Apple stuff. No idea who this person it, and they have not posted in a few years, but would love to know more about their background. Almost certainly a developer inside Apple in the 80s and 90s.

internetter19 hours ago

Anyone having trouble adding this to their feed reader? The RSS works fine on my end, but Miniflux says

   This website is too slow and the request timed out: Get "": dial tcp i/o timeout
hexagonwin18 hours ago

seems to work just fine for me. maybe it was a temporary issue?

kasajian22 hours ago

I remember traveling to Adobe in the mid-90s to exchange source-code with them, 'cause PhotoShop was MacApp based, and they had a layer working on Windows. And we traded an in-process SQL engine.

I recall brining home some of the code, there were definitely parts of PhotoShop that were included, but not a lot. Just some funky color-space calculations that we ignored.

I'm looking forward to looking at the source to see if there's any remnants of MacApp in the mix. They may have changed everything since the mid 90s. Who knows.

irq20 hours ago

I love this story - code trading is such a cool idea, and one I haven't heard of much before. Anyone else have any code trading stories?

exe3419 hours ago

in academia/research, it's quite normal. often you wish they hadn't given you the code and provided an equation instead.

mk_stjames20 hours ago

They call that out as an exception specifically actually: "All the code is here with the exception of the MacApp applications library that was licensed from Apple"

jaredwy11 hours ago

Worked on photoshop for many years. It’s still there today.

MontagFTB2 hours ago

There you are! Hope you are doing well my friend.

jaredwy59 minutes ago

Hah! Not sure who this is. But email? jared.wyles

mistrial919 hours ago

MacApp on Windows ?!! of course.. what a bloatware.. Think Class Library saved the life of lots of devs. Greg Dow might still work for Adobe today. ps- PowerPlant was even better than TCL now thinking on it..

TIPSIO23 hours ago

Incredible that the UX is still generally the same. What a vision the original engineers had.

I am annoyed today though every time I open the app. The only time it has ever felt snappy on desktop was a sweet period when the MacBook Pro M1 first came out and Adobe Photoshop had a Silicon beta out.

Those days are long gone and we are slow again.

ompogUe22 hours ago

Not sure if you worked with it in the early '90's, but on a Mac w/4MB of RAM, it took ~5-10 minutes to undo a Guassian Blur. The pain was real.

The way to go back then was the SGI Indigo w/96MB.

It worked best for me in the late '90's on a 9500, and even then needed an entire GB of RAM.

alamortsubite22 hours ago

Ha! In the early '90's the way to go was Live Picture [1]! Your undo would have been instantaneous!

Unfortunately, Live Picture only ran on Mac. Photoshop was a bit janky on SGI back then, IIRC, but still the better of the two platforms overall.


huxley20 hours ago

Hahaha that’s Old School.

Live Picture was one of several photo compositor tools that focused on Photoshop’s pain points. Fauve Matisse was a little earlier than Live Picture and I believe it introduced layers to Mac photo editing. They ended up getting acquired by Macromedia (or perhaps even Macromind) after a rewrite to compete with Live Picture it was renamed Xres and then abandoned.

Daub11 hours ago

I believe that Livepicture was fast because they loaded the full image as a set of tiles.

I also believe that Photoshop was 'inspired' to introduce layers in version 3 in response to Livepicture's layers. It was layers which caused Photoshop to explode in popularity.

Adobe then went on to sue Macromedia for using tabs in their interface. Bummer.

ompogUe20 hours ago

Yes, I remember Live Picture! It was slick. I actually spent more time in that and Fractal Design Painter, than Photoshop back then.

Daub11 hours ago

People forget that Photoshop worked on a Silicon Graphics box. It was indeed the way to go, so long as you could afford it.

apercu20 hours ago

"SGI Indigo". I had one of these. Not for Photoshop but still...

DonHopkins19 hours ago

"Indy: an Indigo without the 'go'". -- Mark Hughes (?)

yjftsjthsd-h19 hours ago

> There are too many daemons. In a vanilla 5.1 installation with Toto, there are 37 background processes.

Comparing the output of `ps aux` on a default install of Debian and OpenBSD still gives me this feeling:)

nullhole16 hours ago
aredox23 hours ago

Is it because the UX is good or because changing it is impossible without the users rebelling en masse?

kjellsbells22 hours ago

I cant speak for all PS users, but it's not that it is a special UX so much that it is embedded in the muscle memory of the user community, and that degree of familiarity contributes mightily to people being able to get work done quickly.

The closest example I cam think of, which people inside Adobe most certainly know about, is the failed attempts by Quark Xpress to update their product in the late 90s/early 00s, which led to them losing a 95% market share position to Adobe InDesign. You do not mess with the tools that a loud and creative community rely upon to get their jobs done.

bonaldi20 hours ago

is the failed attempts by Quark Xpress to update their product in the late 90s/early 00s

There were a number of factors here - outsourcing engineering leading to a disastrously buggy 4.0, then failing to move to OS X for years after the market was ready to, hostile and arrogant approach to customers ("where else will they go?") and finally the misbegotten attempt to turn a DTP app into a web design tool. InDesign 1 was fairly clunky, but everyone was desperate to escape.

It's an Amiga-like shambles of mismanagement that wasted an early lead; I am still nostalgic for both tbh.

frankharv19 hours ago
brazzledazzle22 hours ago

Adobe actually changed a bunch of shortcuts at least a couple of points between photoshop 7 and creative cloud. I remember how I'd developed muscle memory that took a bit to fully overwrite.

tambourine_man20 hours ago
philistine22 hours ago

The only way Adobe can get out of this conundrum is by announcing a transition to a new interface, finding ways to incentivize schools to teach the new interface, while keeping the old one around for as long as possible to give time for the oldies to slowly retire. We're talking decades.

basch21 hours ago

The user interface is extremely customizable. You can have a default layout and still keep legacy ones around. You wouldn’t need to kill the legacy layout unless you are removing the cuetomizability.

nineteen99913 hours ago

It can also work the other way though on rare occasions. The Blender UI revamp had the opposite effect, it helped drew more users to the platform (although so did the addition of Cycles and later EeeVee renderers).

nprateem19 hours ago

Intellij are about to learn this lesson unfortunately.

grishka3 hours ago

Oh yes. As someone who writes a lot of Java, I once had a discussion with someone from JetBrains on Twitter about it. It boiled down to me saying "I'm simply not open to change, I like my IDE UIs the way they are right now, thank you very much" and him repeatedly not even trying to understand my point and replying "could you please try the new design and share your feedback".

biofox23 hours ago

No point fixing something that isn't broken (someone please tell Microsoft)

turnsout22 hours ago

In Photoshop there are at least three completely different dialog boxes [0] for saving an image as a JPEG, each with totally different UI widgets and functionality.

They simply refuse to revise anything in the interface—they just keep adding. It's the software equivalent of hoarding.

[0] Save/Save as, Export As, Save for Web (Legacy)

bombcar21 hours ago
grishka3 hours ago

There's also two implementations of the "new document" dialog. The old one, that works instantly, and the new one, that takes a solid second to render no matter how fast your machine is. There's a checkbox in settings to use the old one.

reddalo7 hours ago
Rinzler8922 hours ago

>No point fixing something that isn't broken

But how do you know a UX isn't broken, when you've only seen one iteration of it you're whole life and have nothing else to compare it to? Kind of like Plato's Cave Allegory.

You have to try new things, and if you see them fail, then you know which one was the best.

beau_g21 hours ago
Dylan1680722 hours ago
navjack2722 hours ago

Hard to do when the power users for the most part try to block analytics and the insider testers have very fluid workflows and there is no such thing as death by a thousand papercuts to them. They aren't getting the signal because the people that should be telling them the signal are actively denying sending the signal.

eimrine21 hours ago

Аre you saying this about OS which shows ads in Start menu?

bufferoverflow22 hours ago

As someone, who used Photoshop a lot, the UI/UX is good. It would be pretty hard to make it significantly better. And yes, even if you somehow made it better, many users would complain, because they have muscle memory of the UX, and are extremely efficient with it.

maxglute21 hours ago

It would be curious to see UX timeline of what PS influenced, and what influenced it, in mouse age. A lot of desktop derivative products seem to hold on PS-like UI, it's all very mutually reinforcing. I'm not sure what iPad UX is like. I remember autocad products also adding ribbon system and it wasn't end of the world, but also very few ppl that I know end up migrating.

Part of me feels like it's... either very optimal for masses to learn because very few PSers (outside of photography) I know have professional peripherals (some have hotkey stickers on keycaps), vs lots of other creative fields have specialized decks/hardware to make streamline workflow.

Like part of me feels like there is a better physical hardware implmentation to manipulate all the curves/histograms other than moving around with mouse, but mouse+keyboard is... good enough.

bonaldi20 hours ago

A lot of PS 1.0's UI (2-col toolbox on the left etc) owes its heritage to MacPaint, which was a launch app for the Mac. Even the iPad shares keyboard shortcuts set by the original Mac, though has considerably broken away in other aspects.

BeFlatXIII22 hours ago

Considering how many complaints about GIMP UI being bad with no more substance than "Just compare it to Photoshop!", I'd bet 65% on option B.

bonestamp218 hours ago

When Photoshop went subscription I bought the full version of CS6 (or whatever the last non-subscription version was). It was very expensive. Then when that stopped working on Mac, I tried using every reasonable competitor, paid for several. I'm sure some of them are very competent tools, but it was a nightmare trying to learn a new UI. I bit the bullet and started paying the subscription.

ljm18 hours ago

The Messy Middle is an incredible book that essentially details how the CEO of BeHance, back in the day, rewrote Adobe's offering for the cloud, and detailed how he'd do it.

Scott Belsky - now investor himself - writing how he sold both BeHance and Adobe down the road for the rent economy.

I say The Messy Middle is an incredible book, but it is shelf help for dwindling execs.

To their generic credit, the open source scene for artistry and imagery is better than it ever was, because everybody has been priced out of the pro tools that actually can't keep up without community support.

grishka22 hours ago

Just downgrade? I still use some version from 2022, the first M1-compatible one that was cracked. Still as snappy as it was 2 years ago.

darknavi23 hours ago

I still use an old CS6 license and while it's snappy in the app, it still takes its time to boot.

vondur17 hours ago

Back in 1997-98 we had Pentium II machines (450mhz) with fast SCSI drives and 128 MB of ram that were fast Photoshop machines. I also remember it being pretty fast on the G3 Mac's when they first came out.

MenhirMike16 hours ago

> I also remember it being pretty fast on the G3 Mac's when they first came out.

One of the comments that Steve Jobs made in the Boston 1997 speech was "No one at Apple has reached out to Adobe to ask how to build the ultimate Photoshop machine" - and in the next few years, Photoshop benchmarks were a key Mac vs Intel comparison during his keynotes.

I don't know if Jobs already had influence on the original beige Power Macintosh G3, but he really seemed to care about Photoshop performance when he arrived.

ChiperSoft14 hours ago

Back when PS6 was the current release I deliberately downgraded to copies of 2 and 3.5 that I found on a Hotline server, because they were extremely fast and did 90% of what I used photoshop for.

Exuma21 hours ago

I looked at the source code but I wish I could understand what makes it beautifully elegant. I was pondering this question before as I was learning rust, and how tricky it was (decision overload) to make just a snake game (regarding code structure). I then was thinking how one would build a UI, functions which operate on a "space", and I thought of photoshop specifically, or 3d studio max. So finding this repo was really cool, except I simply just don't understand it.

If anyone knows of good resource I could learn code structure LMK! I find it interesting just from a learning perspective, as I always try to increase my design pattern chops

logdahl19 hours ago

I can't say much about this code or your personal background, but my honest opinion is to take a step back and examine the principles.

I used to be very bothered by abstractions, design patterns and structure. But I realized that when I worked with 'true' imperative code (forget classes for a while), keeping all code in the same file, the code started to structure itself. I am not saying this is the only way, but I feel like OOP can be a hinderance, as you get bogged down by alternatives.

mannyv15 hours ago

It uses MacApp, which was one of the first frameworks that tried to handle all the boilerplate for you.

The basic structure of MacApp apps is a document, and the MacApp framework dispatches events to your handlers. It's been forever since I worked on a MacApp app, but I think that's the basic structure.

It sounds like the MacApp stuff isn't included, but it's probably out there somewhere.

I know at some point Adobe ported MacApp to Windows so they didn't have to rewrite everything. I expect at some point they replaced MacApp with their own abstraction layer.

kalleboo14 hours ago

> it's probably out there somewhere

Exuma15 hours ago

Ahh interesting... so that would explain the function definitions that were missing for certain functions that were called!

stockhorn23 hours ago

An article from 2013 with an adobe photoshop version 1.x from 1990....

boomskats23 hours ago

I'm pretty sure half of that code is still running in WASM on

msk-lywenn23 hours ago

You mean current photoshop includes pascal code?

callalex22 hours ago

Tools used for art often get irrationally preserved for the sake of it. For example I have had a conversation with more than one person (well 2 but still) who believed unironically that the wiring inside vintage guitars and amps must be coated with asbestos insulation or it would change the tone/texture of the sound.

PaulHoule18 hours ago

Don’t crush that in a hydraulic press.

wongarsu23 hours ago

What's wrong with Pascal, apart from the ability to hire developers for it?

PaulHoule18 hours ago

I hated the dialects of Pascal we were using at school in the early 1980s because they didn’t really support systems programming but after I got a 286 machine I got into Turbo Pascal which did have the extensions I need and that I preferred greatly to C but I switched to C in college because I could write C programs and run them on my PC or on Sun workstations with a 32 bit address space.

msk-lywenn2 hours ago

Nothing wrong, just surprised

miohtama17 hours ago

Turbo Pascal and later Delphi were really nice, but I guess in the same vertical C won due to its UNIX legacy.

You can pretty much transform 1:1 between C and Pascal code.

p0w3n3d20 hours ago

Writing in Pascal itself is a Job Preservation Pattern

MontagFTB1 hour ago

It was transpiled to C and then C++ many years ago.

madeofpalk23 hours ago

I would not be surprised if it does. Photoshop is big and has a lot of legacy.

dlachausse23 hours ago
smburdick22 hours ago

John Knoll was the FX lead for the Star Wars prequels, and went on to direct Rogue One.

The behind the scenes documentaries for the prequels have aged well:

hondo7721 hours ago

VFX supervisor, exec producer, and story by, but not director of Rogue One:

dylan60420 hours ago

There's a multi-part series "Light & Magic" on ILM available on Disney+ that I really enjoyed.

acidburnNSA9 hours ago

I met his dad, who was a professor emeritus at University of Michigan's nuclear engineering department. He wrote the classic textbook on radiation detection.

thih923 hours ago

> they could not have imagined that they would be adding a word to the dictionary.

Adobe tries to fight that, as this leads to genericization[1]. Their trademark guidelines[2] state a number of examples, like:

"Always capitalize and use trademarks in their correct form. Correct: The image was enhanced with Adobe® Photoshop® Elements software. Incorrect: The image was photoshopped."



deusum23 hours ago

I believe it's now well into the realm of genericization.[1] Xerox lost a major lawsuit relatedly, iirc.

[1] e.g,

andai23 hours ago

I understand the pressure they're under, but nobody's going to say that...

afavour23 hours ago

I’m sure they know that. The text is there so that they can stand up in court and point to it, not because they think people will actually follow the instructions.

electroly22 hours ago

It's just like "LEGO® bricks." They're desperately trying to avoid genericization but it's way too late and nobody is going to say that informally. All companies want you to use their trademarks as capitalized adjectives but nobody can make you, personally, do that. But it does help with their official corporate partners who will follow the guidance if they want to stay in Adobe/LEGO's good graces.

chias23 hours ago

"Oh you're not actually using Linux, that's GNU/Linux"

DaiPlusPlus23 hours ago

TIL, "Linux", without the "GNU/" prefix is a registered trademark of Linus Torvalds.

So (in the US, at least), it's "Linux(TM)" and not "GNU/Linux" - I'm going to love using this the next time anyone goes uhmackshully to me.

medmunds22 hours ago
ian-g21 hours ago

Much more effectively, Velcro's been trying the same thing:

It still won't work in the long run, but I'm very aware now that Velcro is a trademarked name.

cynicalsecurity23 hours ago

I photoshopped an image with Gimp.

hallarempt20 hours ago

I, as the Krita maintainer, hereby give everyone the right to verb the trademarked name "krita". Whether it's I "krittered that concept" or "I kritaed that sketch" -- it's fine!

The only thing you cannot do with the trademarked name krita is publish rip-off, spyware-laden versions in places like eBay.

tagawa8 hours ago

Side note: Thank you for your work! My non-technical partner was able to create and print postcards that had to be in CMYK format, thanks to Krita. You made her very happy :-)

Moru9 hours ago

Except Krita is a word in Swedish so good luck trademarking that one here :-)

ThrowawayTestr23 hours ago

I gimped an image with Adobe Photoshop®

aceazzameen12 hours ago

That sounds accurate.

downrightmike22 hours ago

such a terrible name

dclowd990122 hours ago

Nobody’s ever accused open source of being good at naming stuff

aragonite20 hours ago

Do the users find the name terrible though? I'm pretty sure on at least 3 different occasions I heard someone excitely yelling "time to bring out the GIMP!" or some such when they needed to do some quick photo editing.

Case in point:

bigstrat200317 hours ago

Yeah, GIMP is an awesome name. It's fun and playful, one of the better named programs out there imo.

Zambyte23 hours ago

While using GIMP

resource_waste23 hours ago

No you didn't. No one actually uses Gimp. We just say 'Gimp is a replacement for photoshop' and pretend that is actually an acceptable solution for people using Linux.

(Btw I switched to Krita and I'm never going back to Gimp. Even the things Gimp should be good at, Krita is better.)

rvense22 hours ago

Personally I crop screenshots with GIMP twice a year and it's absolutely fine for that. Not sure what your problem is.

NovemberWhiskey22 hours ago
HKH25 hours ago

Krita can't print.

wizzwizz422 hours ago

GIMP is the screenshot cropping tool, or for when you want to write a Lisp program to do a single, technically-precise thing to an image. Krita for everything else!

I'm still waiting for the Krita equivalent of Inkscape.

Zambyte22 hours ago

I use Lisp extensions all the time for things people claim GIMP can't do, like draw certain shapes.

GIMP is to Emacs as Photoshop is to Intellij. Both GIMP and Emacs are fairly lean out of the box; it is meant to be molded into what the user wants. The problem is the target audience of Emacs is much more keen on programmatically modifying their systems than the target audience of GIMP.

ltlnx18 hours ago
harrison_clarke19 hours ago

sounds like exactly what ronin is for

tutorial/example video:

wasteduniverse21 hours ago


tjoff23 hours ago

Is genericization really a problem though?

caseyohara22 hours ago

Yes, companies can lose the exclusive right to their mark if the brand is sufficiently genericized. Just ask Frisbee, (Kawasaki) Jet Ski, ChapStick, Velcro, Lego, Band-Aid, Jacuzzi, the list goes on.

quesera21 hours ago

Most annoyingly, IMO: Sriracha.

The Huy Fong guy decided not to trademark the term, and consequently in the last few years, everyone is selling a Sriracha sauce, all of which are grossly inferior to the original.

I've tried many of them, being lately in a Huy Fong desert, and esp during their period of production issues.

There are a couple of also-rans, rating maybe 7 stars out of 10. They do not taste like real Sriracha, but they're OK. If they didn't call themselves Sriracha, I might appreciate them more.

jimbobthrowawy19 hours ago
sgerenser19 hours ago
edmara22 hours ago

Of course. A trademark exists to mutually protect consumers and businesses from deceptive advertising. When a term referring to a specific product becomes a term for a product category etc, trademark protections then becomes harmful to consumers, but they still benefit the business. If you're building a brand generally you want to be as close to the legal limit as possible without exceeding it

schmidt_fifty21 hours ago


somat22 hours ago

ehh... I am not sure,

A photo shop was a thing long before adobe made some software that could replace an entire photo shop and called it... Photoshop. Verb your nouns and that thing you do in a photo shop becomes "to photoshop"

I think the insistence on using the "Adobe® Photoshop®" is more that the term is already sort of generic and they are on shaky ground from the start. Sort of like windows, or dos, Microsoft goes hard always calling it "Microsoft Windows®" or "MS DOS®" because just windows, or disk operating system are already very generic terms. (dave plummer)

Not that this will stop them from trying to sue you if you release products using those terms, Gotta give the lawyers something to do after all. Otherwise they would just be sitting around wasting money.

This is in contrast to Xerox a term invented specifically for a new invention and the company that invented it.

deaddodo22 hours ago

It doesn't necessarily matter if you follow their guidelines or not, this is all legal facade so that they can retain their trademark. In the majority of instances, they simply have to show they made efforts to retain their unique trademark. They don't care that you say "I photoshopped X" they just care that GIMP isn't marketed as "GIMP: Open Source Photoshop" (or similar instances).

maurosilber21 hours ago

"Always capitalize and use trademarks in their correct form.

Incorrect: The image was photoshopped.

Correct: The image was enhanced with GIMP software."

ChrisMarshallNY22 hours ago

I remember seeing Photoshop, when it was pre-Adobe, in a hospital, in Ann Arbor.

I thought it was amazing.

One note: I'm almost certain that the version of MacApp (the Apple Pascal app framework) was still in beta, at the time.

I used some of Tom Knoll's code (a B-spline algorithm), as a base for a curve editor. He had done some work as a contractor for the company I worked at.

astrange11 hours ago

What was it doing in a hospital?

ChrisMarshallNY9 hours ago

One of the tech people in the hospital was friends with Tom Knoll, and had it running on a Mac II (I think). I was taking a class there, and the teacher took us on a field trip, to see it.

This was 1988 or ‘89.

dlachausse23 hours ago

Kudos to companies that are releasing the source code to antique versions of their software. I hope more companies do so in the future.

Unfortunately I fear that much of this source code has been lost to time and multiple serial acquisitions over the years. Also, wide spread use of version control is a fairly recent phenomenon, so much of this source code if it still exists at all is on random tape backups and floppy disks or printouts in binders.

fermigier23 hours ago

"We collect and preserve software in source code form, because software embodies our technical and scientific knowledge and humanity cannot afford the risk of losing it.

Software is a precious part of our cultural heritage. We curate and make accessible all the software we collect, because only by sharing it we can guarantee its preservation in the very long term."

(Founded by a friend, Roberto Di Cosmo).

derefr22 hours ago

I feel like, if some organization like the Internet Archive were to offer a "software source-code time-delayed-publication escrow service" (with real boilerplate legal contracts punishing early leaks), a lot of companies would take them up on it.

I imagine such a service could be pretty automated/low-touch. One way it could work:

1. you mirror your git repos to a private server the software-conservation org controls.

2. The software-conservation org then sets up matching public repos, initially empty.

3. Every hour, an agent runs, that scans all the private repos for commits with commit timestamps older than ten years (or whatever each company has signed on for as a release period); and syncs just those commits, into that repo's matching public repo.

4. Refs are then also synced, but rewritten, as if `git filter-branch` had been run to remove all commits less than ten years old. Any refs that are empty after filtering are dropped.

schlauerfox15 hours ago

why is source code submission to the LOC not necessary like a book to register copyright? Seems reasonable they hold it in escrow for 30 years or whatever reasonable term copyright should be.

dang21 hours ago


Adobe Photoshop 1.0.1 Source Code (2013) - - May 2018 (200 comments)

Photoshop 1.0 Source Code - - Feb 2013 (78 comments)

sys_6473814 hours ago

Early Photoshop was junk compared to Deluxe Paint on the Amiga. History only remembers the winners so it’s unfortunate DPaint gets lost the midst time.

aceazzameen12 hours ago

DPaint was incredible. But Photoshop was still pretty good on its own too. It just happened to advance at a greater rate than DPaint did.

nunez13 hours ago

I took an image processing class during my Comp Eng undergrad. We learned about and implemented (in C, or maybe Java; I think it was C) some of the bitmap processing algorithms that Photoshop incorporated. Some of that math is no joke, and making it tight in the late 80s must have been harder still.

NewsaHackO23 hours ago

Which do you think has more features, this or current GIMP?

FdbkHb6 hours ago


But it doesn't take many later versions of Photoshop to start becoming more productive than using GIMP because of functionality it has that GIMP does not:

Adjustment layers were introduced in 4.0 (1996, GIMP didn't even exist yet)

Layer styles were introduced in 6.0 (2000)

Smart Filters were introduced in CS3 (2007)

They're all invaluable tools that provide a non-destructive workflow where you can go and edit a change you made without having to undo everything you did after that change and redoing things again.

If I had to use an ancient version of a program and have nothing but that program until the end of times, I would pick Photoshop CS3.

This entire class of functionality still does not exist in GIMP.

A lot of modern tools can be added to GIMP through the G'MIC plugins (like the healing tool), but the core editing loop functionality, what is in my opinion the most important thing, is extremely primitive and outdated. All of the competition provides non destructive editing. Including other open source software like Krita (which focuses more on painting tools rather than photo editing, leaving a hole in the open source ecosystem).

HKH24 hours ago

Gimp has got a lot better recently. The smart transform tool is excellent.

Still can't select more than one layer though.

resource_waste23 hours ago

What has accomplished more work? Photoshop prior to 2013, or Gimp all time?

Lol we all know.

Why is Gimp the knee jerk reaction when its rarely used in the real world? Did we learn it in the 2000s and just keep repeating it? (I say this as a Krita fan)

MayeulC22 hours ago

The source code in the linked article is for Photoshop v1.0.1, published in 1990.

Though I don't think Gimp is as rarely used in the real world as you seem to think. We all live in different bubbles, but I know more people that use GIMP than Photoshop.

Zambyte22 hours ago

Why are you comparing it to Photoshop in 2013? The article is about Photoshop in 1990.

Zambyte23 hours ago

GIMP has a plugin system and this does not AFAIK, so you're comparing unbounded features vs bounded features.

mrKola13 hours ago

I would love to see the code of Fireworks. Adobe bought macromedia just to kill the apps.

If I could bring one app back to life, it would be Fireworks. I was soooo good as it, no other software compares.

kibibu13 hours ago

I don't think that's entirely why. They kept Flash around for a long time

Rufus_Tuesday23 hours ago

Anybody remember BarneyScan XP?

Rufus_Tuesday13 hours ago
shivanshu12020 hours ago

Great article written on some of the best code out there in the market.

dylan60420 hours ago

best code? Have you ever read people's thoughts on the PSD format? I know the two are not the same, but it does make you wonder how the PSD issues do not present in the app's code as well.

PaulHoule18 hours ago

If I was going to complain about Photoshop it is that it does most operations in the chosen color space (say sRGB) instead of linear light. This is certainly wrong for operations that are physically motivated like blurs even if people sometimes like the result.

anemoknee18 hours ago

I haven't myself, but I'm interested to see what folks are thinking. Any resources you can share?

vsuperpower202016 hours ago
ge9623 hours ago

wonder if anybody has it up on github

peterjmag22 hours ago

Somebody pushed it up here:

But that might be violating the Computer History Museum's license:

SushiHippie19 hours ago

> But that might be violating the Computer History Museum's license:

Yep, TFA includes this sentence:

> To download the code you must agree to the terms of the license, which permits only non-commercial use and does not give you the right to license it to third parties by posting copies elsewhere on the web.

ge9614 hours ago

12 yrs old wow. I'm surprised everything is in the root folder... no subfolder/groupings, probably uploader choice not actually how it was written?

HumblyTossed22 hours ago

Does the zip file not work?

ge9614 hours ago

I just didn't want to download it, just view it, like a PDF that opens in the web vs. auto downloads

kls0e11 hours ago

excellent read, how tangible. love the praise of the code structure. impressed on how consistent photoshop's UI is, up to contemporary versions.

mentos20 hours ago

I wonder what the biggest semantic similarities are between the source code of the first 1990s Photoshop and today’s.

mdaniel23 hours ago


Eduard22 hours ago

I find the addition of "(2013)" to the title misleading.

"Adobe Photoshop Source Code (2013)"

I thought it is about Photoshop source code from around 2013.

wezdog117 hours ago

That pronunciation of Photoshop bugs me. Not everyone has an American accent.

supportengineer20 hours ago

I prefer Photon Paint or DeluxePaint

divyenduz22 hours ago

Is there a youtube channel or something that does deep dives into antique source code like this or windows XP?

dukeofdoom16 hours ago

I was looking for a freeish alternative for mac, but so far only found Photopea which is online but has an almost identical interface. Works pretty good basic things, but kind of bad at removing a background. So still searching ...

ilrwbwrkhv19 hours ago

"We developed it originally for our own personal use…it was a lot a fun to do"

I honestly do not think anything cool has ever been built due to capitalism. Great ideas to great products are just musings.

Nuella1912 hours ago