SSD Nodes Learn 🎉 VPS від $5.50/міс
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-13

Історія Unix і Linux: від 1969 року до сьогодні

Як Unix став основою Linux: Bell Labs у 1969 році, ліцензії AT&T, BSD, позов 1992 року та причини, чому сервери обрали Linux, а не BSD.

Історія Unix і Linux коротко

Історія Unix і Linux — це тривала суперечка про те, кому дозволено володіти вихідним кодом. Unix виник у Bell Labs у 1969 році. Linux виник у Гельсінкі у 1991 році й не містить жодного фрагмента оригінального коду Unix. Між ними передавалися принципи побудови та набір опублікованих інтерфейсів: файли, процеси, канали й оболонка, яка поєднує невеликі програми. Unix поширився в університетах у 1970-х роках, оскільки антимонопольна угода 1956 року заборонила AT&T (American Telephone and Telegraph) продавати програмне забезпечення, тому Bell Labs натомість дешево ліцензувала вихідний код. Зрештою Unix був поширений усюди, але за межами AT&T не належав нікому, а подальші ліцензійні суперечки визначили, яка вільна Unix-подібна система опинилася у вашій серверній стійці.

1969: запасний PDP-7 та ідеї, що залишилися

У 1969 році Bell Labs вийшла з проєкту Multics. Multics (multiplexed information and computing service) була великою системою розподілу часу, яку створювали спільно з MIT і General Electric. У Labs вирішили, що її надто складно завершити. Ken Thompson залишив ідеї, які вважав корисними, а решту відкинув. Він написав невелику систему розподілу часу для списаного мінікомп’ютера PDP-7. До нього приєднався Dennis Ritchie. Назва Unix була жартом на адресу Multics.

У 1970 році систему перенесли на PDP-11, який Labs придбала для друкарок патентного відділу. Текстовий процесор було легше профінансувати, ніж операційну систему. Ця машина мала 24 KB оперативної пам’яті, розподіленої між системою та користувацькими програмами. Саме ця випадковість із фінансуванням пояснює, чому перший посібник Unix, датований листопадом 1971 року, був набором форматованих документів, а також чому ви досі вводите man 5 crontab. Номери розділів у тому посібнику є номерами розділів у вашому посібнику.

Дві зміни зробили цю конструкцію постійною. Канали з’явилися у Version 3 в 1973 році, оскільки Doug McIlroy роками доводив, що програми мають з’єднуватися послідовно. Thompson додав оператор |, завдяки якому вивід однієї програми ставав введенням наступної. Потім Version 4, пізніше у 1973 році, переписали мовою C. Операційну систему, написану переносимою мовою, можна перенести на обладнання, для якого її спочатку не створювали. Саме тому Unix пережила всі машини, на яких вона починалася.

Чому Unix поширився: AT&T не мав права його продавати

Указ про згоду 1956 року врегулював антимонопольну справу проти AT&T. AT&T зберегла монополію на телефонний зв’язок і натомість прийняла обмеження: компанія мала працювати лише у сфері телекомунікацій. Software була одним із бізнесів, якими їй було заборонено займатися. Тому, коли університети запитували Unix, Bell Labs не могла продавати його як продукт. Компанія ліцензувала source за символічну плату, без підтримки та гарантій.

Наслідки були значними, але AT&T не планувала такого результату. Sixth Edition Unix, випущений у 1975 році, потрапив до сотень факультетів computer science разом із повним source code. John Lions з University of New South Wales надрукував source code ядра з коментарями до кожного рядка та викладав за цим матеріалом. Ціле покоління вивчало принципи роботи operating system, читаючи справжню систему.

Потім ліцензія змінилася. Ліцензія Seventh Edition від 1979 року забороняла використовувати source у навчальних курсах, тому коментарі Lions поширювалися як фотокопії фотокопій. У цьому полягає суть усієї історії. Unix був одночасно всюди поширений і невільний, тому кожне вдосконалення, яке хтось робив, ставало вдосконаленням чужого proprietary code.

Berkeley: частини Unix, які ви фактично вводите

Ken Thompson провів 1975–1976 навчальний рік в University of California, Berkeley, і залишив після себе дуже активну Unix-групу. Computer Systems Research Group (CSRG) при Berkeley випускала стрічки з локальними вдосконаленнями, і ці стрічки стали основою BSD, Berkeley Software Distribution. Bill Joy написав значну частину ранніх компонентів: 1BSD у 1978 році, а потім 2BSD у 1979 році, до складу якого увійшли редактор vi і C shell.

Саме з C shell походять !! і !$. Bash успадкував цей синтаксис. Тому розгортання історії bash досі дивує користувачів, які вводять знак оклику в подвійних лапках через понад сорок років.

Потім DARPA (US Defense Advanced Research Projects Agency) профінансувала Berkeley для впровадження нових інтернет-протоколів у Unix. 4.2BSD, випущена в серпні 1983 року, містила TCP/IP (transmission control protocol over internet protocol) і socket application programming interface. Кожна мережева служба на вашому сервері досі викликає socket(), bind(), listen() і accept() саме в такому порядку, оскільки Berkeley обрала ці назви у 1983 році.

Одна деталь визначила наступне десятиліття. BSD tape не була повною системою. Це був набір доповнень до Unix від AT&T, і для законного запуску потрібна була чинна ліцензія AT&T на вихідний код. Протягом кількох років Berkeley замінювала компоненти AT&T власним кодом, файл за файлом. Питання про те, чи була ця заміна справді повною, згодом розглядалося в суді.

1984: розпад, а потім Unix-війни

Bell System розпалася 1 січня 1984 року, і разом із нею припинила діяти судова постанова, яка не дозволяла AT&T працювати в індустрії програмного забезпечення. Тепер AT&T могла продавати Unix як продукт — і саме це вона зробила. Комерційні ліцензії на вихідний код стали дорогими, тому Unix перестав бути дешевою системою, яку університет видавав студентам.

Постачальники вже розгалузили Unix на власні варіанти. Кожна компанія, що випускала робочі станції, постачала власний Unix для власного обладнання, тому наприкінці 1980-х програму, написану для однієї системи, потрібно було портувати на іншу. У 1988 році індустрія розділилася на два табори стандартів: з одного боку була Open Software Foundation, з іншого — Unix International. Протягом років вони постачали несумісні системи й сперечалися, чий Unix є справжнім.

POSIX (переносимий інтерфейс операційної системи) виник із цього безладу. Стандарт IEEE 1003.1 опублікували в 1988 році. У ньому визначено, що має робити Unix-подібна система: системні виклики, поведінку shell, стандартні утиліти та інтерфейси бібліотеки C. Це важливіше, ніж може здаватися, оскільки стандарт є специфікацією, а специфікація не може бути об’єктом ліцензії. Через три роки студент написав ядро на основі цих документів.

Minix і прогалина, що залишилася

Andrew Tanenbaum випустив Minix у 1987 році як навчальну систему для свого підручника з операційних систем. Minix була невеликою Unix-подібною системою, її вихідний код постачався разом із книгою, і вона працювала на недорогих ПК, які студенти справді мали. Її було законно читати в аудиторії, чого вже не можна було сказати про Seventh Edition Unix.

Minix навмисно залишалася невеликою, оскільки її потрібно було пояснити в книзі, а Tanenbaum відхиляв патчі, які могли б перетворити її на production-систему. Ліцензія також не була вільною: потрібно було придбати книгу, а рішення про розповсюдження зміненої Minix приймали не ви. Тож у 1991 році студент міг прочитати робоче Unix-подібне ядро, але не міг створити на його основі нічого довговічного.

У GNU було все, крім ядра

Річард Столлман оголосив про проєкт GNU у вересні 1983 року. Його метою була повністю вільна Unix-подібна система. До 1991 року GNU створив більшість компонентів, що оточують ядро: компілятор GCC, бібліотеку GNU C, бінарні утиліти та bash — оболонку, яку Браян Фокс написав у 1989 році і в якій ваш сервер досі запускає для вас сеанс. Ядро GNU, Hurd, залишалося компонентом, розробка якого постійно відкладалася.

GNU General Public License версії 2 опублікували в червні 1991 року. Її правило просте. Ви можете використовувати код і змінювати його, але якщо поширюєте результат, то маєте поширювати вихідний код на тих самих умовах. Це правило стане ключовим для цієї історії через два розділи.

Серпень 1991 року: повідомлення до comp.os.minix

25 серпня 1991 року студент із Гельсінкі опублікував повідомлення в групі Usenet comp.os.minix:

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones.

Версію 0.01 випустили у вересні 1991 року. Вона не містила спільного коду ні з Unix, ні з Minix. Це було нове ядро для 386, розроблене на машині з Minix, написане з використанням інтерфейсів POSIX і поєднане з інструментами GNU, які вже існували. У січні 1992 року Таненбаум сказав Торвальдсу, що монолітне ядро є застарілою архітектурою. Щодо архітектури він мав рацію, але Торвальдс відповідав на інше питання: що добре працює на єдиному недорогому комп’ютері, який має студент.

У лютому 1992 року версію 0.12 перевипустили за ліцензією GPL. Пізніше Торвальдс назвав це своїм найкращим рішенням. Початкова ліцензія Linux забороняла будь-які грошові розрахунки, що заблокувало б подальшу появу продавців CD і компаній, які надавали підтримку. GPL дозволила комерційне використання, водночас вимагаючи повертати кожну поширену зміну до того самого спільного дерева коду.

Позов: квітень 1992 року — лютий 1994 року

У червні 1991 року Berkeley випустив Networking Release 2 (Net/2): майже повну систему BSD, з якої вилучили файли, похідні від AT&T. Бракувало шести файлів ядра. Bill і Lynne Jolitz написали заміни та випустили 386BSD 0.0 у березні 1992 року, а потім 386BSD 0.1 14 липня 1992 року. Тепер існувала безкоштовна, повна й зріла BSD для 386, тоді як Linux усе ще був аматорським ядром. Berkeley Software Design, Inc. (BSDi) продавала комерційну збірку BSD/386 із підтримкою та рекламувала її за телефонним номером 1-800-ITS-UNIX.

У квітні 1992 року Unix System Laboratories (USL), дочірня компанія AT&T, якій на той час належав Unix, подала до федерального суду в Нью-Джерсі позов проти BSDi через комерційні таємниці та торговельну марку Unix. Згодом позов доповнили, додавши до нього Regents of the University of California. У 1993 році University подала зустрічний позов у Каліфорнії, стверджуючи, що AT&T постачала код Berkeley у складі System V без зазначення авторства, якого вимагала власна ліцензія AT&T.

У 1993 році юридичні підстави справи почали руйнуватися. Суддя Dickinson Debevoise відмовив USL у попередній судовій забороні, вважаючи, що вимога USL щодо авторських прав на старіший код 32V, імовірно, була недійсною, оскільки AT&T роками поширювала цей код без повідомлень про авторські права. У середині 1993 року Novell придбала USL у AT&T, і керівництво Novell прагнуло завершити конфлікт. У лютому 1994 року сторони досягли мирової угоди. Із приблизно 18,000 файлів дистрибутива Berkeley вилучили три, а приблизно для сімдесяти додали повідомлення про авторські права USL.

У червні 1994 року Berkeley випустив 4.4BSD-Lite, яка не мала юридичних проблем. FreeBSD і NetBSD, обидві засновані у 1993 році на спірному коді Net/2, після цього мусили перебудувати свої системи на новій основі. На це пішла більша частина решти 1994 року. Linux 1.0 випустили в березні 1994 року, у розпал цієї перебудови.

Чому Linux захопив сервери, а не BSD?

Позов — популярна відповідь, і це справді одна з причин. У період із квітня 1992 року до лютого 1994 року кожен, хто обирав вільний Unix для продукту, мав зважати на чинні претензії юристів AT&T і на ядро фінського студента, проти якого ніхто не міг подати позов. Саме в цей період з’явився веб і вийшли перші дистрибутиви Linux: Slackware у липні 1993 року, Debian у серпні 1993 року, а потім Red Hat і SUSE.

Ще чотири чинники були не менш важливими, ніж судова справа.

  • Апаратне забезпечення. Linux від першого рядка коду орієнтувався на масовий ПК 386, і саме це обладнання стало дешевим. Центром екосистеми BSD були VAX і робочі станції, а порт для 386 розробляли дві сторонні особи.
  • Ліцензія. GPL зобов’язує компанію, яка постачає змінене ядро, оприлюднювати свої зміни, тому напрацювання виробників поверталися до одного дерева коду. Ліцензія BSD дозволяє компанії залишати свої зміни закритими, і компанії саме так і робили.
  • Модель розробки. Torvalds швидко об’єднував патчі від незнайомих розробників і постійно випускав нові версії. 386BSD розвивався настільки повільно, що його власні користувачі двічі створили форки у 1993 році — NetBSD і FreeBSD, а потім ще один форк, OpenBSD, у 1995 році.
  • Інерція. Розробники переходять туди, де вже працюють інші розробники, а драйвери пишуть для системи з найбільшою кількістю користувачів.

Потрібно чесно відповісти на технічне запитання. У 1994 році BSD була більш завершеною системою зі зв’язною базою, документованою історією та мережевим кодом, наздогнати який Linux витратив роки. У 1994 році ніхто не обирав Linux, бо він був кращим. Його обирали тому, що він був доступним, не обтяженим юридичними обмеженнями, працював на вже наявному обладнанні та вдосконалювався щотижня.

Що зберіг BSD і де його використовують тепер

BSD продовжив розвиватися. Він утратив не актуальність, а статус системи за замовчуванням. Найочевидніший доказ є на вашому власному комп’ютері: проєкт OpenBSD створив OpenSSH у 1999 році, і сьогодні це SSH-сервер майже в кожній системі Linux, що постачається користувачам. Саме тому звички роботи з SSH-ключами, які варто опанувати однакові в обох сімействах систем.

Netflix передає відео з пристроїв на FreeBSD. Junos, операційна система маршрутизаторів Juniper, працює поверх FreeBSD. Системне програмне забезпечення PlayStation походить від FreeBSD. macOS та iOS від Apple містять код BSD у ядрі та в усьому userland. Ліберальна ліцензія, через яку BSD утратив спільне дерево серверного програмного забезпечення, водночас забезпечила присутність коду BSD у великій кількості обладнання, де про нього прямо не згадують.

Якщо ви обираєте систему сьогодні, питання має практичний, а не історичний характер. Порівняння Linux і FreeBSD як серверних систем зводиться до ZFS, jail, дерева ports і того, яка частина стороннього програмного забезпечення розраховує на Linux як базову систему. FreeBSD 15 як серверна система — це сучасна система, що підтримується, а не музейний експонат. А Linux і Windows Server — окреме питання, відповідь на яке залежить від вашого стека застосунків.

Дизайн 1969 року, яким ви користуєтеся на VPS сьогодні

Кожен із цих компонентів старший за більшість людей, які ним користуються.

  • Канал. who | wc -l підраховує авторизованих користувачів, оскільки Version 3 Unix у 1973 році дав змогу використовувати вивід однієї програми як вхідні дані для іншої.
  • Розділи довідника. man 1 ls і man 5 crontab використовують схему нумерації з довідника, опублікованого в листопаді 1971 року.
  • Поділ файлової системи. /usr існує тому, що кореневий диск на тому PDP-11 заповнився у 1971 році, і розробники перемістили файли на другий дисковий пакет. Відтоді дистрибутиви скасували цей поділ: виконайте ls -ld /bin в Ubuntu 24.04 або Debian 13 — і отримаєте символічне посилання на usr/bin.
  • Виклики сокетів. Berkeley написала їх для 4.2BSD у 1983 році, і кожен мережевий daemon досі їх використовує.
  • POSIX. Скрипт #!/bin/sh, написаний відповідно до стандарту, працює без змін у Linux, FreeBSD, macOS і Solaris, оскільки всі вони реалізували саме цей стандарт.

Коли ви орендуєте віртуальний приватний сервер і входите до системи, ви вводите команди через інтерфейс, розроблений для машини з 24 KB пам’яті та патентним відділом. Він зберігся, оскільки його опублікували, обговорили, стандартизували, а потім реалізували з нуля люди, яким ніколи не дозволяли бачити оригінальний код.

FAQ

Чи містить Linux оригінальний код Unix?

Ні. Linus Torvalds написав ядро з нуля, починаючи з 1991 року, орієнтуючись на інтерфейси POSIX, а не на будь-який вихідний код AT&T. Спадковість Unix — це принципи проєктування та опублікований інтерфейс: файли, процеси, канали й назви системних викликів. Інструменти GNU навколо ядра також написали з нуля, починаючи з 1983 року. Саме ця незалежність стала причиною того, що судовий спір AT&T щодо коду BSD взагалі не торкнувся Linux.

Коли відбувся позов AT&T проти BSD і чи знищив він BSD?

USL, дочірня компанія AT&T, якій належав Unix, подала позов проти BSDi у квітні 1992 року, а згодом додала University of California до списку відповідачів. У 1993 році суддя відмовив у попередній судовій забороні, дійшовши висновку, що вимога щодо авторських прав на старіший код 32V, імовірно, була необґрунтованою. Novell придбала USL у середині 1993 року та врегулювала справу в лютому 1994 року: з приблизно 18,000 файлів вилучили три, а для близько сімдесяти додали нові повідомлення про авторські права. Це не знищило BSD. Судовий спір на два роки призупинив поширення BSD саме в період, коли світ обирав вільну Unix-систему.

Чому Linux витіснив BSD на серверах?

Однією з причин була юридична визначеність: протягом 1992 і 1993 років проти Linux не було позову, тоді як проти BSD позов тривав. Іншими причинами були орієнтація на 386 із самого початку, GPL, яка повертала зміни постачальників до єдиного дерева коду, і достатньо швидкий процес злиття змін, щоб зберігати зацікавленість учасників, тоді як 386BSD розділився на три гілки. Технічні переваги не були вирішальним фактором, оскільки у 1994 році BSD була більш завершеною системою.

Чи варто використовувати FreeBSD сьогодні?

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