Вся история Linux. Часть 1
Историю возникновения Linux можно условно разделить на три этапа – зарождение, эпоха ядра и эпоха дистрибутивов. В этой статье мы рассмотрим первые два, а вот третий заслуживает отдельного внимания.
Зарождение
Linux – это не просто операционная система. Это важнейшее событие в истории открытого программного обеспечения. Но обо всем по порядку.
Не нужно думать, что Linux – это первая операционная система или первый программный продукт, распространяющийся по принципу OpenSource. Как раз таки нет: в 50-ые годы прошлого века практически все программное обеспечение в США создавалось студентами и сотрудниками университетов. Распространялось такое ПО без каких-либо ограничений – любой желающий мог взять исходники и на их базе создать что-то новое. По сути, это тоже вид OpenSource, правда, тогда такое явление никак не называлось и на этом никто не акцентировал внимание – просто так было принято. Если копнуть глубже, то первым OpenSource-продуктом была никому неизвестная система A-2, написанная для UNIVAC Remington Rand – компьютера, который занимал довольно большую комнату.
Заинтересовавшиеся могут посмотреть следующий ролик на Youtube:
В 50-ые годы не было так называемого OpenSource-движения, но был его аналог – группа SHARE – первая группа разработчиков свободного ПО. Результатом работы этой группы стала одноименная ОС, которая увидела свет в конце 50-ых.
В конце тех же 50-ых компания ADR получила заказ на разработку программы для автозаполнения блок-схем. Программа была разработана, но что-то пошло не так и заказчик от нее отказался (ходят слухи, что их просто не устроила цена, но в этом случае непонятно, почему она не оговаривалась заранее). ADR не могла «выбросить» уже готовое решение и она переделала его для платформы IBM 1401, но коммерческого успеха у проекта не было – все ждали бесплатную альтернативу продукту ADR.
Сама же компания ADR не могла допустить выход аналогичного бесплатного продукта, иначе в этом случае ее ждало настоящее фиаско. Поэтому ее разработчик пытался получить хоть что-то и продал патент на программу в 1968-ом году. Эту дату считают датой коммерциализации ПО и датой, когда ПО из полезного бонуса к «железу» превратилось в отдельный продукт.
Параллельно сотрудники компании Bell Labs (тоже в 1968-ом) пытаются возродить операционную систему Multics. Планировалось выпустить очередной апдейт для нее. Однако в результате получилось то, что никак нельзя было назвать апдейтом. Созданная операционная система для мини-компьютера PDP-7 получила название Unics. Да, именно Unics, а чуть позже название было изменено на Unix. Иллюстрация ниже показывает, как выглядел тот самый «мини-компьютер» – размером он был как два двухкамерных холодильника, но все же занимал места меньше, чем его более производительные сородичи.
Изначально Unix была написана на ассемблере, но позже была переписана на языке С, что сделало ее портативной и более простой в использовании. Изюминкой (кроме портативности) стала иерархическая файловая система с одним корневым каталогом.
Благодаря тому, что холдинг AT&T, в состав которого входила Bell Labs, подписал соглашение с правительством США, запрещающее компании продавать ПО, исходный код UNIX был доступен бесплатно. В первую очередь его получили научные организации.
В начале 80-ых AT&T отказались от концепции бесплатного распространения ПО. Из-за разделения корпорации на несколько компаний запрет на продажу ПО перестал действовать и холдинг перестал бесплатно распространять Unix, а с 1980-го компьютерные программы стали объектом авторского права.
В 70-ые годы Калифорнийский университет в Беркли получил лицензию от AT&T. Группа энтузиастов разработала свой вариант UNIX – свой дистрибутив, который получил название BSD – Berkeley Software Distribution.
История создания Linux
Операционная система GNU/Linux появилась благодаря стечению обстоятельств. Вы узнаете о том, с чего всё начиналось и какую роль в этом сыграл неисправный принтер. Это история Ричарда Столлмана и Линуса Торвальдса.
Столлман задал вектор развития программного обеспечения и пракически закончил работу над операционной системой, подготовив необходимые системные утилиты. А Торвальдс добавил недостающее — ядро Linux.
История создания Linux
1983 год: создание проекта GNU и лицензии GPL
В лаборатории искусственного интеллекта Массачусетского технологического института работал программист Ричард Столлман. Однажды он задался проблемой зажёвывания бумаги экспериментальным лазерным принтером, любезно предоставленным компанией Xerox. По прежнему опыту Ричард решил написать программу, которая оповещала бы всех пользователей сети, использующих принтер, о замятии бумаги.
К сожалению, принтер поставлялся только с готовой программой, поэтому Столлман решил отыскать обладателя исходного кода. И он нашёл такого человека. Им оказался Роберт Спроулл из университета Карнеги-Меллона. Но при личной встрече был получен отказ. Это потрясло Ричарда до глубины души и заставило его пересмотреть своё отношение к авторским правам на исходный код. Для него Спроулл был предателем хакерского сообщества.
Так Столлман впервые столкнулся с соглашением о неразглашении (NDA). Программа была не менее ценной, чем сам принтер, ведь Xerox возлагал большие надежды на лазерные принтеры и не мог допустить того, чтобы код попал в руки конкурентов.
Танцы были ещё одним увлечением Ричарда Столлмана
В один из дней Ричард получил в своё распоряжение текстовый редактора TECO, он был до ужаса неудобным. И вместе с коллегами Столлман стал писать расширения (макросы), добавляющие новые функции в редактор. В скором времени макросы стали конфликтовать между собой, а на поиск неисправности уходило слишком много времени. Таким образом началась работа над программируемым текстовым редактором Emacs.
Первое время всё шло гладко, но по мере роста базы макросов начали появляться сообщения об ошибках в программе. Оказалось, что пользователи редактировали код программы под себя и не уведомляли об этом других. Тогда Столлман предложил отправлять Emacs, только при том условии, если обратно станет получать те самые изменения. Это было первое использование идеи о свободном программном обеспечении.
В лаборатории ИИ активно использовали язык программирования Lisp, а в начале 80-х произошёл раскол. Часть сотрудников осталась в университетской компании LMI, а часть перешла в Symbolics. Изначально компании обменивались кодом, но позднее руководство Symbolics рассудило, что на их стороне большинство и они вытягивают за собой ту кучку хакеров, что работает в LMI.
С этого времени LMI получала только машинный код и описание изменений. Для Столлмана это был вызов, и он начал вносить изменения руководствуясь лишь описаниями. Дошло до того, что люди из Symbolics установили шпионскую программу на компьютере Столлмана, чтобы уличить его в краже исходного кода. Но всё, что они увидели, это лишь несколько схожих участков кода и не более того. По сути один человек, руководствуясь лишь списком изменений, выполнял работу целого отдела Symbolics.
В 1983 году университет стал закупать машины у Symbolics, а пользователей машин LMI становилось всё меньше, некому стало отправлять сообщения об ошибках. Столлман больше не мог терпеть это и покинул университет. Тогда и появилось объявление о создании проекта GNU (GNU is not Unix). Столлман решил сделать свободную альтернативу Unix.
С начала 80-х стали закрывать код операционных систем Unix и программ для них. У движения за свободное ПО появлялось всё больше последователей.
Перед Ричардом стояла глобальная задача – написание операционной системы с нуля, используя только описание вызовов и системных утилит. Сначала он искал готовые решения и тех программистов, которые были готовы пойти по его стопам. Но поиски не увенчались успехом. Тогда он принялся за перенос Emacs на Unix. В этом ему помог Джеймс Гослинг, предоставив раннюю версию своего порта Gosmacs.
Переписав и доработав код редактора Ричард представил публике первые результаты работы над проектом GNU. Чтобы урегулировать все вопросы была создана некоммерческая организация Free Software Foundation. Позднее у неё даже появились влиятельные спонсоры в лице IT-гигантов.
В 1985 году была подготовлена лицензия GNU Emacs. Столлман отдавал исходный код программы, а взамен требовал того, чтобы программа оставалась свободной. Важно отметить, что свободное программное обеспечение – это не есть бесплатное программное обеспечение. Разработчики вправе просить деньги за свою работу. В основном плата взимается не за программу, а за её поддержку.
Со временем лицензия лишилась упоминания Emacs, таким образом она была применима к любому программному обеспечению. В 1989 году была готова финальная версия лицензии GNU GPL. А вместе с ней и целый ряд программ, вроде отладчика GDB и компилятора GCC. До появления свободной операционной системы оставалось сделать всего несколько шагов.
Ядро Hurd операционной системы GNU тоже находилось в разработке, но лишь на раннем этапе.
1991 год: ядро Linux
Студент Хельсинского университета Линус Торвальдс к 1990 году уже изучил свой текущий компьютер Sinclair QL вдоль и поперёк. Он даже написал ассемблер и редактор кода для него. Но производительности стало не хватать. Поэтому он решил приобрести новый компьютер, выбор пал на IBM PC с 386 процессором. Этот чип Intel впервые поддерживал блок управления памятью MMU, необходимый для работы Unix.
Пока Линус копил деньги на новый компьютер, он приобрёл книгу Эндрю Таненбаума о проектировании операционных систем на примере упрощённой версии Unix – Minix. В январе 1991 года Торвальдс приобретает компьютер в кредит, а спустя пару месяцев получает по почте свою версию Minix, предназначенную для образовательных целей.
Линус начал использовать и изучать операционную систему, в том числе и для того, чтобы связываться с университетским компьютером для выхода в интернет. Терминал Minix был неудобным и не устраивал Линуса. Тогда он решил написать свой терминал с нуля.
Спустя некоторое время программа была готова, но этого показалось мало. Обмен файлами мог значительно упростить работу, и Торвальдс принялся реализовывать работу файловой системы, аналогично той, что была описана в книге Таненбаума. Однажды Линус осознал, что работает уже не просто над созданием терминала, а над операционной системой.
Первая версия Linux
С того времени он начинает внедрять вызовы Unix один за другим, пока в его распоряжении не оказывается работающая оболочка Bash. Таким образом 17 сентября 1991 года вышла первая версия ядра Linux, также распространяемая по лицензии GNU GPL.
Несмотря на множество ошибок и недоработок хакеры начинают использовать ядро и присылают предложения, отчёты об ошибках и даже код для улучшения работы ядра. Через год для Linux уже был портирован оконный интерфейс X Window, вместе с программами проекта GNU операционная система приобретала законченный вид.
1992 год: Первые дистрибутивы
Первые версии Linux распространялись на дискетах вместе с системными утилитами GNU. Ричард Столлман настаивает на том, чтобы систему непременно называли GNU/Linux, ведь без системных утилит из его проекта ядро бесполезно.
Первым популярным дистрибутивом стал Softlanding Linux System. Он появился летом 1992 года и включал в себя ядро, компилятор, редактор Emacs и ряд других программ, а также часть исходного кода. Уже через год на его основе выходит Slackware Linux, а его создатель Патрик Фолькердинг даже основывает одноимённую фирму.
В том же 1993 году начинается разработка дистрибутивов Red Hat и Debian. Первым проектом руководили Марк Эвинг и Боб Янг, они нацелились на корпоративный сегмент, подобно тому, как это было с другими системами Unix. Иан Мёрдок со своим Debian решил воплотить идеи GNU для целого дистрибутива, состоящего из свободного программного обеспечения.
А так как Slackware, Red Hat и Debian были одними из первых, то они легли в основу большинства дистрибутивов, в том числе современных.
Почему в качестве образца выбрали Unix
Операционная система Unix появилась в Bell Labs, подразделении AT&T. В 1969 году компания отказалась от дальнейшей разработки Multics, совместного проекта с Массачусетским технологическим институтом. Система была во многом новаторской, она использовала разделение времени программ для одновременной работы нескольких пользователей, а также язык высокого уровня PL/I. Но, к сожалению, она стала слишком тяжёлой и сложной в разработке.
Тогда руководство поручило Дугласу Макилрою написать текстовый редактор для патентного отдела. Причём для работы был выделен относительно простой мейнфрейм PDP-7. В команде Макилроя работали Кен Томпсон и Деннис Ритчи.
Деннис и Кен работают за PDP-11
Кену захотелось перенести свою игру Space Travel для Multics на PDP-7, а Дуглас был не против и всецело поддерживал его. Так в 1971 году появился текстовый редактор, а по совместительству операционная система Unics, позднее переименованная в Unix. Реактор быстро окупил себя и Bell Labs приобрела PDP-11. С этого времени Ритчи начинает разработку интерпретируемого языка Би, во многом схожего с языком BCPL. К 1973 году язык стал компилируемым и получил название Си. Системное ядро в скором времени было переписано на Си. Это в значительной мере повысило читаемость кода.
Изначально руководство даже не знало о существовании операционной системы, ведь она была ни к чему. По решению антимонопольного комитета компания не могла вести коммерческую деятельность в области вычислительной техники. И всё же проект посчитали перспективным, и разработка продолжилась. Так как систему нельзя было использовать в коммерческой деятельности, она отправлялась в университеты всего мира.
С этого момента началась активная разработка системы. Особо отличились в университете Беркли, к 1977 году была готова их версия Unix под названием BSD. К началу 80-х существовало несколько вариаций Unix, некоторые из них были с закрытым кодом. Тогда в Bell Labs начинают создание набора стандартов POSIX, описывающих то, как должна работать система Unix.
С его помощью можно было писать совместимые с Unix программы, чем и воспользовался Столлман для написания утилит GNU, а позднее и Торвальдс для Unix-подобного ядра Linux.
Почему Linux, а не BSD
В университете Беркли разработали лицензию, по которой бесплатно распространялась система BSD. Она требовала указывать авторов, но открывать код было не обязательно. Популяризации системы мешало то, что использовать BSD без лицензии AT&T было нельзя. Всё дело было в оригинальном коде Unix.
Лишь к 1991 году удалось заменить код Bell Labs на свой собственный. BSD Net 2 стала первой свободной операционной системой, ещё до появления Linux. Так почему Linux стал набирать популярность?
Во-первых, в начале 90-х на разработчиков BSD подали в суд за использование кода Unix. Лишь к 1993 году большая часть исков была отклонена. Но до этого времени систему старались обходить стороной и даже стали использовать сырой GNU/Linux.
Во-вторых, лицензия GNU GPL требовала того, чтобы код оставался открытым. А с BSD можно было закрыть код операционной системы, как в своё время поступили с Mac OS, основанной на BSD. GNU GPL позволила большему числу программистов принять участие в разработке Linux.
Выводы
Вот такая история развития Linux. Эта операционная система могла не появиться, если бы не стремление Ричарда Столлмана сделать код доступным. Благодаря ему настоящие хакеры трудятся и по сей день. Среди них есть и разработчик ядра операционной системы GNU/Linux, Линус Торвальдс.
Но не менее важную роль сыграли сотрудники Bell Labs, создавшие не только операционную систему Unix, но ещё и объединившие программистов со всего света. Это позволило сделать Unix примером для подражания.
UNIX и Linux – сходства и различия систем
В процессе развития операционных систем (ОС) UNIX и Linux, между ними сложилась система отношений, являющаяся уникальной в своём роде. С одной стороны, эти системы схожи, а с другой — имеются настолько принципиальные различия, которые не позволяют употреблять и понимать значения «UNIX» и «Linux» в одном контексте.
сходства и различия
Говоря о Linux, следует прежде всего понимать, что это обособленная реализация всех основных принципов построения многозадачных, многопользовательских и универсальных ОС, которые закладывались при создании UNIX в далёких 60-х годах. Код системного ядра Linux не имеет ничего общего с UNIX, но реализует тот же набор системных вызовов с аналогичной спецификацией.
Приложения UNIX совместимы с системной средой Линукс. В свою очередь, Linux более совершенна, нежели UNIX, но некоторые коммерческие UNIX-подобные системы по своему функционалу и оптимизации превосходят Линукс. Главным же отличием Linux от UNIX является то, что первая — это полностью бесплатный продукт, который надёжно работает практически на любом оборудовании, по максимуму используя все аппаратные возможности. А Unix, в большинстве, это коммерческий продукт. Изначально Linux разрабатывался как операционная система для домашнего пользования, в то время как UNIX делался для компаний и корпораций.
Также Linux поддерживается и совершенствуется огромным и открытым сообществом разработчиков, самые эффективные, передовые и оригинальные идеи которых реализуются и впоследствии внедряются в ядро. Приложение, созданное для Линукс, а точнее сказать программа, написанная для Linux – это UNIX-программа. Например, FTP-серверу всё равно, где он будет запущен — и в Линукс, и в Юникс он будет работать одинаково.
Надо заметить, что Линукс – не единственная свободная UNIX-подобная ОС — существует и множество других, как например, FreeBSD, OpenBSD, которые по сравнению с Линукс распространены гораздо меньше, но по своему функционалу не сильно уступают последней.
Объединяющим обе ОС и, в то же время очень важным аспектом является то, что всевозможные разновидности UNIX-подобных ОС могут быть как коммерческими и дорогими проприетарными продуктами, так и бесплатными, открытыми и свободно распространяемыми. Этот «парадокс» стал возможным благодаря удивительной, в некоторой степени, цепочке событий и совпадений, произошедших незадолго и уже после рождения ЮНИКС. Одним из таких эпизодов стало возникновение и развитие проекта GNU, философией которого является создание программного обеспечения в виде изначально открытого и свободно распространяемого кода.
История появления Linux
История создания Линукс, как самостоятельной операционной системы началась в 1991-м году. Создателем ее является финский аспирант Линус Торвальдс. Приобретя пакет ОС MINIX. Он решил переписать ее. После некоторых модификаций начало появляться подобие ОС, а затем, когда исходный код был выложен на сервере, проект стал развиваться благодаря усилиям и, главное, энтузиазму программистов, основная часть OC Linux написана на языке программирования Си. после чего он стал полноценной операционной системой. Проект взял многое от существовавшего тогда UNIX. Даже название было «собрано» из имени разработчика и буквы X в конце слова как свидетельства схожести с ЮНИКС. Название Linux проект получил не сразу. Изначально он назывался Freax как гибрид английских слов free (бесплатный, свободный) и freak (чудной) с окончанием X, однако, когда Линус Торвальдс выкладывал код на сервере, проект получил свое окончательное имя и логотип пингвина.
Дистрибутивы Linux
Дистрибутив ОС — это сборка или определённым образом сформированный комплект прикладного ПО (пакетов), запускаемого поверх системного ядра, который имеет систему управления пакетами посредством удалённого репозитория или иного хранилища ПО.
Для Линукс, как ни для какой другой ОС, существует огромное количество дистрибутивов. Все они различаются уровнем функциональности, ориентацией на решаемый круг задач, а также оснащением графического окружения (или без такового) для реализации концепции рабочего стола или рабочей среды.
Среди всего разнообразия Linux-дистрибутивов выделяются несколько направлений: системы для управления серверами, специализированные дистрибутивы (мультимедиа, защита информации и т. д.), а также общепользовательские ОС. Не так уж и сложно запутаться, но сложность выбора зачастую, кроется внутри каждого из направлений. Например, среди серверных систем только за последние несколько лет лидирующие позиции прочно отошли к семейству дистрибутивов Red Hat. Поскольку для серверов важное значение в подавляющем большинстве случаев имеет удобное и полноценное управление сетями, то именно Red Hat является предпочтительным выбором для владельцев и администраторов серверов. Особенно этот дистрибутив популярен у хостинг-провайдеров.
Что касается систем для широкого пользовательского потребления, то тут выбор зачастую определяется вкусом или симпатиями к конкретной реализации графического окружения, среди которых Gnome, KDE, Xfce и т. д. Первые две долгое время конкурировали друг с другом, но со временем окружение KDE, благодаря своим практически безграничным возможностям по настройке, расширению и кастомизации, постоянной и качественной оптимизации, а также широкой поддержке разработчиков, стало более предпочтительным, и всё чаще пользователи выбирают Linux-дистрибутивы именно с этим графическим окружением. Самыми же популярными дистрибутивами на данный момент являются системы на основе Debian, такие как Ubuntu и Linux Mint. Эти дистрибутивы получили огромную популярность благодаря наличию в семействе версий с поддержкой самых разных графических окружений, а также удобной и универсальной структуре пакетов Debian.
Наиболее распространённые Linux-дистрибутивы приведены в следующей таблице:
История Unix
Как уже отмечалось выше, своим появлением UNIX во многом обязан череде определённых событий. В 1969 г. компания Bell Labs, отказалась от продолжения разработки Multics – многопользовательской высокопроизводительной ОС, посчитав проект невостребованным для широкого потребления. В результате трое научных сотрудников: Кен Томпсон, Деннис Ритчи и Руд Кенедей временно остались без работы, поскольку ранее принимали активное участие в проекте Multics. Заинтересованные в развитии идей, заложенных в Multics, они «забавы ради», на чистом энтузиазме решили продолжать разработку, но уже в виде совершенно новой идеи. Для разработки и тестирования был использован компьютер компании — GE-645, на котором впервые была запущена незавершённая Multics.
Позже, летом 1969 г. Кен Томпсон в течение месяца с головой ушёл в работу над новой системой. Его жена с их годовалым сыном уехала на четыре недели погостить к родным и показать им малыша, поэтому у Кена появилось много времени, которого хватило для создания зачатков полноценной ОС – UNIX. Томпсон отвёл по неделе на реализацию операционной системы, командного интерпретатора, текстового редактора и ассемблера, переписав их, используя некоторые наработки и идеи Multics, в такой форме, в которой обычно принято воспринимать операционную систему, т. е. с базовым функционалом в виде системных утилит, полноценным редактором, ассемблером и т. д., которая была при этом практически самодостаточна.
Компьютером, на котором велась разработка, тестирование и отладка UNIX (UNICS — UNiplexed Information and Computing Service) был неиспользуемый в Bell Labs и уже устаревший PDP-7, на котором можно было работать только одному пользователю. Поэтому, образно выражаясь, UNIX появилась как «игрушечная» однопользовательская версия Multics.
Поскольку изначально разработчиков стесняли аппаратные возможности старого PDP-7, а также и то, что сама по себе UNIX – проект энтузиастов или «игрушка», то всё в этой ОС реализовывалось максимально просто и с глубокой оптимизацией и в основу дальнейшего развития системы легли следующие принципы:
- Написание простых программ, выполняющих только одну задачу, но выполняющих её хорошо и надёжно.
- Написание программ, которые бы работали согласованно как единая «экосистема».
- Написание программ, которые обрабатывают текстовые потоки как универсальный интерфейс.
Эти принципы и по сей день ясно ощущаются при работе с наследницей UNIX – ОС Linux, чтобы заметить это, достаточно выполнить в командной оболочке всего несколько команд.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Развитие операционных систем от Unix и BSD к Linux
Linux — удивительное творение: технология, уходящая своими корнями в 1970-е и активно разрабатываемая в 1990-х годах, стала широко распространенной в начале 21 века. В этой статье мы поговорим об истории Unix и BSD и о том, как данные системы привели к развитию Linux.
Примечание: В этой статье мы рассмотрим только ключевые тенденции и события в развитии операционных систем от Unix и BSD к Linux.
Первоначальные преимущества Unix
Деннис Ритчи и Кен Томпсон выпустили первый релиз операционной системы Unix 3 ноября 1971 года. Когда историки обсуждают, что особенного было в Unix в то время, они обычно подчеркивают, что Unix поддерживала возможность одновременной работы нескольких пользователей, в то время как в других операционных системах того времени одно задание выполнялось от начала и до конца без возможности прерывания. Я думаю, что более важным отличием Unix была портируемость системы. В те года большинство операционных систем были привязаны к конкретной архитектуре процессора. С помощью Unix вы могли обновлять свой компьютер годами и десятилетиями и по-прежнему использовать одну и ту же операционную систему, и приложения. Это дало большой толчок в развитии вычислительной техники.
Если бы Unix была привязана к компьютеру PDP-11, на котором велась её первоначальная разработка, то данная ОС вряд ли бы оставила сколь-нибудь заметный след в истории. Свойство переносимости системы позволило Unix пережить эволюцию компьютерного оборудования и, в конечном счете, занять лидирующие позиции среди других ОС. Как гласит официальная временная шкала Unix: «В 1973 году система была переписана на язык программирования Си. Это сделало её переносимой и сильно повлияло на историю развития ОС в целом».
Сегодня переносимость Unix и её утилит в полной мере присутствует и в Linux: изначально разрабатываемая под процессоры Intel, система работает на нескольких различных архитектурах. Когда ядро Linux совершило скачок от процессоров Intel к архитектуре ARM, тем самым сделав доступным использование Linux на небольших (появившихся в 1990-х годах) мобильных устройствах, то это событие вызвало всеобщее волнение в Linux-сообществе и открыло новые перспективы развития вычислительной техники.
Значимость языка Си
Переносимость Unix обеспечивалась тем, что вместо Ассемблера для создания системы применялся высокоуровневый язык программирования Си. По сути, ядро Unix было одной из первых крупных программ, написанных на языке Си.
Язык Си позволил написать переносимую операционную систему на языке высокого уровня, потому что … ну, потому что язык Си на самом деле не был таким уж высокоуровневым языком. В то время уже существовало большое количество языков высокого уровня, таких как: FORTRAN, COBOL, LISP и ALGOL. И они были достаточно «умными», т.к. могли скрывать от пользователей сложные детали компьютерной архитектуры и позволяли программистам мыслить в терминах областей знаний, в которых те работали. FORTRAN походил на научные функции и уравнения. COBOL выглядел как описание бизнес-процесса. Каждый язык требовал обладания своей собственной областью знаний, но при этом вам не нужно было беспокоиться об архитектуре процессора, лежащей в основе всего этого.
В отличие от них, язык Си был очень близок к компьютерной архитектуре. Он реализовал побитовые операции с помощью масок (которые влияли на определенные биты в переменной) и сдвигов (которые перемещали биты внутри переменной). Исходя из устройства PDP-11 и языка Ассемблера, разработчики решили реализовать использование строк следующим образом: поскольку длина строки могла варьироваться, то для их представления требовались дополнительные накладные расходы, поэтому язык Си просто хранит каждую строку вместе с завершающим нулевым символом (нуль-терминатором), как это делалось в компьютерах PDP, для которых Си и был первоначально разработан. Концепция unions языка Си, позволяющая по-разному считывать одну и ту же область памяти, была полезна для драйверов устройств и сетей, поскольку заголовки сетевых пакетов, в зависимости от обстоятельств, могли изменяться.
В общем, когда программисты хотят писать очень эффективный, быстро работающий код, они используют язык Си или какой-нибудь его современный вариант. Разработчики, использующие другие языки, регулярно сравнивают свои программы с программами, написанными на языке Си, и хвастаются, когда им удается достичь сравнимой с языком Си эффективности. К сожалению, данная эффективность достигается в ущерб безопасности: язык Си не обеспечивает программиста той защиты, которая есть у других языков, и позволяет совершать серьезные ошибки (в частности, переполняя значения переменных или выходя за пределы массивов).
Попытки создания открытого исходного кода
Задолго до появления лицензий на свободное (или открытое) программное обеспечение, исходный код Unix был открыт для пользователей, которые лицензировали операционную систему. Создатели Unix владели авторскими правами на исходный код системы и иногда очень жестко контролировали его. Но эта позиция не умаляет революцию, вызванную доступностью исходного кода Unix.
Поскольку у пользователей Unix был доступ к исходным кодам системы, у них также появился и доступ к опциям, которые можно было изменить только путем перекомпиляции исходников системы. Практика перекомпиляции Unix для настройки параметров системы под конкретные нужды серверов — еще одна традиция, продолженная в Linux.
Доступность исходного кода надежной, современной операционной системы являлось ощутимым благом для студентов. В Unix не только впервые были применены важные методы в области управления памятью, планирования и т.п., но также содержались любопытные структуры данных и алгоритмы, которые находили широкое применение и в других программах.
Операционная система Unix чем-то похожа на кукушку, подкладывающую свои яйца в чужие гнезда. Несмотря на то, что изобретателями транзистора были Bell Labs (которыми владела компания AT&T), они не производили собственные компьютеры. Unix же впервые появилась на компьютерах DEC (сокр. от англ. «Digital Equipment Corporation») в 1970-х годах. Но у DEC, как и у IBM и любого другого производителя, были свои собственные операционные системы. В связи с этим Unix начинался как причудливый инструмент для исследователей, лишь в минимальной степени просачиваясь в коммерческое использование.
BSD и развитие Интернета
Следующий важный этап нашей экскурсии по развитию операционной системы Unix переносит нас в 1974 год на противоположное побережье от Bell Labs, где ученые в области компьютерных наук Калифорнийского университета в Беркли решили попробовать установить на свои системы Unix. Они и их студенты сочли Unix подходящим вариантом для своих исследований и начали совершенствовать ОС, расширяя её функционал путем добавления всевозможных новых системных вызовов и утилит.
Эволюция BSD (сокр. от англ. «Berkeley Software Distribution») была плавной и последовательной: от набора небольших улучшений до чего-то совершенно нового. Студенты, некоторые из которых позже стали лидерами в области вычислительной техники, добавляли в систему различные улучшения. Одним из таких крупных улучшений стал редактор vi, ежедневно применяемый в своей работе многими пользователями Unix, а теперь и пользователями Linux. Билл Джой, который в студенческие годы изобрел редактор vi во время своей ранней работы над системой Unix в Беркли, организовал в 1977 году первый выпуск своего редактора под маркой «Berkeley Software Distribution». Позже Джой (вместе с другими сооснователями) создал компанию Sun Microsystems, которая позволила Unix взять на себя крупномасштабные вычисления.
Применяя Unix для тяжелых, связанных с сетями вычислений, разработчики BSD обнаружили отсутствие многих необходимых системных вызовов. В результате чего они добавили в систему новые системные функции, а также библиотечные вызовы (которые выполняются в пространстве пользователя, а не в пространстве ядре). Связь между Bell Labs и BSD стала двунаправленной, поскольку разработчики Unix позаимствовали свои любимые системные и библиотечные вызовы из BSD.
Сетевой стек был самым важным вкладом BSD в этом деле. История гласит, что BBN Technologies создали Интернет в рамках сотрудничества с оборонным агентством ARPA (позже DARPA). Но когда Интернет стал мейнстримом, в нем использовались стеки протоколов, сетевые службы и инструменты, созданные проектом BSD.
Компания AT&T, которой принадлежала Bell Labs, неплохо зарабатывала на лицензировании Unix.
Примечание: Кстати, официальное название Unix, в соответствии с зарегистрированным товарным знаком, пишется большими буквами — UNIX.
Как уже ранее упоминалось, к системе прилагались её исходные коды. Но в Беркли сделали нечто гораздо более радикальное: они выпустили свой собственный код под лицензией, которая разрешала пользователям вносить изменения и делать всё, что они захотят, включая продажу системы с внесенными в нее изменениями. Лицензия BSD была одной из первых свободных лицензий на программное обеспечение с открытым исходным кодом. И она до сих пор применяется многими проектами.
Популярность BSD обуславливалась бесплатным распространением системы, а не каким-либо её техническим превосходством над Unix от Bell Labs. Как я уже упоминал, AT&T не испытывала никаких угрызений совести по поводу включения наработок BSD в Unix. Сегодня код BSD выглядит устаревшим и в некоторых моментах немного пугающим, но операционная система и её утилиты были очень популярны в то время. В конце 1970-х и начале 1980-х годов, до того, как персональные компьютеры стали коммерчески доступны, большой популярностью пользовались VAX и миникомпьютеры с BSD.
BSD также послужила толчком к прорыву, который привел Unix в коммерческое русло: основанию Sun Microsystems. Билл Джой и его коллеги воспользовались разрешительной лицензией BSD для продажи компьютеров с их собственной доработанной версией операционной системы BSD, называемой SunOS. Рабочие станции и серверы мини-компьютеров Sun Microsystems уничтожили поколение других компаний, производящих мини-компьютеры, и начали устанавливать стандарты для современных вычислений и сетей — всё на основе SunOS, что, конечно же, подразумевало использование BSD.
Раскол BSD
Некоторые сторонники BSD винят в отсутствии прогресса у системы страх, неуверенность и сомнения, связанные с проектом во время судебного процесса в начале 1990-х годов. AT&T подала в суд на BSDi (компанию, которую разработчики BSD создали в 1991 году для коммерциализации BSD), обвиняя последнюю в недобросовестной конкуренции. Впоследствии претензии AT&T разрослись до гораздо более серьезных, а именно: компания обвинила BSDi в том, что та включила исходный код Unix (который принадлежал AT&T) в BSD. Однако стоит учитывать, что и сами разработчики Unix извлекли большую выгоду из включения бесчисленных утилит и функций, созданных разработчиками BSD. Иск был урегулирован менее чем за два года, и из проекта BSD, в конечном итоге, были убраны все «хвосты» системы Unix от AT&T.
Примечание: Сторонники BSD любят указывать на тот факт, что в то самое время активно набирал популярность проект GNU/Linux, как бы намекая на то, что развитие BSD было бы точно таким же, как и GNU/Linux, если бы BSD не вовлекли в судебные тяжбы с AT&T.
Уорнер Лош (Warner Losh), бывший член основной команды разработчиков FreeBSD, сказал в своих комментариях, что, по его мнению, изначально у BSD было вполне себе «здоровое» окружение, представленное разработчиками Исследовательской Группы Компьютерных Систем (сокр. «CSRG» от англ. «Computer Systems Research Group»). В 1995 году эта команда закончила свою работу, и её состав был распущен. Эти события привели к раздробленности внутри проекта BSD.
Руководство начало принимать решения, которые другие участники проекта считали произволом. 386BSD, FreeBSD, NetBSD, OpenBSD — одна за другой небольшие команды недовольных разработчиков отделялись от основного проекта и создавали свои собственные ответвления от основной системы (т.н. форки). С другой стороны, несмотря на то, что в сравнении с BSD сообщество Linux было совсем незрелым, участники разработки ядра Linux сумели сохранить свое единство.
Можно было бы отнестись к распространению различных вариантов ответвления от BSD как к подарку пользователям. Ведь у каждой системы были свои сильные стороны, и пользователи могли выбирать то, что им больше подходило. Но форки не оставили после себя ни одного варианта с достаточно большой критической массой сообщества, за исключением, возможно, FreeBSD, которое позволило бы им развиваться. Любой, кто хотел вести разработку программ для BSD, должен был выбрать какой-то один, конкретный дистрибутив или же ему пришлось бы выполнить большой объем работы по портированию своих программ на различные дистрибутивы.
Unix вырывается вперед!
Поскольку различные BSD-проекты были отодвинуты на второй план, в 1980-х годах произошел беспрецедентный поворот к единой культуре операционных систем. Наблюдая за успехами Sun Microsystems, остальные производители (IBM, DEC и др.) тоже обратились к системам BSD или Unix.
Поклонники других операционных систем смотрели на особенности Unix и были сбиты с толку её, казалось бы, непреодолимым распространением. В дополнение к мини-компьютерам, производство которых отстаивали DEC и Sun Microsystems, компании начали выпускать рабочие станции, предназначенные для одного инженера или ученого. Хотя это было довольно дорого по сравнению с персональными компьютерами, предлагавшимися в 1980-х годах, цена на рабочие станции устанавливалась таким образом, чтобы компании могли предоставить каждому нуждающемуся в этом сотруднику свой собственный компьютер.
Коммерческому внедрению Unix в значительной степени способствовало создание стандарта портативного графического интерфейса. Этот интерфейс никоим образом не заменял командную строку, но позволял использовать текстовые процессоры, CAD/CAM, инструменты визуализации и другие важные приложения, к которым стремились профессиональные пользователи. Графический интерфейс был создан в рамках совместного проекта MIT, DEC и IBM по созданию распределительной вычислительной среды — Project Athena, который сыграл очень важную роль в создании X Window System.
Погоня за прибылью многочисленных вендоров привела к увеличению числа различных вариантов исполнения программ, что усложнило их переносимость. Частичным решением проблемы стало создание спецификации POSIX, предназначенной для стандартизации системных вызовов Unix, вызовов библиотек и основных утилит, таких как командная оболочка (shell).
Каждая реализация Unix, включая Linux, старалась поддерживать данный стандарт. И это обеспечило желанную согласованность в некоторых важных технологиях, таких как потоки (облегченные процессы), в которых остро нуждались многие разработчики в эпоху многоядерных процессоров.
Но, как и многие стандарты, POSIX не был совершенен и медленно реагировал на изменения окружающей среды. Например, он не мог правильно рассчитать время за доли секунды, что было необходимо для многих приложений. Время от времени какая-нибудь операционная система создавала лучший интерфейс, чем POSIX, для какой-либо функции, независимо от того, будут ли другие вендоры использовать это улучшение или нет.
Open Software Foundation (OSF)
История показывает, что люди часто объединяются перед лицом надвигающейся внешней угрозы. Именно в таком положении оказалась большая часть компьютерной индустрии в 1988 году, когда AT&T (владелец Unix) и Sun Microsystems объявили о несколько туманном партнерстве. Было неясно, насколько AT&T увеличит и без того растущий успех Sun Microsystems, присутствовала угроза для других поставщиков. Sun Microsystems отказалась от использования SunOS — системы, с помощью которой компания коммерциализировала рынок вычислительной техники, и переняла последнюю версию Unix от AT&T — UNIX System V Release 4 (SVR4).
В ответ на перспективу потерять бизнес из-за партнерства AT&T и Sun Microsystems, остальная часть крупных поставщиков создали консорциум под названием Open Software Foundation (OSF). Группа хорошо проявила себя и начала подавать большие надежды, создав инструментарий для X Window System под названием Motif. Большинство разработчиков сочли Motif более привлекательным, чем соответствующий инструментарий, предлагаемый Sun Microsystems, под названием OPEN LOOK. После успешного выпуска этого инструментария OSF взялась за более амбициозные проекты, включая версию Unix под названием OSF/1, серверные части компилятора, называемые ANDF (сокр. от англ. «Architectural Neutral Distribution Format») и DCE (сокр. от англ. «Distributed Computing Environment») и пр.
OSF, как и BSD, не могла координировать независимых, а иногда и конкурирующих участников. Компании-участницы не могли отказаться от своих противоречивых интересов в пользу настоящего сотрудничества. «Разори соседа», казалось, было их конкурентной стратегией.
Путь Microsoft
Прежде чем продолжить историю про Unix, я должен упомянуть про единственную важную операционную систему за последние 30 лет, которая почти ничем не обязана Unix — Microsoft Windows. После выпуска своего первого крупного проекта — операционной системы DOS, которая управляла персональным компьютером от IBM, Microsoft последовательно пошла по непересекающемуся c Unix пути.
Первая версия операционной системы Microsoft Windows не являюсь самостоятельной ОС, скорее графической надстройкой над DOS. Фактическая монополия Microsoft на операционные системы для ПК приносила компании в течение десятилетия большую выгоду, но растущие требования, предъявляемые приложениями к компьютерам в конце 1980-х годов, вынудили их искать совершенно новую базу для своей операционной системы. Они разработали обновленную операционную систему, называемую Windows NT, в основу которой легли идеи нескольких сторонних проектов (не Unix).
Одним из таких проектов был OpenVMS — операционная система, которую корпорация DEC создала для своей линейки компьютеров VAX. Когда цифровые технологии пришли в упадок, ведущий разработчик OpenVMS по имени Дэйв Катлер присоединился к Microsoft для разработки новой версии операционной системы Windows.
Другим проектом был Mach — исследовательский проект, возглавляемый Ричардом Рашидом из Университета Карнеги-Меллон. Mach являлся радикально новым шагом в построении архитектур операционных систем, в рамках которого выдвигалась концепция использования микроядра вместо привычного всем монолитного ядра. Микроядро выполняло только лишь минимальный набор обязанностей и использовало различные внешние службы для большинства задач, обычно выполняемых операционной системой. Теоретически концепция микроядра выглядела довольно привлекательной, отражала тенденцию к модульности, которая пронизывала вычислительную технику в течение последних четырех десятилетий (как современные микросервисы). Однако попытки использовать микроядро в операционных системах общего назначения потерпели крах и исчезли вместе с Mach. Хотя в основе архитектуры Windows NT поначалу и закладывалось применение микроядра, в конечном итоге Windows NT осталась без значительной части наследия микроядра Mach. В итоге Ричард Рашид покинул данный проект, чтобы присоединиться к Microsoft, заняв несколько высоких должностей в компании.
В Microsoft признавали важность операционной системы Unix. Доказательством тому служил тот факт, что компания в течение нескольких лет лицензировала вариант Unix под названием Xenix, внесла большой вклад в развитие ядра Linux и теперь предлагает в составе своей системы эмулятор Linux под названием WSL (Windows Subsystem for Linux).
Проект GNU
Ранее я упоминал, что BSD понравилась многим пользователям, потому что им не нужно было платить лицензионные отчисления компании AT&T за пользование Unix. Ричард Столлман увидел в этом еще больше возможностей в середине 1980-х годов. С характерным размахом, с помощью целого манифеста он объявил о создании клона Unix. В дополнение к дорожной карте данного проекта, этот манифест бросал прямой вызов понятию интеллектуальной собственности (термин, который Столлман позже определил как вредный сам по себе) и рассказывал о новом способе выпуска программного обеспечения, который Столлман в конечном итоге воплотил в виде лицензии GNU GPL, также называемой Copyleft.
Столлман долгое время вносил ощутимый вклад в развитие вычислительной техники. В тот момент, когда он начал свой проект GNU (рекурсивный акроним от «GNU is Not UNIX»), самым значимым его техническим достижением стал Emacs — текстовый редактор, который работал на огромном количестве самых разнообразных систем и был портирован на Unix.
Проект GNU, выпустив GNU Compiler Collection (GNU GCC) в конце 1980-х годов, сильно повлиял на компьютерную сферу, которая в то время бесцеремонно относилась к свободному программному обеспечению. Они были настолько лучше, чем другие компиляторы языка Си, что разработчики всей индустрии проприетарного ПО были несколько ошеломлены. У свободного программного обеспечения явно было будущее.
Но у проекта GNU, в прямом смысле слова, отсутствовало ядро. Оказалось, что это требует совершенно другого уровня сложности от утилит и библиотек, которые Столлман и его коллеги стремились разработать. Они назвали свой проект по созданию ядра — GNU Hurd, и решили использовать концепцию микроядра, которую мы видели в Mach. То ли из-за этого дизайнерского решения, то ли из-за какой-то другой слабости, Hurd прискорбно отстал от остальной части GNU. Таким образом, GNU был похож на велосипед с прекрасной рамой, рулем, тормозами и переключением передач, но без колес. Его пользователям приходилось зависеть от проприетарных вендоров, поставляющих наиболее важную часть операционной системы.
Пробел был заполнен в 1991 году с предварительным выпуском ядра Linux. Линус Торвальдс, создатель ядра Linux, думал, что Unix «не так уж плох», и поэтому решил ему подражать. Что более важно для нашего рассказа, так это то, что Торвальдс в значительной степени полагался и на проект GNU. Для создания своего кода он использовал GNU GCC, связал код ядра с библиотеками GNU и в качестве одного из своих первых приложений портировал командную оболочку bash.
«Пингвин Tux» — талисман Linux
Примечание: Проект GNU в течение последних двух десятилетий призывал людей использовать термин «GNU/Linux» вместо «Linux» для полного обозначения операционных систем, созданных на базе ядра Linux и компонентов GNU.
Движение за свободное ПО
Теперь мы можем обратиться к причине, по которой Linux-системы добились больших успехов, в то время как BSD-системы потерпели в этом неудачу.
Точно так же, как первоначальная привлекательность BSD в значительной степени основывалась на свободной лицензии, Linux-системы были замечены растущими центрами обработки данных 21 века как отличные операционные системы для массового развертывания. Проприетарные системы были обременены не только своей стоимостью, но и явными бюрократическими накладными расходами на приобретение лицензий и контроль за ними.
К концу 1990-х годов все компании, которые предлагали несколько иные версии Unix, поняли, что любое ПО и услуги, которые они надеялись предложить в будущем, должны будут работать на GNU/Linux. Предложение операционной системы, которую любой желающий мог бы свободно устанавливать, должно было стать центральным элементом их бизнес-стратегий.
Примечание: IBM официально перешла на GNU/Linux в 2000 году. В 2019 году они купили ведущего коммерческого поставщика GNU/Linux — компанию Red Hat. Даже Oracle, больше известная своими базами данных, нежели операционными системами (несмотря на покупку Sun Microsystems), лицензирует версию GNU/Linux — Oracle Linux.
Академическое и деловое признание свободного программного обеспечения с открытым исходным кодом демонстрирует то, насколько изменилось это движение со времен расцвета BSD. Ричард Столлман объединил движение за свободное программное обеспечение с проектом GNU. Некоторое время спустя сообщество сторонников ПО с открытым исходным кодом набрало силу, о чем свидетельствовало проведение в том же году крупной конференции по свободному программному обеспечению под названием LinuxWorld Conference and Expo (различные специалисты по свободному программному обеспечению также называют 1998 год поворотным моментом для свободного программного обеспечения).
Наследие Unix
Миллионы людей каждый час берут в руки мобильные телефоны и планшеты. Если у них есть устройства Android, то они запускают свои приложения в сильно измененной версии Linux от Google. Устройства Apple, в свою очередь, запускают адаптированную компанией Apple версию системы BSD, выпущенную в качестве операционной системы с открытым исходным кодом — Darwin. Что бы эти пользователи ни делали со своими устройствами, они, вполне вероятно, взаимодействуют с облачными серверами, работающими под управлением GNU/Linux. Таким образом, наследие Unix присутствует повсюду.
Временная шкала Unix и Linux
Год | Событие |
1966 | ARPA заключает контракт с Raytheon BBN Technologies на создание сети ARPANET. |
1969 | Первая передача данных по сети ARPANET. Начало работы над ОС Unix. |
1970 | Портирование Unix на компьютер PDP-11. |
1972 | Создание языка программирования Си. |
1973 | Ядро Unix переписывается с помощью языка Си. |
1975 | Начало работ над ОС BSD. Первое коммерческое предложение ОС Unix. |
1976 | Основание Apple Inc. |
1978 | ОС Unix портирована на компьютеры VAX. |
1980 | В Калифорнийском университете в Беркли создается CSRG (Группа исследования компьютерных систем). |
1982 | Релиз 4.1aBSD, а также первой версии протокола TCP/IP. Основание Sun Microsystems. |
1983 | *Первоначальное объявление манифеста GNU, давшее старт началу проекта GNU. |
1985 | Основание FSF (Free Software Foundation) — Фонда свободного программного обеспечения. |
1986 | Первый релиз DNS-сервера BIND (сокр. от англ. «Berkeley Internet Name Domain»). Изобретение CVS (сокр. от англ. «Concurrent Versions System») — Централизованная система управления версиями. |
1988 | Основание OSF (Open Software Foundation) — Фонда открытого программного обеспечения. Партнерство Sun Microsystems и AT&T. |
1989 | Первый релиз лицензии GNU GPL. Изобретение Всемирной Паутины (World Wide Web). |
1991 | Для коммерциализации BSD создается компания BSDi (Berkeley Software Design Inc.). Линус Торвальдс выпускает ядро Linux. |
1992 | AT&T подает в суд на BSDi. |
1993 | AT&T делает ответвление Unix. Основание проекта Debian. Старт проекта NetBSD. Старт проекта FreeBSD. Основание Red Hat. |
1994 | Урегулирование судебных разбирательств между AT&T и BSDi. Первый номер журнала Linux Magazine. Портирование Linux под ARM. Фонд OSF прекращает разработку ПО. |
1995 | Роспуск CSRG. Интернет открыт для коммерческого использования. Старт проекта OpenBSD. |
1998 | Первая конференция LinuxWorld Conference and Expo. На саммите, посвященному свободному программному обеспечению, впервые звучит термин «open source». Основание Open Source Initiative — организации, отвечающей за продвижение открытого программного обеспечения. |
1999 | **Эрик Элдред, представляемый Лоуренсом Лессигом, пытается оспорить «Закон о продлении срока охраны авторских прав». Первая австралийская конференция разработчиков Linux (Linux.conf.au). Основание Linux Professional Institute. Публикация антологии «Open Sources: Voices from the Open Source Revolution». |
2000 | Основание Linux Foundation — некоммерческого консорциума развития Linux. |
2001 | Первый самит разработчиков ядра Linux. Публикация эссе Эрика Рэймонда на тему методов разработки ПО — «Собор и Базар». |
2002 | Лоуренс Лессиг создает первую лицензию Creative Commons. |
2003 | Создание Android — ОС для мобильных устройств, созданной на базе ядра Linux. Старт судебного разбирательства с SCO. |
2004 | Основание компании Canonical Ltd., занимающейся разработкой и распространением дистрибутива Ubuntu. ***Дело Welte против Sitecom в Германии подтверждает юридический статус лицензии GNU GPL. |
2005 | Бразилия и Перу объявили о планах внедрения программного обеспечения с открытым исходным кодом в государственных учреждениях. Первый релиз базы данных CouchDB. Линус Торвальдс создает Git — распределенную систему управления версиями. Старт проекта Arduino — свободных аппаратно-программных средств для построения и прототипирования простых систем, моделей и экспериментов в области электроники и автоматики. |
2006 | Запуск AWS (Amazon Web Services). Релиз первого одноплатного компьютера Raspberry Pi. |
2007 | Ведущие компании по виртуализации предлагают Открытый формат виртуализации (сокр. «OVF» от англ. «Open Virtualization Format») Публикация книги Йохай Бенклер, «The Wealth of Networks». |
2009 | Министерство обороны США запускает Forge.mil для совместной работы над ПО с открытым исходным кодом. Начинается работа над микроядром MirageOS. |
2010 | Создание OpenStack — проекта виртуализации с открытым исходным кодом. Oracle подает в суд на Google из-за проблем с авторскими правами на Java и Android. |
2012 | Публикация книги Габриэллы Коулман, «Coding Freedom». Microsoft входит в ТОП-20 контрибьюторов ядра Linux. |
2014 | Google выпускает открытую систему управления контейнерами — Kubernetes. |
2017 | Все самые быстрые суперкомпьютеры в мире работают на базе ядра Linux. Публикация книги Кристофера Тоцци, «For Fun and Profit: A History of the Free and Open Source Software Revolution». |
2019 | IBM покупает компанию Red Hat. |
Примечания:
*Официальная публикация манифеста GNU произошла в 1985 году.
***Дело Welte против Sitecom в Германии подтверждает юридический статус лицензии GNU GPL.