В этом году ядру Linux исполняется 27 лет. ОС на его базе используют многие корпорации, государственные, исследовательские учреждения и дата-центры по всему миру.

За более чем четверть века вышло немало статей (в том числе и на Хабре), рассказывающих о разных отрезках истории Linux. В этой серии материалов мы решили выделить наиболее значимые и интересные факты, связанные с этой операционной системой.

Начнем с разработок, которые предшествовали Linux, и истории появления первой версии ядра.


/ Flickr / Toshiyuki IMAI / CC BY-SA

Эпоха «свободного рынка»


Появление Linux считается одним из важнейших событий в истории открытого ПО. Рождение этой операционной системы во многом обязано идеям и инструментам, которые формировались и «зрели» десятилетиями в среде разработчиков. Поэтому для начала обратимся к истокам «опенсорсного движения».

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

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

Эта система (и другие продукты SHARE) пользовалась популярностью у производителей компьютерного оборудования. Благодаря политике открытости они могли предложить клиентам не только аппаратное, но и программное обеспечение без дополнительных затрат.

Приход коммерции и рождение Unix


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

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

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

Последняя была слишком сложной и работала только на платформах GE-600 и Honeywell 6000. Переписанная на языке СИ Unix должна была стать портативной и более простой в использовании (во многом благодаря иерархической файловой системе с единым корневым каталогом).

В 50-х холдинг AT&T, в состав которого на тот момент входила Bell Labs, подписал соглашение с правительством США, запрещающее корпорации продавать программное обеспечение. По этой причине первые пользователи Unix — научные организации — получали исходный код ОС бесплатно.

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

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

Открытая Unix-подобная система возымела успех, на что сразу обратили внимание в AT&T. Компания подала в суд, и авторам BSD пришлось удалить и заменить весь задействованный исходный код Unix. Это немного замедлило распространение Berkeley Software Distribution в те годы. Последняя версия системы вышла в 1994 году, но сам факт появления свободной и открытой ОС стал важной вехой в истории опенсорсных проектов.


/ Flickr / Christopher Michel / CC BY / Фото обрезано

Назад — к истокам свободного ПО


В конце 70-х сотрудники Массачусетского технологического института написали драйвер для принтера, установленного в одной из аудиторий. Когда бумага застревала и создавалась очередь из заданий на печать, пользователи получали уведомление с просьбой устранить проблему. Позже в отделе появился новый принтер, для которого сотрудники захотели добавить такую функцию. Но для этого нужен был исходный код первого драйвера. Штатный программист Ричард Мэттью Столлман (Richard M. Stallman) запросил его у коллег, но получил отказ — выяснилось, что это конфиденциальная информация.

Этот незначительный эпизод, возможно, стал одним из судьбоносных в истории свободного ПО. Столлман негодовал из-за сложившегося положения вещей. Его не устраивали ограничения, накладываемые на обмен исходным кодом в ИТ-среде. Поэтому Столлман решил создать открытую операционную систему и позволить энтузиастам свободно вносить в нее изменения.

В сентябре 1983 года он объявил о создании проекта GNU — GNU’s Not UNIX («GNU не Unix»). В его основе лежал манифест, который послужил и базисом для лицензии на свободное программное обеспечение — GNU General Public License (GPL). Этот шаг стал началом активного движения за открытое ПО.

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


/ Flickr / Christopher Michel / CC BY

Рождение Linux и первых дистрибутивов


В 1991 году молодой программист из Хельсинкского университета Линус Торвальдс осваивал Minix. Его эксперименты с ОС переросли в работу над совершенно новым ядром. 25 августа Линус устроил открытый опрос группы пользователей Minix о том, что их не устраивает в этой ОС, и анонсировал разработку новой операционной системы. В августовском письме есть несколько важных тезисов о будущей ОС:

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

25 августа принято считать днем рождения Linux. Сам Линус ведет отсчет от другой даты — 17 сентября. Именно в этот день он загрузил первый релиз Linux (0.01) на FTP-сервер и отправил электронное письмо людям, проявившим интерес к его анонсу и опросу. В исходном коде первого релиза сохранилось слово «Freaks». Так Торвальдс планировал назвать свое ядро (комбинация слов «free», «freak» и Unix). Администратору FTP-сервера не понравилось название, и он переименовал проект в Linux.

Далее последовала череда обновлений. В октябре того же года была выпущена версия ядра 0.02, а в декабре — 0.11. Изначально Linux распространялся без лицензии GPL. Это означало, что разработчики могли пользоваться ядром, модифицировать его, но не имели права перепродавать результаты своих трудов. Начиная с февраля 1992 года, все коммерческие ограничения были сняты — с релизом версии 0.12 Торвальдс изменил лицензию на GNU GPL v2. Этот шаг Линус позже назвал одним из определяющих факторов успеха Linux.

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

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

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

Первый дистрибутив — MCC Interim Linux — был создан на основе версии 0.12 в феврале 1992 года. Его автор — программист из Компьютерного центра университета Манчестера — назвал разработку «экспериментом» с целью устранить некоторые недостатки в процедуре установки ядра и добавить ряд функций.

Вскоре после этого число пользовательских дистрибутивов значительно возросло. Многие из них остались локальными проектами, «прожившими» не более пяти лет, например, Softlanding Linux System (SLS). Однако были и дистрибутивы, которым удалось не только «закрепиться» на рынке, но и во многом повлиять на дальнейшее развитие опенсорсных проектов. В 1993 году состоялся релиз двух дистрибутивов — Slackware и Debian, — которые дали старт серьезным переменам в индустрии свободного ПО.

Debian создал Иан Мердок (Ian Murdock) при поддержке Free Software Foundation Столлмана. Он задумывался как «изящная» альтернатива SLS. Debian поддерживается по сей день и является одной из самых популярных разработок на базе Linux. На его основе, в свою очередь, был создан ряд других важных для истории ядра дистрибутивов — например, Ubuntu.

Что касается Slackware, это — еще один ранний и успешный проект на базе Linux. Его первая версия вышла в 1993 году. По некоторым оценкам, через два года на долю Slackware приходилось уже около 80% установок Linux. И десятилетия спустя дистрибутив оставался популярным среди разработчиков.

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

Именно с этого момента начинается эпоха коммерциализации в истории Linux, о которой мы поговорим в следующей статье.

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

Комментарии (22)


  1. IgorPie
    25.02.2019 00:54

    Всегда удивляло, что люди писали ОС, которая была сама в себе. Ни игр, ни прикладного софта. Денег тоже не сулила.
    А могли бы играть в doom или heretic.


    1. raamid
      25.02.2019 01:26
      +3

      И хорошо, что не играли.
      Я вот как-то ради прикола написал диспетчер многозадачности для DOS с использованием прерывания таймера. Причем мотивом послужила статья в Компьютер Пресс, в которой говорилось что такое невозможно сделать. Это было захватывающе, впечатления гораздо более яркие чем завалить босса в Diablo. Жаль что статью не написал, я тогда не понимал, что это следует сделать.


      1. 61brg
        25.02.2019 08:22

        Так-то это была тема лабораторной работы


        1. kikiwora
          25.02.2019 12:04
          +1

          Это тянет на курсовую или даже дипломную. Конечно же, если вы всё делаете правильно и по-честному а не воруете чужие решения и не сдаёте работу тяп-ляп как это делают современные студенты (не все, но большинство).

          Уверен что человек много времени и сил на это потратил и многое продумал.
          Написать полноценный диспетчер многозадачности не так просто как вы думаете.
          Обычно на это дело выделяют как минимум целую команду разработчиков вместе с математиком. Не забывайте ещё про квантование по времени, о приоритетах процессов и их потоков и прочих нюансах.


          1. chnav
            25.02.2019 16:54

            Не забывайте ещё про квантование по времени, о приоритетах процессов и их потоков и прочих нюансах.
            Самой большой проблемой реализации многозадачности DOS являются нереентерабельные обработчики прерываний BIOS и DOS. Надо делать врапперы на каждое прерывание, действительно адская работа. Помню с каким восторгом и удивлением смотрел после этого на OS/2 и Windows NT — вытесняющая многозадачность на PC выглядела чудом ))


            1. kikiwora
              25.02.2019 17:43

              Стоит ли ожидать статью на эту тему?


              1. chnav
                25.02.2019 19:51

                Я не настолько глубок в теме. У нас в 90-е использовали готовый пакет от какой-то немецкой компании, в документации были упомянуты эти тонкости. И то, шаг вправо-влево, неудачный резидент или экстендер памяти 386 — всё падает. Но в принципе добивались стабильной работы.


      1. Vitalley
        25.02.2019 11:01

        Теперь пора статью написать


    1. amarao
      25.02.2019 15:02

      Потому что «пользователь ЭВМ» в то время подразумевало, как минимум, умение программировать. Есть компилятор и приличный язык? Можем решать вычислительные задачи.

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


      1. IgorPie
        25.02.2019 21:39
        +1

        В какое, в то? Компьютеры использовали на работе, а после (во время) — резались в игры.
        В 1991м было достаточно из нортон коммандера уметь запускать лексикон, мультиэдит или приложения на dBaseIII+ / FoxPro. А если умеешь на 9-игольчатом принтере печатать, то ты — госу.
        Владельцы Амиг и Атари смеялись над писюшниками, что их ПК годятся лишь как компы секретаршам.
        Но глобальные сети, как мы видим, уже были.


        1. amarao
          26.02.2019 13:27

          Это одно из применений. Большинство же пользователей unix-систем вполне владели навыками программирования. Да, это разные миры, и на «секретаршах» поднялась MS, но целевая аудитория юникс-систем подразумевала достаточно квалифицированных пользователей.


          1. chnav
            26.02.2019 15:18

            Полностью солидарен. Unix-системы в 90-е были не очень-то и доступны рядовому студенту, в результате весь пыл и энергия выплеснулись на изучение/программирование DOS/Windows/OS2 на платформе x86 ))) К тому времени как Linux развернулся — лично мне было уже поздно менять среду обитания, тем более весь производственный софт у нас был на платформе Windows (опять же из-за форы Microsoft) и так сохраняется по сегодняшний день.
            Я не могу объяснить своим более молодым коллегам почему я не выучил Linux в институте — да просто не было его!!! А потом нужда в нём отпала. Был правда один навигационный комплекс на Linux, который переехал ещё с рабочих станций Sun, и это была мука… Абсолютно чужеродная среда )))
            Сейчас благодаря Windows 10 WSL есть шанс как-то _плавно_ влиться в эту экосистему.


    1. da-nie
      25.02.2019 18:38

      Меня вот больше удивляет, что другие люди такой ОС заинтересовались и стали развивать. Заинтересовать своим проектом и вызвать желание в нём разбираться у другого человека не очень просто. Особенно, когда аудитория не такая большая, как сейчас, когда кто-нибудь да найдётся. Ну и ещё что-то мне кажется, что в начале девяностых самодельное осестроение (хотя бы в кусочках) не было чем-то особенным.


      1. IgorPie
        25.02.2019 21:45

        Думаю, можно похвалить не только Торвальдса и соратников, но их учителей и преподавателей. Нашли общий язык, организовались, метко выбрали направление, нашли публичные лицензии и т.п.


  1. lisovsky1
    25.02.2019 11:42
    -2

    Мне кажется, что прочитал пересказ фильма «Revolution OS», в переводе Бачило.


  1. kikiwora
    25.02.2019 12:20

    Хорошая статья. Мне понравилась. Прочитал с удовольствием.
    Спасибо автору, я бы плюсанул, если бы мог :(

    А вообще скажу что уже очень давно хочу сам написать свою простую ОС для души и просто чтобы разобраться во всём. Может как дайду до этого и статью напишу. А то столько всего делал, но никому не рассказывал :)

    Жду следующих частей с нетерпением.


  1. GeMir
    25.02.2019 15:37

    Собственно, «Just For Fun» Торвальдса читается вполне неплохо.


    1. yerden
      26.02.2019 15:21

      интересно, что он в этой книге то ли в шутку, то ли всерьёз рассказал про историю с придумыванием названия «Linux» и добавил, что теперь всегда можно будет идею этого названия свалить на другого :)


  1. saipr
    25.02.2019 22:48

    Открытая Unix-подобная система возымела успех, на что сразу обратили внимание в AT&T.

    В Советском Союзе тоже обратили внимание на UNIX. Была целая госпрограмма по его продвижению под названием МОС ЕС — мобильная операционная система единой серии.


    1. Danik-ik
      26.02.2019 08:16

      Ссылка в никуда...


      1. saipr
        26.02.2019 21:04

        Спасибо. Сейчас должна быть доступна! Еще раз спасибо


  1. jorikaaa
    26.02.2019 15:23

    Согласен, книжка очень интересная, читается на один раз. сам начинал с Красной Шапочки, если кто помнит такую. Для ценителей истории очень много страрых Линукс дистрибутивов досупно здесь — https://www.linux-distros.com Всем удачи!