SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-26

История Unix и Linux: от Bell Labs до наших дней

Узнайте, как лицензионные ограничения AT&T и судебный иск 1992 года повлияли на развитие BSD и Linux. Разбираем переход от проприетарного Unix к открытым серверным системам.

Краткая история Unix и Linux

История Unix и Linux — это затяжной спор о том, кому принадлежат права на исходный код. Разработка Unix началась в Bell Labs в 1969 году. История Linux началась в Хельсинки в 1991 году, и этот проект не содержит исходного кода Unix. Между ними сохранились общие принципы проектирования и набор опубликованных интерфейсов: файлы, процессы, каналы (pipes) и командная оболочка (shell), объединяющая небольшие программы в единую систему. В 1970-х годах Unix распространился в университетах, так как антимонопольное соглашение 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, и в лаборатории решили, что проект слишком велик для завершения. Кен Томпсон сохранил понравившиеся ему идеи, отбросив остальное, и написал небольшую систему разделения времени на списанном мини-компьютере PDP-7. К нему присоединился Деннис Ритчи. Название Unix было шуткой в адрес Multics.

В 1970 году система была перенесена на PDP-11, которую лаборатория приобрела для машинисток патентного отдела, так как получить финансирование на инструмент для обработки текста было проще, чем на операционную систему. У этой машины было 24 KB оперативной памяти, разделяемой между системой и пользовательскими программами. Благодаря этому случайному финансированию первое руководство по Unix, датированное ноябрем 1971 года, представляло собой набор отформатированных документов, и именно поэтому вы до сих пор вводите man 5 crontab. Номера разделов в том руководстве соответствуют номерам разделов в вашем.

Два изменения сделали архитектуру системы постоянной. В 1973 году в Version 3 появились каналы (pipes), поскольку Дуг Макилрой годами доказывал, что программы должны соединяться друг с другом последовательно, и Томпсон добавил оператор |, чтобы вывод одной программы становился вводом для другой. Затем Version 4, вышедшая позднее в 1973 году, была переписана на C. Операционная система, написанная на переносимом языке, может быть запущена на оборудовании, для которого она не создавалась, — именно поэтому Unix пережила все машины, на которых она изначально работала.

Почему Unix получил распространение: AT&T было запрещено продавать его

В 1956 году мировое соглашение завершило антимонопольное дело против AT&T. Компания сохранила монополию на телефонную связь, но приняла ограничение: она должна была воздерживаться от ведения бизнеса вне сферы телекоммуникаций. Программное обеспечение относилось к числу таких сфер. Поэтому, когда университеты запрашивали Unix, Bell Labs не могла продавать его как коммерческий продукт. Она лицензировала исходный код за символическую плату, без технической поддержки и гарантий.

Результат оказался значительным, и он не входил в планы AT&T. Sixth Edition Unix, выпущенная в 1975 году, попала в сотни кафедр информатики вместе с полным исходным кодом. Джон Лайонс из Университета Нового Южного Уэльса напечатал этот код ядра с построчными комментариями и использовал его в обучении. Целое поколение узнало, как работает операционная система, изучая реальный пример.

Затем условия лицензирования изменились. Лицензия Seventh Edition в 1979 году запретила использование исходного кода в учебных целях, поэтому комментарии Лайонса распространялись в виде ксерокопий с ксерокопий. Такова суть всей этой истории. Unix был повсюду и одновременно оставался несвободным, поэтому любое улучшение, сделанное кем-либо, становилось улучшением чужого проприетарного кода.

Berkeley: компоненты Unix, которые вы используете на практике

Кен Томпсон провел 1975–1976 учебный год в Калифорнийском университете в Беркли, оставив после себя очень активную группу разработчиков Unix. Группа компьютерных системных исследований (CSRG) Беркли рассылала ленты с локальными улучшениями, и эти ленты стали основой BSD (Berkeley Software Distribution). Билл Джой выполнил большую часть ранней работы: 1BSD в 1978 году, затем 2BSD в 1979 году, в которую вошли редактор vi и C shell.

C shell — это источник функциональности !! и !$. Bash унаследовал этот синтаксис, поэтому расширение истории в bash до сих пор удивляет пользователей, которые вводят восклицательный знак внутри двойных кавычек спустя сорок с лишним лет.

Затем DARPA (Агентство передовых оборонных исследовательских проектов США) профинансировало внедрение новых интернет-протоколов в Unix силами Беркли. Версия 4.2BSD, выпущенная в августе 1983 года, включала TCP/IP (протокол управления передачей поверх межсетевого протокола) и программный интерфейс сокетов. Любой сетевой сервис на вашем сервере до сих пор вызывает socket(), bind(), listen() и accept() именно в таком порядке, поскольку эти названия были выбраны в Беркли в 1983 году.

Одна деталь определила развитие событий на следующее десятилетие. Лента BSD не была полноценной системой. Это был набор дополнений к Unix от AT&T, и для легального использования требовалась действующая лицензия на исходный код AT&T. В течение нескольких лет Беркли заменял компоненты AT&T собственным кодом, файл за файлом. Вопрос о том, была ли эта замена действительно полной, позже стал предметом судебного разбирательства.

1984: распад и Unix-войны

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

Поставщики уже успели создать свои форки. Каждая компания-производитель рабочих станций поставляла собственный Unix для своего оборудования, поэтому к концу 1980-х годов программу, написанную для одной системы, приходилось портировать на другую. В 1988 году индустрия разделилась на два лагеря: Open Software Foundation с одной стороны и Unix International с другой. Они годами выпускали несовместимые системы, споря о том, чей Unix является настоящим.

POSIX (portable operating system interface) появился как результат этого хаоса. Стандарт IEEE 1003.1 был опубликован в 1988 году; в нем было зафиксировано, что именно должна делать Unix-подобная система: системные вызовы, поведение shell, стандартные утилиты и интерфейсы библиотеки C. Это важнее, чем кажется, поскольку стандарт — это спецификация, на которую не распространяются лицензии. Три года спустя студент написал ядро, опираясь на эти документы.

Minix и оставленный им пробел

Эндрю Таненбаум выпустил Minix в 1987 году в качестве учебной системы для своего учебника по операционным системам. Minix была небольшой Unix-подобной системой, исходный код которой прилагался к книге, и она работала на недорогих ПК, которые действительно были у студентов. Её было законно изучать в аудитории, в отличие от Seventh Edition Unix, которая к тому времени перестала быть таковой.

Minix намеренно оставалась компактной, так как её устройство должно было быть объяснимым в рамках книги, и Таненбаум отклонял патчи, которые могли бы превратить её в промышленную систему. Лицензия также не была свободной: вы покупали книгу, и право на распространение модифицированной версии 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 года Калифорнийский университет в Беркли выпустил Networking Release 2 (Net/2) — практически полноценную систему BSD, из которой были удалены файлы, производные от AT&T. В дистрибутиве отсутствовало шесть файлов ядра. Билл и Линн Джолиц написали их аналоги и в марте 1992 года выпустили 386BSD 0.0, а 14 июля 1992 года — 386BSD 0.1. В тот момент, когда Linux был лишь любительским ядром, появилась свободная, полная и зрелая версия BSD для архитектуры 386. Компания Berkeley Software Design, Inc. (BSDi) начала продавать коммерческую версию с поддержкой под названием BSD/386, рекламируя её по номеру телефона 1-800-ITS-UNIX.

В апреле 1992 года Unix System Laboratories (USL), дочерняя компания AT&T, владевшая на тот момент правами на Unix, подала в федеральный суд Нью-Джерси иск против BSDi, обвинив её в нарушении коммерческой тайны и незаконном использовании товарного знака Unix. Позже иск был дополнен требованиями к Регентам Калифорнийского университета. В 1993 году университет подал встречный иск в Калифорнии, утверждая, что AT&T включала код Беркли в состав System V, не указывая авторство, как того требовала лицензия.

В 1993 году правовая позиция истца начала рушиться. Судья Дикинсон Дебевуаз отказал USL в предварительном судебном запрете, посчитав, что претензии USL на авторские права в отношении старого кода 32V, вероятно, не имеют силы, так как AT&T годами распространяла этот код без уведомлений об авторских правах. В середине 1993 года компания Novell выкупила USL у AT&T, и руководство Novell решило прекратить тяжбу. Дело было урегулировано в феврале 1994 года. Из примерно 18 000 файлов в дистрибутиве Беркли три были удалены, а около семидесяти получили уведомления об авторских правах USL.

В июне 1994 года Беркли выпустил 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. Red Hat превратила это преимущество в коммерческий стандарт, и путь от Red Hat Linux к CentOS, а затем к Rocky и AlmaLinux объясняет, почему дистрибутив, основанный в 1993 году, до сих пор определяет, что работает на огромном количестве бизнес-серверов.

Четыре других фактора имели не меньшее значение, чем судебное разбирательство.

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

Будем честны в техническом вопросе. В 1994 году BSD была более завершенной системой с целостной базой, документированной историей и сетевым кодом, который Linux догонял годами. В 1994 году никто не выбирал Linux потому, что он был лучше. Его выбирали, потому что он был доступен, не обременен юридическими рисками, работал на уже имеющемся оборудовании и улучшался каждую неделю.

What BSD kept, and where it runs now

BSD kept going. What it lost was the default position. The clearest evidence sits on your own machine: the OpenBSD project wrote OpenSSH in 1999, and it is the SSH server on nearly every Linux system shipped today, which is why the SSH key habits worth learning are identical on both families.

Netflix serves video from FreeBSD appliances. Junos, the operating system on Juniper routers, is FreeBSD underneath. The PlayStation system software descends from FreeBSD. Apple's macOS and iOS carry BSD code in the kernel and across the userland. The permissive license that cost BSD the shared server tree put BSD code inside a great deal of hardware that never mentions it.

If you are choosing today, the question is practical rather than historical. Comparing Linux and FreeBSD as a server comes down to ZFS, jails, the ports tree, and how much third party software assumes Linux underneath. FreeBSD 15 as a server is a current, maintained system rather than a museum exhibit. And Linux against Windows Server is a separate question with an answer that depends on your application stack.

Дизайн 1969 года, который вы используете на VPS сегодня

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

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

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

Когда вы арендуете виртуальный выделенный сервер и входите в систему, вы работаете с интерфейсом, разработанным для машины с 24 КБ памяти и патентным отделом на службе. Он выжил, потому что интерфейс был опубликован, обсужден, стандартизирован, а затем переписан с нуля людьми, которым никогда не разрешалось видеть исходный код.

FAQ

Содержит ли Linux оригинальный код Unix?

Нет. Линус Торвальдс написал ядро с нуля, начиная с 1991 года, ориентируясь на интерфейсы POSIX, а не на исходный код AT&T. Наследие Unix заключается в архитектуре и опубликованных интерфейсах: файлах, процессах, каналах (pipes) и именах системных вызовов. Инструменты GNU, окружающие ядро, также были написаны с нуля, начиная с 1983 года. Эта независимость — причина, по которой судебные иски AT&T по поводу кода BSD никак не затронули Linux.

Когда был подан иск AT&T против BSD и погубил ли он BSD?

USL, дочерняя компания AT&T, владевшая Unix, подала в суд на BSDi в апреле 1992 года, а позже добавила Калифорнийский университет в качестве ответчика. В 1993 году судья отказал в предварительном судебном запрете, постановив, что претензия по авторским правам на старый код 32V, скорее всего, недействительна. Novell купила USL в середине 1993 года и урегулировала дело в феврале 1994 года: три файла из примерно 18 000 были удалены, а примерно семидесяти файлам были присвоены новые уведомления об авторских правах. Это не погубило BSD. Иск заморозил внедрение BSD на два года, в то время как мир выбирал свободный Unix.

Почему Linux занял серверный сегмент вместо BSD?

Юридическая определенность была одной из причин: в течение 1992 и 1993 годов Linux не был объектом судебных исков, в то время как BSD — был. Другими причинами стали ориентация на архитектуру 386 с первого дня, лицензия GPL, возвращающая изменения от поставщиков в единое дерево, и процесс слияния кода, достаточно быстрый для поддержания интереса участников, в то время как 386BSD разделилась на три ветки. Техническое превосходство не было решающим фактором, так как в 1994 году BSD была более завершенной системой.

Стоит ли использовать FreeBSD сегодня?

Да, и по конкретным причинам: ZFS, интегрированная в базовую систему, jails как зрелая модель изоляции, базовая система, разрабатываемая как единое целое, и документация, которая остается актуальной. Цена этого — работа по обеспечению совместимости, так как большинство стороннего серверного ПО, инструментов для контейнеризации и поддержка от поставщиков ориентированы на Linux. Выбирайте FreeBSD, когда её возможности в области хранения данных и работы с сетью оправдывают эти затраты, а не из лояльности к более старой ветке развития.