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 и его потомков.