Adobe Photoshopソースコード
ソフトウェアの宝石: コンピュータ歴史博物館の歴史的ソースコードシリーズ
- Photoshop: デジタル画像をPhotoshopソフトウェアまたは他の画像編集ソフトウェアで変更すること、特に現実を歪める形で変更することを意味する(出典: メリアム=ウェブスター・オンライン辞書、2012年)
Photoshopの誕生
- 1980年代後半、トーマス・ノールとジョン・ノールの兄弟が画像編集プログラムの設計と実装を始めた
- トーマス・ノールはミシガン大学でコンピュータビジョンの博士課程に在籍しており、1987年にデジタル画像を表示・修正するプログラムを書いた
- ジョン・ノールは映画の視覚効果会社Industrial Light & Magicで働き、このプログラムを写真編集に有用に活用した
Photoshopの発展
- プログラムは徐々に発展し、「Display」という名前で呼ばれるようになった
- 1988年の夏、このプログラムが商業的に有望であることに気づき、「Photoshop」に改名した
- スライドスキャナーメーカーのBarneyscanが「Barneyscan XP」という名前で、約200本のバージョン0.87をバンドル提供した
Adobeとの契約
- Adobeのアートディレクター、ラッセル・ブラウンの勧めにより、AdobeはPhotoshopの配布ライセンスを購入することを決定した
- 1989年4月に契約が締結され、1990年初頭にバージョン1.0が発売された
- その後10年間で300万本以上のPhotoshopが販売された
初期Photoshopの技術的詳細
- 初期のPhotoshopは主にApple Macintosh向けのPascalで書かれ、一部はMotorola 68000マイクロプロセッサ向けの機械語で書かれていた
- バージョン1ではトーマスが唯一のエンジニアとして作業し、バージョン2では2人のエンジニアが参加した
- トーマスは基本アプリケーションプログラムを担当し、ジョンは多くの画像処理プラグインを書いた
ソースコード公開
- Adobe Systemsの許可を受け、コンピュータ歴史博物館は1990年版バージョン1.0.1のPhotoshopソースコードを非商用目的で公開した
- ソースコードは179個のファイルで構成されており、約128,000行の、コメントがほとんどないよく構造化されたコードから成る
- コードの約75%はPascalで、約15%は68000アセンブリ言語で書かれている
ソースコードに関する解説
- IBM Research Almadenのソフトウェア工学担当チーフサイエンティストであり、コンピュータ歴史博物館の理事でもあるグレイディ・ブーチの見解:
- Photoshop 1.0のソースコードを開くことは、古代遺物の墓を開くようなものだった
- インターフェースと抽象化の一貫した分離、コンポーネント化された抽象化の設計判断が見事に行われている
- 現代の実装でも基本構造は維持されている
- コメントはほとんどないが、コードは非常に読みやすい
初期Photoshopのスクリーンショット
- ホーム画面: 利用可能なツールを表示
- ブラシの色、サイズ、テクスチャを選択可能
- 多様な選択ツールと画像フィルターを提供
- バージョン3で追加された画像レイヤー機能は初期バージョンには存在しない
- カスタマイズ機能を提供する環境設定ページ
- 限られたフォント、フォントサイズ、スタイルを選択可能
歴史的ソースコード公開一覧
- MacPaintとQuickDrawのソースコード、2010年7月18日
- APLプログラミング言語のソースコード、2012年10月10日
- Adobe Photoshopソースコード、2013年2月13日
- Apple II DOSソースコード、2013年11月12日
- Microsoft MS-DOS初期ソースコード、2014年3月25日
- Microsoft Word for Windows バージョン1.1aソースコード、2014年3月25日
- 初期Digital Research CP/Mソースコード、2014年10月1日
- Xerox Altoソースコード、2014年10月21日
- Electronic Arts DeluxePaint初期ソースコード、2015年7月22日
著者紹介
- レン・シュステクはコンピュータ歴史博物館の創設理事長の名誉理事である
関連記事
- CHMブログ: 私たちみんなのためのコンピュータ、2023年12月15日
- CHMブログ: あなたのファービーは何歳?、2023年12月13日
- CHMブログ: カメ、ブロック、そして思い出、2023年12月5日
GN⁺の意見
- Photoshopの歴史的価値: Photoshopはデジタル画像編集に革命を起こし、そのソースコードを通じて初期ソフトウェア開発の歴史的文脈を理解できる。
- コードの教育的価値: コメントはほとんどないが、よく構造化されたコードはソフトウェア工学教育に有用な資料になり得る。
- 技術的進歩: 初期Photoshopの構造と現代版の構造を比較することで、ソフトウェアアーキテクチャの進化を理解できる。
- 批判的視点: 初期ソースコードの公開には歴史的価値があるが、商用利用が制限されているため、実際の活用には限界がある。
- 関連プロジェクト: GIMPのようなオープンソース画像編集ソフトウェアも類似の機能を提供しており、Photoshopの代替として検討できる。
1件のコメント
Hacker Newsの意見
Hacker Newsコメントまとめ要約
Adobeソースコードのアーカイブ経験
Adobeとのソースコード交換経験
UXの一貫性
ソースコードの美しさは理解しにくい
Adobe Photoshop 1.x版の記事
商標の一般名詞化の防止
古いソースコード公開への称賛
Photoshop初期バージョンの体験
John Knollの経歴