Приклади класичного коду, який став Open Source



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


Бортовий керуючий комп'ютер КА Аполлон (AGC)

Місія Apollo на Місяць по праву вважається колосальним досягненням людства. Для її здійснення було зроблено не менш колосальна праця. Це відноситься і до програмного забезпечення, яке розроблялося MIT Instrumentation Lab. AGC було встановлено і на бортовий, і на місячний модулі для забезпечення наведення, навігації і керування. На честь 40-річчя місії Apollo 11 у 2009 році оригінальний код AGC був розшифрований і відсканований зі старих записів та надано у відкритому доступі.



Бажаючі ознайомитися з кодом 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 мов асемблера.



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

Xerox Alto OS

Alto — персональний комп'ютер, розроблений в Дослідницькому Центрі Пало Альто (PARC) корпорацією Xerox в 1973-му році. Він став революційним винаходом, оскільки володів графічним дисплеєм (чорно-білий монітор 606x808), а також клавіатурою та мишею. Ще більш видатним відзнакою була пам'ять 128 KB дисковий простір 2.5 MB, що вважалося досить багато в той час. Був і концепт робочого столу і графічного користувальницького інтерфейсу. Однак Alto ніколи не продавали, все 1500 примірників використовувалися виключно в межах компанії Xerox.



На сайті Музею комп'ютерної історії Ви можете завантажити не тільки ОС, але і безліч програмного забезпечення і утиліт, розроблених для Alto: PUP (PARC Універсальний 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.



Вихідний код перших версій 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 від Білла Гейтса.



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

Adventure

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



Оригінальну версію коду можна скачати тут: 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-го року.



Вихідний код 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-му році. Вихідний код цієї ОС також містить безліч жартівливих слів і фраз.



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 році Денис Дебро переробив гру, виправивши численні баги і додавши в неї свої нові компоненти.



Оригінальну версію вихідного коду можна скачати з 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 році.



Завантажити його можна тут: github.com/id-Software/wolf3d

MacPaint 1.3

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



Які зацікавилися, ось посилання для скачування цього коду: 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 рядків став доступний громадськості.



Посилання для скачування: s3data.computerhistory.org/102658076_quickdraw_acc.zip
Увага! При переході по даному посиланню, скачування почнеться автоматично.

SimCity

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



Посилання для скачування вихідного коду SimCity: www.donhopkins.com/home/micropolis/micropolis-activity-source.tgz
Увага! При переході по даному посиланню, скачування почнеться автоматично.

Atari 7800 ProSystem OS + ігри

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



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

Word for Windows 1.1 a

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



Вихідний код Word for Windows 1.1 a доступний для скачування на сайті Музею комп'ютерної історії: 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 році.



На сайті 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 році.



Посилання для скачування вихідного коду 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.



Завантажити вихідний код можна з сайту Roslyn: roslyn.codeplex.com/SourceControl/latest

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

І наостанок:
Завжди пишіть код так, ніби супроводжувати його буде схильний до насильства психопат, який знає, де ви живете. (Мартін Голдінг)

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.