Hacker News new | past | comments | ask | show | jobs | submit login
Adobe Photoshop Source Code (2013) (computerhistory.org)
631 points by PaulHoule 6 months ago | hide | past | favorite | 219 comments



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.


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


Adobe has the only copy, and they have donated early versions of PostScript (https://computerhistory.org/blog/postscript-a-digital-printi...) and Photoshop; people should ask Adobe to release more. Everything I find in the public domain I post at https://www.softwarepreservation.org/projects .


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. https://justine.lol/sectorlisp/#listing


I beat the bushes for the source code, documenting my finds (https://mcjones.org/dustydecks/archives/category/lisp/) and posting them (https://www.softwarepreservation.org/projects/LISP/lisp15_fa...), but the early work was done by Jack Harper, Pascal Bourguignon, Rich Cornwell and Bob Abeles, Andru Luvisi, Angelo Papenhoff, Al Kossow, and others.


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


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


Even the parents from 1988-2000 would be well expired now


Poor moms and dads.


Can you patent open-source code?


Of course you can. If you invented it, and nobody else has patented it, you can patent it. Opening the source doesn’t invalidate your rights as an inventor or copyright holder, though it can add confusion and/or complexity to the enforcement of both the patent and the open source license.


Yes, but my understanding is that publically detailing how your invention works _before_ trying to patent it means the invention becomes public knowledge/prior art. That is, so long as you submit a patent application before releasing the open-source code, it should be OK, but there's no much you can do once the cat is out of the bag.


I imagine the rules and best practices would vary between jurisdictions, but basically yeah. But as soon as you file for the patent, you can release source and enjoy the confusion.

(Based on 30 seconds of googling, it seems that the USA and Australia gives inventors a 1 year grace period after publishing, but the granted patent might not be valid in other countries.)


USA also used to not consider publications or patents published outside USA as prior art, to the point of granting patents that were rewritten from someone else's patent in another country.

Not sure if it got better or worse with WTO patent rules.


Considering the history of NAND flash amounts to Toshiba applying to Japan's patent office and getting laughed out of the room, then Sandisk saw it and applied for and received a patent for NAND flash from the US Patent Office, it's probably still the case.


Arguably patents as intended should require description of patented device/technique in detail that allows replicating it - effectively open sourcing it.

The patent then serves as temporary moat on applying that specific technique or producing that specific device to refund the inventor.

In practice... well, sometimes patents were used to recover details of closed-source software or hardware.


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.


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.


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.


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


This mid-'90s time capsule and the decade-plus of comments below it summarize how a lot of Freehand users felt about the program: https://philip.greenspun.com/wtr/illustrator-v-freehand.html.


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


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


Wow, oddly enough that kind of sounds quite fun.


That's awesome.


Great write-up here about what it takes to build the app from this source code: http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...


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


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.


Suspicion based on some of the other articles is just somebody who's really an in-depth Apple user. Listens to folklore.org, notes in a couple articles that they appear to be on the outside and need to buy stuff just like everybody else. Some of the articles mention "awe" at how tiny the old Mac binaries were. May have been Apple tech support.

In "The Standard File Package" [1] from Saturday, February 27, 2010:

> It has never been my job to provide technical support to casual (I mean non-professional) Mac users, but I have helped friends and family members. [araes note: Implies may have been professional technical support]

In "Name it Scrapbook" [2] from Saturday, February 20, 2010:

> I am not an iPhone developer, and I don't know everything about it, but I write cocoa programs on Macs, and I have read the iPhone developer documentation.

Seems like somebody who just reads everything about Mac history, culture, and development. Quite plausible the author may actually know "more" than the original developers, because a lot don't care about their own products as much as the user base.

[1] http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...

[2] http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...


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 "http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/rss.xml": dial tcp 209.182.219.107:80: i/o timeout


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


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.


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?


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


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"


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


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


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


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.. https://en.wikipedia.org/wiki/PowerPlant


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.


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.


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.

[1] http://lensgarden.com/uncategorized/live-picture-software-th...


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.


> Photoshop was a bit janky on SGI

It was ported over to Irix (and Sun/Solaris/HP-UX and Rhapsody) using a toolkit called Lattitude[1], sort of a reverse-engineered Mac toolbox, that translated Mac API calls to the appropriate Unix/Motif/$Whatever calls, using the native look and feel.

The earlier version was used to port MS Word/Excel to Unix. Metrowerks purchased it for porting (classic) Mac apps to Rhapsody.

[1] http://preserve.mactech.com/articles/mactech/Vol.13/13.06/Ju...

[There's an IEEE article if you have access, which I don't:

https://ieeexplore.ieee.org/document/186761


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


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.


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


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


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

http://www.art.net/~hopkins/Don/unix-haters/tirix/embarrassi...


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


Excellent joke.

Indy still had the best looking case, though, I think. There's something about that sliced-box appearance that's so unexpected and interesting.


I have my SGI O2 sitting on top of my Indy, just because the contrast in design ethos inspires me, somehow.


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


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.


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.


I don't know if I agree about InDesign being clunky.

The problem was everybody liked PageMaker7 and nobody wanted something new.

How about Audacity? The clowns simply bought CoolEdit and renamed it. Very innovative.


Whoops I meant Adobe Audition=CoolEditPro


Audacious.


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.


There are settings to revert them all


Yeah but I wanted to maintain "compatibility" with others using the software whether for discussion's sake or so I can hop on their workstation and not have to think about changing anything. Turning those legacy settings on and having that survive restarts could be flaky/buggy. I got the impression keeping that functionality well tested wasn't the highest thing on their development priorities.


Adobe needs an easier and broader “settings” in the cloud. It should be as easy as login in to have your completely bespoke Photoshop greeting you.


Slightly different experience, but logged into my friends Google TV the other day and it had all my apps and I was correctly signed into everything, background and screensaver all set up. Very smooth experience.


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.


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.


Intellij are about to learn this lesson unfortunately.


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


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


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


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)


I'm ride-or-die on Save for Web (Legacy), it's the way to go by far.

Now if they'd just integrate the tinypng plugin that was deprecated in 2023 - https://help.tinify.com/help/deprecation-of-the-photoshop-pl...


Same—I just wish they'd either drop the "(Legacy)" and admit that they can never remove it, or add those same features to the Export dialog!


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.


How long has the Save for Web been "Legacy"? I feel like it's been there for a long time.


I was the engineer that added that string. Since adding that string... I joined the photoshop team officially. Spent maybe 5 years there. I have left adobe. I Had a year and a half sabbatical. Now writing this comment. It's been a while.


Ha, comments like this are why I love hn!


The intent was to direct customers to the new “Export As” experience, which was a newer code base and handled some things SFW did not. Enough people couldn’t leave SFW behind though, and it’s been Legacy ever since.

Anecdotally, SFW is the result of converting Adobe ImageReady into a plugin. When IR was originally created, many of its sources were split off from Photoshop to get it off the ground. So now we have two variants of “the same” sources for many files- one evolving in Photoshop, and the other frozen in time in Save for Web.


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


Use gimp, add a new layer, paste something into it, and resize it, then you will know


How about PhotoShop's Magic Lasso?

I have not found many tools that work as well and make productivity great.


"try" doesn't imply "ship to millions of customers"

And sometimes there's good enough and you should leave it alone. QWERTY isn't optimal but it's not very far from it.


But if you're not gonna ship it to all your millions of users and receive the outrage as feedback, how will you ever know if it works or not?

A/B testing to a few users only works in web-app front-ends, not in professional tools where all single end-user releases need to look and act exactly the same.

Shipping to only a handful of users wasn't a thing in the era of "Gold CD" releases, and even in the era of the internet updates, nobody will want to take part in A/B testing and end up with a different Photoshop UX than what his colleague is using, so you either ship to all or none.

So it seems Photoshop's UI is more of a cause of inertia and resistance to change, rather than nailing right the first time.


A/B testing does very little to improve any UX. It's got merits in performance optimization, where the implementation differs but the contract is static between A and B, but with user interfaces, it generally leads to pessimizations as usage is not proportional to usefulness.

The rare exception is single-purpose interfaces where increasing one singular interaction is an end in itself, e.g. a marketing page, but that's a pretty unique case that is very far removed from a productivity tool.


You bring in testers and UI experts, and you have the experts watch the testers.

Shipping to mass market is a bad way to get feedback.


Are there such a thing as UI experts anymore? It seems like we only have designers left, and I am none too thrilled about their influence.


AZERTY is very bad and France is still stuck with it, despite Québec having a variant of QWERTY for decades, ditto for Switzerland having a custom QWERTZ, and BÉPO being heads above.


Qwerty is a significant brake in learning English from scratch.


How so?

And I'm pretty sure an alphabetical keyboard would do much more harm than good, if that's the implied alternative.


Every time I'm confronted with an alphabetical keyboard my brain malfunctions. It should be easy but I'll be on R or S looking for the T and spend 5 minutes scanning for it. Usually via remote with some crappy app trying to login or search and its on a big TV huge, usually people watching making the awkwardness even worse since everyone else can obviously see where the T is.

/end rant


> How so?

I am not native but I feel pleasure from using Dvorak and chatting with no need to look at keyboard. I am trying to spread acknowledgement about Dvorak among young folks and those who agreed to learn feel the same boost. The difference is unimaginable for those who already has some muscle memory for anything related to Qwerty such as Ctrl-C. So the difference is between creating the layout for touchtyping goals and creating the layout for any other ones.


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.


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


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.


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.


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.


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.


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.


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.


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.


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


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.


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


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.


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


I'm pretty sure half of that code is still running in WASM on photoshop.adobe.com


You mean current photoshop includes pascal code?


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.


Don’t crush that in a hydraulic press.


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


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.


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.


Writing in Pascal itself is a Job Preservation Pattern


Nothing wrong, just surprised


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


I have a feeling that much of it was translated to C or C++ at some point for portability and maintainability reasons. There are several automated Pascal to C translators out there, such as the following...

http://users.fred.net/tds/lab/p2c/

Also the languages are similar enough that a programmer with knowledge of both could translate it manually without too much difficulty.


Typically TeX is translated from Pascal to C too, via web2c.

But there also is a Pascal to WASM compiler out there, which was written specifically for TeX:

https://github.com/kisonecat/web2js

TeX itself is only about 500kb of wasm, uncompressed, but the memory images with LaTeX loaded are quite a bit larger.


It was transpiled to C and then C++ many years 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


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.


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.


> it's probably out there somewhere

https://archive.org/details/macapp2cdrom


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


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: https://youtu.be/da8s9m4zEpo?si=5y5gHUMxztwVzMny


VFX supervisor, exec producer, and story by, but not director of Rogue One: https://www.imdb.com/title/tt3748528/reference/


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

https://www.imdb.com/title/tt19896784/?ref_=nv_sr_srsg_0_tt_...


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.


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

[1]: https://en.wikipedia.org/wiki/Generic_trademark

[2]: https://www.adobe.com/legal/permissions/trademarks.html


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

[1] e.g, https://www.consumerreports.org/consumerist/15-product-trade...


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


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.


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.


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


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

https://ubuntu.com/legal/trademarks#:~:text=Linux%C2%AE%20is....

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.


Uhmackshully, since it's registered, it's "Linux®". The ™ is for unregistered trademarks.


Hoisted by my own petard!


I photoshopped an image with Gimp.


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.


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


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


I gimped an image with Adobe Photoshop®


That sounds accurate.


such a terrible name


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


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: https://www.youtube.com/watch?v=T4CjOB0y9nI&t=2518s


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


While using GIMP


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


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


If your use-case is "crop screenshots", your competition isn't Photoshop, it's MS Paint.


There aren't many image editors that are able to crop pictures in a usable way. MS Paint for example can't do that. I wonder if the "move this rectangle" method is under patents.


Maybe you mean something different by "cropping", but drawing a rectangle followed by ctrl+c then ctrl+n is fairly quick / good enough


If there was a linux port of paint, I'd consider it. Until then, GIMP is fine.


Check out Pinta. It does basic image editing pretty well, imo.


jspaint.app has you covered


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.


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.


What issues do you have with Inkscape? I've used it for both (semi-)professional and personal work, and the UX is quite pleasant.


Inkscape is buggy, especially when clipping. Sometimes layers or filters aren't shown properly. Editing filters is a bit arcane.

When I first started using Inkscape, I disliked all the dialog boxes, but I'm used to them now.


It's a semi-decent SVG editor (if you ignore all the XML Editor crashes), but you can't draw in it.


sounds like exactly what ronin is for

tutorial/example video: https://www.youtube.com/watch?v=SgAWGh1s9zg


Krita can't print.


Much more effectively, Velcro's been trying the same thing: https://www.youtube.com/watch?v=rRi8LptvFZY

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


Is genericization really a problem though?


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.

https://en.wikipedia.org/wiki/List_of_generic_and_genericize...

https://en.wikipedia.org/wiki/Generic_trademark


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.


I don't think that's any more annoying than "ketchup" or "barbecue" sauce not being trademarked. I hear the sauce made by their original pepper suppliers is pretty good though.


I've tried it, and I do not like it. The flavor is boring.

Checking up on Huy Fong today, I discovered that they have announced another production disruption this month, expected to last until Labor Day. Their pepper supply is too green.

I appreciate their dedication to product! Yes it's a serious supply chain management failure, but I can accept that their requirements are difficult for vendors to meet. A substandard Sriracha might be better than no Sriracha, but there are plenty of substandard vendors already. I'll wait for Huy Fong to get the good stuff sorted out.

I hope they resolve this issue soon and permanently. Maybe they and their old pepper grower can make amends, for the good of humanity.



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


There are jurisdictions where genericide is explicitly outlawed.


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.

https://youtube.com/v/BR6F0EdyulA?t=404 (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.


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


"Always capitalize and use trademarks in their correct form.

Incorrect: The image was photoshopped.

Correct: The image was enhanced with GIMP software."


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.


What was it doing in a hospital?


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.


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.


https://www.softwareheritage.org/

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


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.


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.


Related:

Adobe Photoshop 1.0.1 Source Code (2013) - https://news.ycombinator.com/item?id=17132058 - May 2018 (200 comments)

Photoshop 1.0 Source Code - https://news.ycombinator.com/item?id=5215737 - Feb 2013 (78 comments)


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.


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.


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


GIMP.

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


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)


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.


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


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

Still can't select more than one layer though.


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


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.


Anybody remember BarneyScan XP?



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


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


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


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.


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.


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



That's some random rambling from a guy on the internet, not a proper explanation or a deep dive with what's objectively wrong with it.


One of these links is locked behind an account and the other only redirects to a dead repository. Thanks, I guess.


I don't have a reddit account, and I was able to read it after agreeing that I was over 18. After that, it displayed the diatribe just fine for me. <shrugs>

However, feel free to google it yourself


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.


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


wonder if anybody has it up on github


Somebody pushed it up here: https://github.com/amix/photoshop

But that might be violating the Computer History Museum's license: https://github.com/amix/photoshop/blob/2baca147594d01cf9d17d...


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


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?


Does the zip file not work?


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


(2013)


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.


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


There are a lot more similarities between todays code base and this code base than you might ever think :)


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


I prefer Photon Paint or DeluxePaint


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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: