0. Введение

В ландшафте истории вычислительной техники немного сюжетов так же важны и неожиданны, как Сага о Unix.

Эта Сага начиналась в скромных коридорах Bell Labs в ‘69 и длится по сей день, простираясь во все уголки современных вычислений, а значит и современности.

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

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

1. Рождение и взлёт Unix

Генезис Unix - это история случайности и инноваций.

В 1969 году, в Bell Labs, игра под названием Space Travel стала неожиданным катализатором для Unix.

Кен Томпсон, Деннис Ритчи и их коллеги, стремясь создать более эффективную операционную среду, где можно было бы запускать любимую игру, заложили основные концепции для Unix.

1970-е годы (‘70-‘79) стали временем быстрого развития Unix, в том числе с созданием языка программирования C Деннисом Ритчи, языка, который стал синонимом Unix.

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

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

Этот период был отмечен духом открытости, исследований и стремлением создать что-то универсальное и мощное.

2. Коммерциализация и фрагментация Unix

1980-е годы (‘80-‘89) принесли значительные изменения.

Компьютеров становилось больше, а за успехом Unix последовала и реакция AT&T, родительской компаниии Bell Labs: началась коммерциализация Unix.

Это привело к появлению различных проприетарных систем Unix, каждая из которых стремилась к доминированию на растущем рынке.

Влияние на сообщество Unix было глубоким.

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

Этот период почти привёл к полному закрытию некогда открытой модели разработки Unix, угрожая сорвать фундаментальные принципы, которые позволили Unix случиться.

3. Войны закрытого программного обеспечения и рождение GNU GPL

В ответ на проприетарную волну 1980-х (‘80-‘89) и 1990-х (‘90-‘99) годов возникло контрдвижение.

Ричард Столлман, обеспокоенный выжиганием свобод программного обеспечения, начал проект GNU и создал Общую публичную лицензию GNU (GPL) в ‘83.

GPL была манифестом и необходимым оружием самообороны, обеспечивающим, чтобы программное обеспечение под её крылом всегда оставалось свободным и открытым, в противовес проприетарным моделям лицензирования, продвигаемыми крупными корпорациями.

Это был переломный момент не только для Unix, но и для всего мира программного обеспечения.

4. Linux

В эти бурные времена началась новая глава с появлением Linux.

Линус Торвальдс, финский студент, выпустил первую версию ядра Linux в ‘91.

Linux, сочетая принципы Unix с свободами, провозглашёнными GPL, стал светлым лучиком надежны открытого ПО.

Это была не просто альтернатива Unix; это было заявление о направлении, в котором, по мнению его сторонников, могла и должна была двигаться разработка программного обеспечения.

Сегодня большинство серверов мира работает на Linux, а сам Linux до сих пор открыт и имеет огромное сообщество. См. Какие дистрибутивы Linux бывают.

5. Другие потомки Unix

Влияние Unix не остановилось на Linux.

Различные системы, подобные Unix, такие как BSD (с ‘70-х), Solaris и macOS (с 2001), каждая прокладывала свой путь.

BSD, с её академическими корнями, продолжила традицию разработки открытого программного обеспечения.

Solaris, разработанный Sun Microsystems, и macOS, наследник NeXTSTEP и продукт видения Apple, показали гибкость и адаптивность принципов Unix в различных, в т.ч. коммерческих средах.

6. Влияние Unix на языки программирования

Наследие Unix также глубоко переплетено с эволюцией языков программирования.

Разработка языка C Деннисом Ритчи в Bell Labs стала переломным моментом.

Он предоставил язык, который был одновременно мощным и универсальным, став краеугольным камнем в среде Unix.

Отдельным важным эпизодом в этой истории был момент, когда Ритчи заставил коллег чаще использовать функции, пообещав им, что вызов функции в C довольно дешёвая или даже бесплатная в плане времени выполенения операция. Это было неправдой, вызов функции — операция далеко не из дешёвых, но зато функции являются очень хорошим способом абстракции и сильно упрощают работу над такими сложными проектами, как Unix.

Помимо C, Unix способствовала созданию среды, в которой могли процветать такие языки, как Perl, Python и различные языки сценариев оболочки, каждый из которых внёс свой вклад в богатую палитру разработки программного обеспечения.

7. Философия Unix и её долговечное наследие

В самом сердце влияния Unix лежит её философия, набор принципов, которые направляли разработку программного обеспечения на протяжении десятилетий.

Эти принципы, включая модульность, ясность, простоту и прозрачность, текстовые интерфейсы и пр. не просто технические директивы, но и философские постулаты.

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

Эта философия превзошла сам Unix, незаметно и последовательно влияя на то, как поколения программистов думают о разработке программного обеспечения и подходят к ней.

8. Руководство ненавистников Unix: Критический взгляд

Никакое исследование Unix не будет полным без признания его критиков, наиболее известных благодаря “Руководству ненавистников Unix”.

Эта компиляция жалоб и критики служит напоминанием о том, что Unix, как и любая система, имеет свои недостатки.

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