Примеры классического кода, ставшего Open Source

594ff64b60a9439f83eb9fbc7e843f9d.jpg

В прошлом году NASA опубликовала список программного обеспечения, код которого они разрабатывали в течении долгих лет. NASA уже давно стала знаменита тем, что делится с общественностью своим кодом. Другие же разработчики не всегда готовы пойти на такое. По крайней мере не сразу. Давайте ознакомимся с некоторыми примерами классического кода, который теперь можно и посмотреть, и пощупать.

Бортовой управляющий компьютер КА Аполлон (AGC)

Миссия Apollo на Луну по праву считается колоссальным достижением человечества. Для ее осуществления был проделан не менее колоссальный труд. Это относится и к программному обеспечению, которое разрабатывалось MIT Instrumentation Lab. AGC было установлено и на бортовой, и на лунный модули для обеспечения наведения, навигации и управления. В честь 40 летия миссии Apollo 11 в 2009 году оригинальный код AGC был расшифрован и отсканирован со старых записей и предоставлен в открытом доступе.

7f1716d80ff2429fb23cd6f602e8bb1d.jpg

Желающие ознакомится с кодом AGC или даже поковыряться в нем могут скачать его (также можно скачать виртуальный симулятор AGC) с сайта Google Code: code.google.com/p/virtualagc

IBMs APLð

APL — язык программирования, который стал наследником системы математических нотаций для манипулирования массивами. Она была разработана профессором Гарвардского университета Кеннетом Айверсоном, который в дальнейшем повлиял на развитие таких языков программирования как J, Matlab и Mathematica. В 1962-м году, работая на IBM, господин Айверсон сформулировал и опубликовал свою работу в книге под названием A Programming Language (APL). Первой реализацией APL было APLð для компьютеров IBM System/360 в 1966-м году. А в 2012-м IBM совместно с Музеем компьютерной истории выпустили в свет исходный код APLð, содержащий 37500 строк и состоящий из 360 языков ассемблера.

1695d575d1e54c89b3f18fded29d3959.jpg

Исходный код APLð доступен для скачивания на сайте Музея компьютерной истории: www.computerhistory.org/atchm/apl360-software-license-agreement

Xerox Alto OS

Alto — персональный компьютер, разработанный в Исследовательском Центре Пало Альто (PARC) корпорацией Xerox в 1973-м году. Он стал революционным изобретением, поскольку обладал графическим дисплеем (черно-белый монитор 606×808), а также клавиатурой и мышью. Еще более выдающимся отличием была память 128 KB и дисковое пространство 2.5 MB, что считалось довольно много в то время. Был и концепт рабочего стола и графического пользовательского интерфейса. Однако Alto никогда не продавали, все 1500 экземпляров использовались исключительно в пределах компании Xerox.

d352865fe5e74922b1a5abda70886e22.jpg

На сайте Музея компьютерной истории Вы можете скачать не только ОС, но и множество программного обеспечения и утилит, разработанных для Alto: PUP (PARC Universal Packet) набор мжежсетевых протоколов, Bravo — первый редактор WYSIWYG и 4 языка программирования (BCPL, Mesa, Smalltalk и Lisp): xeroxalto.computerhistory.org/xerox_alto_file_system_archive.html

CP/M OS

В 1979-м году Гэри Килдалл, работающий консультантом в компании Intel, начал разработку программного обеспечения для управления флоппи-дисководом (тогда еще новинки). Вскоре эта разработка переросла в новую ОС для компьютеров на основе микропроцессора 8080 от Intel, которую он назвал CP/M (Control Program/Monitor, и в дальнейшем Control Program for Microcomputers). В отличии от других операционных систем того времени CP/M была написана не на стандартном языке программирования, а на созданном самим Килдаллом. CP/M также стала прародителем для вполне обычных в наше время вещей, таких как 8-буквенные имена и 3-буквенные расширения файлов. Килдалл основал компанию Digital Research, Inc. и запатентовал свою операционную систему, которая стала доминирующей среди персональных компьютеров вплоть до появлени в 80-ых DOS.

657d33205245457b8c8545c2360a1234.jpg

Исходный код первых 4 версий CP/M можно скачать на сайте Музея компьютерной истории: www.computerhistory.org/atchm/early-digital-research-cpm-source-code

Microsoft BASIC для 6502

В 1975-м году MOS Technology создала 6502 микропроцессор, желая сделать его дешевой альтернативой других микропроцессоров того времени. Microsoft для работы 6502 использовала язык программирования BASIC, который был основан на языке Altair BASIC. Последний был написан Биллом Гейтсом и Полом Алленом в номере отеля в Альбукерке (Нью-Мехико) для микрокомпьютера MITS Altair 8800. Микропроцессор 6502 в дальнейшем использовался во многих популярных компьютерах, таких как Apple I и Apple II, Commodore VIC-20 и на игровой консоли Atari 2600. Microsoft лицензировала BASIC для 6502 и использовала его для реализации других систем (Commodore BASIC и Applesoft BASIC). В этой версии BASIC содержится знаменитая пасхалка WAIT 6502 от Билла Гейтса.

e79ae47cfc8042e79c3b7e9cc545fd1e.jpg

Скачать BASIC для 6502 можно с Pagetable: www.pagetable.com/? p=774

Adventure

Квест (Adventure) — жанр видео-игр, в основном однопользовательских, с интерактивным сюжетом и решением различных пазлов и задач. Одним из праотцов этого жанра была Colossal Cave Adventure (или просто Adventure), в честь которого и был собственно назван жанр. Игра была создана в 1976-м году Уильямом Кровером (Will Crowther). В тот период он работал инженером в компании Bolt, Beranek & Newman. Также является одним из создателей ARPANET. Кровер создал игру, в которой герой перемещался по различным помещениям пещеры с сокровищами и магией, для своих двух дочерей. Оригинальная версия состояла из 700 строк кода на языке Fortran и запускалась на компьютере BB&N«s PDP-10. Спустя годы выпускник Стэнфорда Дон Вудс нашел копию Adventure и с позволения Кровера расширил игру до 3000 строк программного кода, добавив новые локации и пазлы.

6c83de0f9662450d94fa97be6ca6d234.jpg

Оригинальную версию кода можно скачать тут: www.icynic.com/~don/jerz
А версию, дополненную Вудсом тут: rickadams.org/adventure/e_downloads.html

Apple DOS 3.1

Apple II, выпущенный в 1977-м году, использовал аудио кассеты, а не диски, для загрузки дополнительных программ и хранения данных. Вскоре после выпуска этого компьютера Стив Возняк разработал контроллер для дисков и Apple передал разработку программного обеспечения на аутсорсинг компании Shepardson Microsystems. Разработчик Пол Лугтон (Paul Laughton) создал DOS примерно за 35 дней, записывая код на перфокартах. Apple DOS 3.1 вышла в свет в июне 1978-го года.

1ed9a94013df4707bf5697afcab868f4.jpg

Исходный код DOS 3.1 можно скачать на сайте Музея компьютерной истории: www.computerhistory.org/atchm/apple-ii-dos-source-code

MS-DOS 1.1 и 2.0

Знаменитая на весь мир операционная система впервые была создана для персональных компьютеров IBM«s x86. Эта ОС не была написана с чистого листа, а основывалась на предыдущих версиях, 86-DOS (была написана Тимом Патерсоном из Seattle Computer Products, после приобретена Microsoft). Первая версия, MS-DOS 1.1 (названная в честь 86-DOS 1.1), была выпущена в 1981-м году. Исходный код этой ОС также содержит множество шуточных слов и фраз.

1b75a3a373364285b97d105d0427d6bc.jpg

http://www.slideshare.net/DmytroKikot/code-fun

А поковыряться в самом коде можно скачав его тут: www.computerhistory.org/atchm/microsoft-research-license-agreement-msdos-v1–1-v2–0

E.T. the Extra Terrestrial

E.T. («Инопланетянин») стал самым популярным фильмом 1980-х годов и основой для одной из самых худших игр всех времен. Желая заработать на популярности киноленты, компания Atari поручила Говарду Уоршоу создать игру для популярной в то время консоли 2600. Проблема в том, что из-за жадности и желания продать как можно больше копий игры именно в период Рождественских праздников, Atari выделила на проект всего 5 недель. В результате неразумных сроков пострадало качество игры, и ее продажи едва перевалили за 1,5 миллиона копий, 3,5 миллиона копий остались нереализованными. В 2006 году Денис Дебро переработал игру, исправив многочисленные баги и добавив в нее свои новые компоненты.

8621196f83f3499bbb15a66ab3f86b01.jpg

Оригинальную версию исходного кода можно скачать с Pastebin: pastebin.com/AaSYZTHt

А версию, измененную Дебро тут: www.neocomputer.org/projects/et

Wolfenstein 3D

Джон Д. Кармак и Джон Ромеро из id Software в 1992 году создали поистине культовую видео-игру, ставшую прародителем множества FPS, — Wolfenstein 3D. Изначально игра была разработана для компьютеров на базе MS-DOS, однако она дошла и до наших современных устройств, была портирована даже на iOS. Также Wolfenstein 3D дала толчок для появления Doom, Duke Nukem и Quake. Исходный код Wolfenstein 3D на ряду с проектом-сиквелом Spear of Destiny был опубликован еще в 1995 году.

c2df2629b21b40d78502aa994ee6f9c1.jpg

Скачать его можно тут: github.com/id-Software/wolf3d

MacPaint 1.3

MacPaint — знаменитое программное обеспечение для работы с растровыми изображениями. MacPaint был одним из 2 приложений, доступных на первых компьютерах Macintosh в январе 1984 года (второе — текстовое приложение MacWrite). Редактор изображений был разработан Вилли Аткинсоном, одним из первых творцов Macintosh, и основывался на его же более ранней разработке LisaSketch для компьютеров Apple Lisa. MacPaint предоставлял пользователям много тех функций, которые мы уже считаем обычным делом (инструмент заливки, захват изображения лассо). В 2010, с разрешения Стива Джобса, Музей компьютерной истории выпустил исходный код MacPaint 1.3, который содержит 5800 строк.

49fa4d5cf7bd40328b1a473eafe26b7d.jpg

Заинтересовавшиеся, вот ссылка для скачивания этого кода: s3data.computerhistory.org/102658076_macpaint_acc.zip
Внимание! При переходе по данной ссылке, скачивание начнется автоматически.

QuickDraw

QuickDraw — библиотека и API для рисования растровой графики в различных приложениях, в том числе и в MacPaint. Он также был на Macintosh с самого начала, с 1984 -го года. Устаревшим QuickDraw стал только с появлением OS X 10.4 (Tiger). А полностью ушел в отставку после выхода OS X 10.8 (Mountain Lion). Также, как и MacPaint, был разработан Биллом Аткинсоном. В 2010-м году исходный код из 17000 строк стал доступен общественности.

9e462c8e936c4bb8b6af1ca5f263f41c.jpg

Ссылка для скачивания: s3data.computerhistory.org/102658076_quickdraw_acc.zip
Внимание! При переходе по данной ссылке, скачивание начнется автоматически.

SimCity

Градостроительный симулятор без конца, без побед и поражений — SimCity стал первым в своем роде. Хоть он и был разработан еще в 1985-м году Уиллом Райтом, релиз состоялся только в 1989-м. Так как издательство боялось, что концепция бесконечной и бессюжетной игры не придется по вкусу покупателям. Однако, все мы знаем что они очень сильно ошибались. SimCity стала прародителем жанра и вдохновителем множества других игровых проектов, и была названа одной из 10 самых значимых игр в истории. Дон Хопкинс в 2008-м году выложил на своем сайте исходный код SimCity, но под названием Micropolis, поскольку игровой издатель EA владеет правами на торговую марку SimCity.

3d961eabdfbe4c3fb1885e3ef68ebf52.jpg

Ссылка для скачивания исходного кода SimCity: www.donhopkins.com/home/micropolis/micropolis-activity-source.tgz
Внимание! При переходе по данной ссылке, скачивание начнется автоматически.

Atari 7800 ProSystem OS + игры

Atari 7800 ProSystem (январь 1986-го) стала первой широко распространенной игровой консолью. Позиционировалась как домашняя консоль, потому обладала возможностью подключения клавиатуры и других периферийных устройств. В итоге, было разработано менее 100 игр под эту консоль. Потом порт для подключения периферийных устройств был убран в 1992-м году. В 2009-м году Музею Atari удалось спасти исходный код операционной системы и несколько игр, с выброшенных после закрытия компании в 1996-м году, дискет.

85b1f6f7a1084b3a9998c332e38b8736.jpg

А вот скачать данный код можно тут: www.atarimuseum.com/videogames/consoles/7800/games

Word for Windows 1.1a

Когда большинство людей думают о текстовом редакторе, они вспоминают Microsoft Word. Изначально это программное обеспечение было разработано для системы DOS в 1983-м под руководством Чарльза Симони, который также создал первый текстовый WYSIWYG обработчик Bravo для компании Xerox в 1974-м году. Изначально Microsoft Word уступил дорогу WordPerfect, но уже в 1989-м году в Windows появился именно этот текстовый редактор, ставший в последствии монополистом на Windows ОС.

7dd59912bb914685a1ca0bc6ba9d1792.jpg

Исходный код Word for Windows 1.1a доступен для скачивания на сайте Музея компьютерной истории: www.computerhistory.org/atchm/microsoft-research-license-agreement-msword-v-1–1a

Prince of Persia

Prince of Persia — фентезийная видео-игра, созданная под Apple II Джорданом Мекнером и изданная в октябре 1989-го года компанией Brøderbund Software. Свою невероятную популярность и похвальный отзывы как критиков так и самих игроков игра заполучила за счет своей невероятной анимации. Мекнером просматривал записи того, как его брат прыгает и бегает по парковке, после переносил все эти движения в саму игру. Prince of Persia стал локомотивом множества игр данной серии и даже полнометражного кинофильма. К сожалению оригинальный исходный код был давно утрачен, но Метнер нашел пачку старых дискет, которые когда-то решил сохранить. С них он и смог восстановить код и выпустить его в свет в 2012 году.

0cb40ee8ff634c77aff234e74ec902b6.jpg

На сайте GitHub Вы можете скачать данный исходный код: github.com/jmechner/Prince-of-Persia-Apple-II

Adobe Photoshop 1.0.1

Photoshop был разработан двумя братьями Томасом и Джоном Нолл в конце 1980-х. Изначально программа называлась просто Display, потом Image Pro. После того, как создатели осознали весь потенциал своего детища, они лицензировали проект под название Photoshop to Adobe. Версия 1.0 была выпущена в 1990 году (изначально только для компьютеров Mac). Продажи составили 3 миллиона копий за первые 10 лет. Изначальная версия исходного кода для версии 1.0.1 из 128000 строк (по большей части на языке Pascal) стала доступна для всех желающих в 2012 году.

33738ec6d9f04641a5827e497771b91f.jpg

Ссылка для скачивания исходного кода Adobe Photoshop 1.0.1: www.computerhistory.org/atchm/photoshop-software-license-agreement

Microsoft C# и Visual Basic

Visual Basic и Microsoft C# были разработаны Microsoft в 1991-м и 2000-х годах соответственно, как составляющие .NET Framework. Желая поделиться историей своих продуктов Microsoft предоставила исходный код платформы .NET compiler под названием Roslyn, который состоял из компиляторов для C# и Visual Basic.

da788f25b22f4943b79d974d38015c63.jpg

Скачать исходный код можно с сайта Roslyn: roslyn.codeplex.com/SourceControl/latest

Надеюсь, что данный список был полезен, ведь историю (не только цивилизаций, но и программирования) забывать не стоит. Она может научить нас многому. Понаблюдать, как создавался тот или иной культовый программный продукт и поковыряться в его «составе» — крайне интересно.

И напоследок:

Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Мартин Голдинг)

© Habrahabr.ru