SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-28

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

Дізнайтеся, як Unix виник у Bell Labs у 1969 році, чому AT&T ліцензувала код, як BSD програла Linux і до чого призвів позов 1992 року.

Коротко про історію Unix і Linux

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

1969: запасний PDP-7 ідеї, які збереглися

Bell Labs вийшла з проєкту Multics у 1969 році. 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 не могла продавати його як продукт. Компанія ліцензувала вихідний код за символічну плату, без підтримки та гарантій.

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

Потім ліцензію змінили. Ліцензія Seventh Edition 1979 року забороняла використовувати вихідний код на заняттях, тому коментарі 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 не була повною системою. Вона містила набір доповнень до 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 (portable operating system interface) виник із цього безладу. IEEE 1003.1 опублікували в 1988 році. У ньому визначено, що має робити Unix-подібна система: системні виклики, поведінку оболонки, стандартні утиліти та інтерфейси бібліотеки C. Це важливіше, ніж може здаватися, оскільки стандарт є специфікацією, а ліцензія на нього не поширюється. Через три роки студент написав ядро на основі цих документів.

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

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

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

GNU мав усе, крім kernel

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

GNU General Public License version 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 року Tanenbaum сказав Torvalds, що монолітне ядро є застарілим підходом. У його аргументах щодо архітектури був сенс, але Torvalds відповідав на інше питання: що добре працює на єдиному недорогому комп’ютері, який має студент.

У лютому 1992 року для версії 0.12 змінили ліцензію на GPL. Пізніше Torvalds назвав це своїм найкращим рішенням. Оригінальна ліцензія 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 подала зустрічний позов у California, стверджуючи, що 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 і на kernel фінського студента, якого ніхто не міг переслідувати в суді. Це був саме той період, коли з’явився веб і вийшли перші дистрибутиви Linux: Slackware у липні 1993 року, Debian у серпні 1993 року, а потім Red Hat і SUSE. Red Hat перетворив цю перевагу в часі на комерційний стандарт, а перехід від Red Hat Linux до CentOS, а потім до Rocky і AlmaLinux пояснює, чому дистрибутив, заснований у 1993 році, досі визначає, що працює на багатьох бізнес-серверах.

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

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

Технічне питання потрібно оцінювати чесно. У 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 сьогодні

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

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

Одна спадкова риса не пережила цей перехід: послідовність запуску через shell-скрипти, яку Linux успадкував від System V, тепер зникла майже в усіх дистрибутивах, а аргументація на користь заміни її на systemd стала найновішою суперечкою про те, якою має бути Unix-подібна система.

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

FAQ

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

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

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

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

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

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

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

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