Уся історія Linux. Частина I: з чого все почалося

Цього року ядру Linux виповнюється 27 років. ОС на його базі використовують багато корпорацій, державних, дослідних установ та дата-центри по всьому світу.

За більш ніж чверть століття вийшло чимало статей (у тому числі і на Хабрі), які розповідають про різні відрізки історії Linux. У цій серії матеріалів ми вирішили виділити найбільш значущі та цікаві факти, пов'язані з цією операційною системою.

Почнемо з розробок, що передували Linux, та історії появи першої версії ядра.

Уся історія Linux. Частина I: з чого все почалося
/Flickr/ Toshiyuki IMAI / CC BY-SA

Епоха «вільного ринку»

Поява Linux вважається однією з найважливіших подій історії відкритого ПЗ. Народження цієї операційної системи багато в чому завдячує ідеям та інструментам, які формувалися і «зріли» десятиліттями серед розробників. Тому спочатку звернемося до витоків «опенсорсного руху».

На зорі 50-х більшість програмного забезпечення США створювалася співробітниками університетів і лабораторій і поширювалася без будь-яких обмежень. Це робилося з метою спрощення обміну знаннями у науковому середовищі. Першим опенсорним рішенням того періоду вважається система A-2, написана для ЕОМ UNIVAC Remington Rand у 1953 році.

У ті роки сформувалася перша група розробників вільного ПО — SHARE. Вони працювали за моделлю «спільного однорангового виробництва». Результатом праці цієї групи ближче до кінця 50-х стала однойменна ОС.

Ця система (та інші продукти SHARE) користувалася популярністю у виробників комп'ютерного устаткування. Завдяки політиці відкритості вони могли запропонувати клієнтам як апаратне, а й програмне забезпечення без додаткових витрат.

Прихід комерції та народження Unix

У 1959 році компанія Applied Data Research (ADR) отримала замовлення від організації RCA. написати програму для автозаповнення блок-схем. Розробники виконали роботу, але не зійшлися з RCA у ціні. Щоб не викидати готовий продукт, в ADR переробили рішення для платформи IBM 1401 і почали самостійно його реалізовувати. Однак продажі йшли не дуже добре, оскільки багато користувачів чекали на безкоштовну альтернативу рішенню ADR, яку планували в IBM.

В ADR не могли допустити випуску безкоштовного продукту з аналогічною функціональністю. Тому розробник Мартін Гетц (Martin Goetz) з ADR подав патент на програму і в 1968 першим в історії США отримав його. З цього моменту прийнято відраховувати епоху комерціалізації в індустрії розробки - з «бонусу» до обладнання ПЗ перетворилося на самостійний продукт.

Приблизно водночас невелика команда програмістів із Bell Labs розпочала роботу над операційною системою для міні-комп'ютера PDP-7 - Unix. Unix створювали як альтернативу інший ОС — Multics.

Остання була надто складною і працювала тільки на платформах GE-600 і Honeywell 6000. Переписана мовою СІ Unix повинна була стати портативною та більш простою у використанні (багато в чому завдяки ієрархічній файловій системі з єдиним кореневим каталогом).

У 50-х холдинг AT&T, до складу якого на той момент входила Bell Labs, підписав угода з урядом США, яка забороняє корпорації продавати програмне забезпечення. Тому перші користувачі Unix — наукові організації — отримували вихідний код ОС безкоштовно.

AT&T віддалилася від концепції вільного поширення на початку 80-х. В результаті вимушеного розділення корпорації на кілька компаній заборона на продаж ПЗ перестала діяти, і холдинг припинив безкоштовне розповсюдження Unix. Розробникам загрожували позови за несанкціонований обмін вихідним кодом. Загрози були безпідставними — з 1980 року комп'ютерні програми стали об'єктом авторського права США.

Не всіх розробників влаштовували умови, що диктували в AT&T. Пошуками альтернативного рішення зайнялася група ентузіастів із Каліфорнійського університету у Берклі. У 70-х навчальний заклад отримав ліцензію від AT&T і ентузіасти почали створювати на його основі новий дистрибутив, який згодом став Unix Berkeley Software Distribution, або BSD.

Відкрита Unix-подібна система здобула успіх, на що відразу звернули увагу в AT&T. Компанія подано до суду, і авторам BSD довелося видалити та замінити весь задіяний вихідний код Unix. Це трохи сповільнило поширення Berkeley Software Distribution у роки. Остання версія системи вийшла у 1994 році, але сам факт появи вільної та відкритої ОС став важливою віхою в історії опенсорсних проектів.

Уся історія Linux. Частина I: з чого все почалося
/Flickr/ Крістофер Мішель / CC BY / Фото обрізане

Назад - до витоків вільного ПЗ

Наприкінці 70-х співробітники Массачусетського технологічного інституту писала драйвер для принтера, встановлений в одній з аудиторій. Коли папір застряг і створювалася черга із завдань друку, користувачі отримували повідомлення з проханням усунути проблему. Згодом у відділі з'явився новий принтер, для якого співробітники захотіли додати таку функцію. Але для цього був потрібен вихідний код першого драйвера. Штатний програміст Річард Меттью Столлман (Richard M. Stallman) запросив його у колег, але отримав відмову - з'ясувалося, що це конфіденційна інформація.

Цей незначний епізод, можливо, став однією з доленосних історія вільного ПЗ. Столлман обурювався через стан речей. Його не влаштовували обмеження, що накладаються на обмін вихідним кодом в ІТ-середовищі. Тому Столлман вирішив створити відкриту операційну систему та дозволити ентузіастам вільно вносити до неї зміни.

У вересні 1983 року він оголосив про створення проекту GNU - GNU's Not UNIX ("GNU не Unix"). В його основі лежав маніфест, який послужив і базисом ліцензії на вільне програмне забезпечення — GNU General Public License (GPL). Цей крок став початком активного руху за відкрите програмне забезпечення.

Через кілька років професор Амстердамського вільного університету Ендрю Таненбаум (Andrew S. Tanenbaum) як навчальний посібник розробив Unix-подібну систему Minix. Він хотів зробити її максимально доступною для студентів. Видавець його книги, до якої додавалася ОС, наполягав хоча б на номінальній платі за роботу із системою. Ендрю та видавець дійшли компромісу за ціною ліцензії у $69. На початку 90-х Minix завоювала популярність серед розробників. І їй судилося стати основою розробки Linux.

Уся історія Linux. Частина I: з чого все почалося
/Flickr/ Крістофер Мішель / CC BY

Народження Linux та перших дистрибутивів

У 1991 році молодий програміст з університету Хельсінкі Лінус Торвальдс опановував Minix. Його експерименти з ОС переросли в роботу над новим ядром. 25 серпня Лінус влаштував відкрите опитування групи користувачів Minix про те, що їх не влаштовує в цій ОС, анонсував розробку нової операційної системи. У серпневому листі є кілька важливих тез про майбутню ОС:

  • система буде безкоштовною;
  • система буде схожа на Minix, але вихідний код буде зовсім іншим;
  • система не буде «великою та професійною, як GNU».

25 серпня прийнято вважати днем ​​народження Linux. Сам Лінус веде відлік від іншої дати – 17 вересня. Саме в цей день він завантажив перший реліз Linux (0.01) на FTP-сервер і відправив електронний лист людям, які виявили інтерес до його анонсу та опитування. У вихідному коді першого релізу збереглося слово Freaks. Так Торвальдс планував назвати своє ядро ​​(комбінація слів "free", "freak" та Unix). Адміністратору FTP-сервера не сподобалася назва, і він перейменував проект на Linux.

Далі була черга оновлень. У жовтні того ж року було випущено версію ядра 0.02, а в грудні — 0.11. Спочатку Linux розповсюджувався без ліцензії GPL. Це означало, що розробники могли користуватися ядром, модифікувати його, але не мали права перепродувати результати своєї праці. Починаючи з лютого 1992 року, всі комерційні обмеження було знято - з релізом версії 0.12 Торвальдс змінив ліцензію на GNU GPL v2. Цей крок Лінус пізніше назвав одним із визначальних факторів успіху Linux.

Популярність Linux серед розробників Minix зростала. Деякий час обговорення велися у фіді comp.os.minix мережі Usenet. На початку 92-го автор Minix Ендрю Таненбаум запустив у спільноті суперечка про архітектуру ядер, заявивши, що «Linux застарів». Причина, на його думку, полягала в монолітному ядрі ОС, яке за низкою параметрів поступається мікроядру Minix. Ще одна претензія Таненбаума стосувалася «прив'язки» Linux до лінійки процесорів x86, яка, за прогнозами професора, мала канути в небуття найближчим часом. У полеміку вступив сам Лінус та користувачі обох ОС. В результаті суперечки спільнота розділилася на два табори, а у прихильників Linux з'явився свій фід - comp.os.linux.

Спільнота займалася розширенням функціональності базової версії – розроблялися перші драйвери, файлова система. Найраніші версії Linux уміщалися на двох дискетах і складалися із завантажувального диска з ядром та кореневого диска, який встановлював файлову систему та кілька базових програм із інструментарію GNU.

Поступово співтовариство почало розробляти перші дистрибутиви з урахуванням Linux. Більшість ранніх версій створювалися ентузіастами, а чи не компаніями.

Перший дистрибутив – MCC Interim Linux – був створений на основі версії 0.12 у лютому 1992 року. Його автор – програміст з Комп'ютерного центру університету Манчестера. назвав розробку «експериментом» з метою усунути деякі недоліки у процедурі встановлення ядра та додати низку функцій.

Незабаром після цього кількість користувачів дистрибутивів значно зросла. Багато хто з них залишився локальними проектами,прожилине більше п'яти років, наприклад, Softlanding Linux System (SLS). Однак були й дистрибутиви, яким вдалося не лише «закріпитися» на ринку, а й багато в чому вплинути на розвиток опенсорсних проектів. У 1993 році відбувся реліз двох дистрибутивів - Slackware і Debian - які дали старт серйозним змінам в індустрії вільного ПЗ.

Debian створив Іан Мердок (Ian Murdock) за підтримки Free Software Foundation Столлмана. Він замислювався як «витончена» альтернатива SLS. Debian підтримується до цього дня і є однією з найпопулярніших розробок з урахуванням Linux. На його основі, у свою чергу, було створено низку інших важливих для історії ядра дистрибутивів, наприклад Ubuntu.

Що стосується Slackware, це ще один ранній і успішний проект на базі Linux. Його перша версія вийшла 1993 року. за деяким оцінкамЧерез два роки на частку Slackware припадало вже близько 80% установок Linux. І через десятиліття дистрибутив залишався популярним серед розробників.

1992-го в Німеччині була заснована компанія SUSE (абревіатура від Software- und System-Entwicklung — розробка програмного забезпечення та систем). Вона перша почала випускати продукти з урахуванням Linux для бізнес-клієнтів. Першим дистрибутивом, з яким стали працювати SUSE, був Slackware, адаптований для німецькомовних користувачів.

Саме з цього моменту починається епоха комерціалізації в історії Linux, про яку ми поговоримо у наступній статті.

Пости з корпоративного блогу 1cloud.ru:

Джерело: habr.com

Додати коментар або відгук