Почему Линукс

         

Чудо техники


То, что произошло за эти пятнадцать-двадцать лет, так и хочется назвать чудом. Только самые смелые умы в то время смогли предвидеть всего лишь некоторые последствия технических достижений середины 70-х годов. Одним из таких достижений был микропроцессор, вместивший на одном кристалле кремния достаточно логических элементов, чтобы сделать сначала калькулятор, а затем и полноценный программируемый микрокомпьютер. Так началась первая компьютерная революция, давшая доступ к ЭВМ "широким народным массам". А в самом начале 80-х, с появлением на сцене компьютерного гиганта IBM и дерзкого новичка Intel с их массовыми 16-разрядными процессорами 8086, родилось понятие ПК - Персонального Компьютера.



Дистрибутивы Линукс


Пожалуй, пора пояснить, что название Линукс и весь этот проект правильно было бы относить только к ядру ОС. Ядро обеспечивает остальным программам доступ к ресурсам компьютера, к аппаратуре, но его недостаточно для работы системы. Можно провести некоторую аналогию с БИОС'ом (базовой системой ввода-вывода) в IBM ПК. Ядро Линукс можно назвать этаким InternetБИОС'ом, или СуперБИОС'ом 21-го века: POSIX-совместимым, сетевым, многопользовательским, с поддержкой практически всех файловых систем и устройств. Для работы необходим еще набор обычных Юникс программ и утилит. Ядро Линукс является частью того самого проекта ГНЮ, который начал Ричард Столмен, и, строго говоря, полное название работающей системы ОС ГНЮ/Линукс.

Позже наборы программ, готовых к установке и настроенных для совместной работы, стали оформлять в виде дистрибутива. Когда количество программ в дистрибутиве перевалило за сотни, каждую программу стали оформлять в виде готового к установке пакета, и специальная программа-установщик отслеживала зависимость программ друг от друга или их конфликты. Первым массовым дистрибутивом был Slackware Патрика Фолькердинга. Сейчас чрезвычайно популярен формат пакетов RPM, созданный фирмой Red Hat Sofware и используемый в их дистрибутиве, а также в продуктах Caldera, во многих других, и в том числе в , русскоязычном дистрибутиве Сергея Кубушина из Киева.

Еще один универсальный формат пакета и программу-установщик разработали в рамках проекта Дебьян. Этот проект отличает его распределенность - как и ГНЮ, и Линукс, его участники кооперируются через Интернет, а также масштабность - свыше четырех тысяч пакетов в последней версии. Дебьян является интернациональным проектом, включает документацию на многих языках, и свободен от ограничений на технологии шифрования и защиты информации.

Дистрибутивы значительно упростили установку и первые шаги в освоении Линукс для новичков. Между разработчиком программы и ее пользователем появился посредник - человек, сопровождающий этот пакет, т.н. maintainer, сопроводитель. В Интернет бесчисленное количество информации и программ, и сопроводитель делает важнейшую работу по нахождению самых нужных и актуальных, и встраиванию их в сложную систему.

И наконец, дистрибутивы, тиражируемые на компакт-дисках, позволили миллионам пользователей впервые познакомиться с Линукс.



Два новых рынка


Окинем взглядом еще раз общую картину с вычислительной техникой в США в начале 80-х. Именно США являлись и остаются до сих пор далеко оторвавшимся от остальных лидером в области вычислительной техники. Многие тенденции, проявившиеся сначала в США, происходят затем и в других странах. В любом случае, возвращаться на родину в СССР нам еще рано - компьютеры еще не стали массовыми, отечественные разработки в основном академические или военные, а компьютерная промышленность прочно в плену американских стандартов и технологий. К сожалению, все это интересно сейчас только историкам выч. техники, и может быть хорошим примером, как со сменой вычислительной платформы выбрасываются на ветер годы труда и миллиарды советских рублей.

Есть два пока мало взаимодействующих мира - новый стремительно растущий рынок ПК, и уже солидный рынок больших ЭВМ. Часть этого рынка корпоративных ВЦ уверенно заняли системы Юникс, работающие на самой разной аппаратуре, но показывающие хороший пример переносимости и взаимодействия программ. Производительность процессоров, перемалывающих данные и в больших, и в микроЭВМ, растет с похожей стремительностью - это так называемый закон Мура (Moore's Law) - удвоение мощности каждые полтора года. На рынке борются многие платформы, но в области ПК появился лидер, захвативший львиную долю рынка - это IBM PC совместимые компьютеры.

И снова важную роль в их популярности сыграла открытость - на этот раз открытость аппаратной архитектуры. Фирма IBM создала свой ПК на основе широко доступных компонентов, опубликовала подробное описание их взаимодействия, не требовала никаких отчислений за использование разработанной архитектуры. Этим самым IBM как бы пригласила всех желающих собирать аналогичные ПК, и в результате многие производители компьютеров и компонентов для них стали успешно работать на этом поприще. Вскоре вновь образованные фирмы превзошли родоначальницу ПК, фирму IBM, по объемам производства и продаж микрокомпьютеров.

Новый рынок оказал огромное влияние на целые страны. Например, Тайвань сумел создать условия для бурного роста своей компьютерной промышленности. Сейчас почти в любом компьютере, и в ПК, и в больших ЭВМ, и в самых фирменных, и в собранных дома, есть детали, произведенные в Японии, Сингапуре, Таиланде, Филлипинах. Оказалось, не нужны очень развитые наука, образование, специалисты по высоким технологиям. Достаточно создать выгодные условия, и современный легкий на подъем капитал сам принесет высокие технологии, построит на пустом месте автоматизированные производства. Все более заметна тенденция вести разработки там, где это возможно, т.е. в развитых странах, в научных и исследовательских центрах, а массовое производство разворачивать там, где более выгодные условия.

Те, кто не сделал свои системы открытыми, постепенно стали терять свою долю рынка, несмотря на все достоинства своих систем. Например, ПК фирмы Эппл(TM), обладающие многими преимуществами по сравнению с IBM совместимыми, и бывшие первыми во многих областях, удерживают лишь небольшую долю рынка в США. В других же странах большинство народа эти компьютеры никогда не видело. У компьютеров Эппл Макинтош(TM) еще в 84г. появился очень удобный ГИП (Графический Интерфейс Пользователя), продуманная архитектура, качественные надежные компоненты. Но производила их только фирма Эппл, стоили они дороже и в результате даже приверженцы и разработчики для этой платформы вынуждены были обратится к другим, более открытым и массовым платформам.

А ПК, совместимые с IBM, становились все более массовыми. Постепенно рынок микрокомпьютеров обошел по объему производства и сбыта и рынок больших ЭВМ, и многие классические отрасли промышленности, и стал одним из самых важных и влияющих на жизнь общества. Вдобавок к рынку ПК возник рынок программного обеспечения для них. Появились магазины, торгующие программами, и огромное число мелких и средних фирм, разрабатывающих эти программы. Часто эти программы продавались в больших красочных запечатанных коробках, и содержали дискеты с записанными программами, и книги, документацию по установке и использованию этой программы. В производстве и распространении этих программ, написании книг, в поддержке пользователей, и во многом другом участвовало все больше народа, и программисты уже не были самыми важными в этом процессе. Конечно, искусство и наука написания программ развивались, но успех на рынке они не определяли. Как и любой другой товар, программные продукты нужно продвигать на рынок, заманивать потребителя, проводить рекламные кампании. Появилась компьютерная пресса, издательства, специализирующиеся на компьютерной тематике, компьютерные выставки, и многое другое.



Феномен Линукс


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

Открытая распределенная модель разработки, существовавшая в Интернет с самого начала, продемонстрировала свою способность к созданию такой сложной программы как ОС. Эту модель, названную им "базарной", подробно проанализировал Эрик Рэймонд (Eric S. Raymond) в своей статье . Многие крупные фирмы изучают возможности этого метода, а такая известная фирма-разработчик программ, как Netscape Communications, принимает эту модель как основу для разработки новой версии своего Навигатора.

Линукс становится новой открытой компьютерной платформой, развивающейся одновременно для многих типов процессоров. Исходный код ядра включает поддержку всех Intel-совместимых процессоров, начиная с 386-ого, а также процессоров Alpha, Sparc, PowerPC, Motorola 68K, MIPS, ARM. Приложения, написанные для Линукс, одинаково и на полной скорости работают практически на любом современном процессоре.

Линукс не единственный подобный проект. Хорошо известны и авторитетны FreeBSD, HURD из проекта GNU. Но именно Линукс, как магнит, притягивает разработчиков из других подобных проектов и исследователей со всего мира. Симметричная многопроцессорность, объединение множества компьютеров в кластеры (проект Beowulf), протокол Интернет следующего поколения IPv6, новая сетевая файловая система Coda - вот только некоторые новости с переднего края компьютерной науки.

Новый уровень открытости, обилие и качество программ, разработанных и распространяемых по лицензии GNU GPL, оказывают влияние на другие, коммерческие версии Юникс, на вновь разрабатываемые системы. Cпециалисты все чаще убеждаются, что программы без исходного кода ущербны, менее надежны и не имеют долгосрочной перспективы. См., например, статью Евгения Шахтарина о .

В пользу Линукс прекратила свое развитие одна из старых и уважаемых версий Юникс - Irix, родная ОС для машин Silicon Graphics, и это, возможно, только начало. Производители аппаратуры выбирают открытую модель разработки ПО и привносят в нее свой богатый опыт и колоссальные ресурсы.

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

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



Инвестиции в Линукс


Как это ни покажется парадоксальным, большой капитал нашел в бесплатной открытой ОС массу возможностей для приложения. На первый взгляд проект, начатый и развиваемый из любопытства разношерстной неустойчивой толпой энтузиастов, вряд ли может заинтересовать большие деньги, старающиеся заработать еще больше денег. Но уже на второй взгляд видна их синергетическая общность. И сам Интернет, и проект ГНЮ, и инвестиционные рынки есть самоорганизующиеся структуры, возникшие и живущие по своим собственным законам. Они являются продуктами цивилизации, коллективного разума человечества. Современный уровень техники и связи лишь головокружительно ускорил все процессы, наполнил наш мир кажущимися парадоксами. Оглянемся вокруг: закрытая ОС от Микрософт и открытый для всех Интернет, персональная система и всемирная сеть, наивный доверчивый пользователь и коварные всепроникающие кракеры - не бОльшие ли это парадоксы.

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

Нападки хакеров на Микрософт никогда не прекращались, но отчетливый ответный залп прозвучал в конце 1998 года, в виде серии слухов и публикаций, носящий характер труднопереводимого на русский язык понятия FUD (fear, uncertainty, doubt). Это означает не прямо порочить продукты конкурентов, а понемногу сеять по отношения к противнику сомнения, неопределенность, страх. Затем последовала серия тестов, показавшая противоречащий повседневной практике результат - оказывается, при определенных условиях, для очень навороченного и нагруженного сервера, Windows NT может обогнать по скорости Линукс. Примечательна реакция на эти тесты. Они выступили сильным раздражителем для разработчиков, и в ядро Линукс сразу же встроили упрощенный, но быстрый веб-сервер, и поправили другие найденные слабые места.

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

Знаменательным событием стал выпуск акций фирмой Red Hat Software. Интерес к этим акциям превысил все прогнозы, их цена подскочила во много раз, соответственно и капитал фирмы. Этому примеру последовали другие, в Линукс стали вкладывать большие деньги. Ряд крупных фирм сделали на ГНЮ ОС серьезную ставку. В частности, Corel выпустил свой собственный дистрибутив и портировал под Линукс свои известные программы. Еще одним событием стал отказ Silicon Graphics от дальнейшего развития своей версии Юникс в пользу Линукс. Производители аппаратуры могут много выиграть и еще больше сэкономить, используя преимущества открытой модели разработки.

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



Линукс и бизнес


Стоит, пожалуй, еще раз внимательно посмотреть на лицензию , составленную Ричардом Столменом, после тщательных консультаций с юристами, на заре проекта ГНЮ. Хотя в бывшем СССР обращать внимание на лизензионные соглашения не принято, именно на лицензию ГНЮ стоит обратить внимание. Этот документ призван не ограничить права пользователя программы, и не защитить продавца от претензий покупателя, а гарантировать сообществу пользователей и программистов свободу использования, свободу развития и открытость исходного кода всех программ, авторы которых приняли эту лицензию ГНЮ. Как мы помним, Столмен начал свою борьбу против фирм, делающих деньги на секретности и недоступности исходного кода. Лицензия GNU GPL не позволяет никому, как бы богат он не был, купить права или как-либо присвоить или закрыть исходный код программы.

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

Самый первый пример, пожалуй, это создание и тиражирование дистрибутивов Линукс. Несколько известных фирм, во главе с Red Hat Software, показывают стабильный рост.

Другой пример - фирма Cygnus Support, одна из первых на рынке консультаций и поддержки. Программисты этой фирмы создавали заказные компиляторы для языка Си на основе аналогичной программы ГНЮ, опубликовали исходные коды своих программ, и продолжают успешно работать. Часть их работы включена в оригинальный проект ГНЮ.

Сейчас возникло целое движение по предоставлению консультаций и строительству сетей и сервисов на основе Линукс. Например, во всемирном списке подобных фирм Consultants-HOWTO я только что насчитал 590 по состоянию на 16.09.99г. Увы, всего 1 российская, и ни одной из ближнего зарубежья. Будем надеяться, что наши специалисты просто себя плохо рекламируют. Для подобного бизнеса не нужен капитал, а нужна лишь хорошая голова на плечах.

Но самое сильное влияние на бизнес Линукс оказал, проникнув в корпоративные сети и вычислительные центры. На продвижение ГНЮ ОС никто не затратил ни цента, и сначала это проникновение происходило подпольно и неофициально. Специалисты по секрету делились друг с другом открытием, что свободно доступная ОС и набор программ служат отличными серверами Интернет и серверами локальной сети. В 98г. присутствие Линукс в качестве серверной платформы стало очень заметным, этот год стал переломным для его восприятия. Производители ПО оценили надежность новой платформы, поддержку, оказываемую как в Интернет, так и отдельными дистрибьюторами, и то, что коммерческие закрытые программы могут сосуществовать с открытыми на полностью открытой платформе. Крупнейшие фирмы - производители СУБД, переносят на платформу Линукс свои основные продукты и раздают бесплатно версии с ограниченными возможностями для разработчиков. Многие другие известные фирмы перенесли или объявили о планах переноса своих программ на эту платформу. Пресса подробно освещала эти события, в отношении Линукс и его главного архитектора Линуса Торвальдса наблюдался настоящий ажиотаж.

В итоге оказалось, что бесплатная открытая ОС стала в прошлом 1998 году самой популярной Юникс платформой, сравнявшись со всеми остальными, вместе взятыми. Единственным конкурентом на рынке серверных платформ, имевшим заметный рост, оказалась Windows NT уже знакомой нам фирмы Microsoft.



Открытие мира


Другие провидцы еще раньше начали грандиозную работу по объединению удаленных компьютеров в сеть. Этот проект первоначально назывался DARPA и финансировался министерством обороны США, но затем созрел для самостоятельной жизни и развития, позже получил название Интернет. Сейчас Интернет это уже не проект, а некий особый мир, не только объединяющий разные компьютерные сети в единую глобальную, но и живущий и развивающийся по своим законам, населенный особым сетевым народом.

Но это мы забежали немного вперед, а пока, в начале 80-х годов, зародыш будущего Интернет понемногу обрастает новыми протоколами и сервисами, объединяет все больше компьютеров, но никак не влияет на ПК. Компьютеры, повязанные в глобальную сеть, все еще дорогие, сложные, и работают только при наличии мудрецов, гуру, понимающих внутреннее устройство ЭВМ и ОС, как правило ОС Юникс. Именно в этой системе рождались и проверялись идеи по взаимодействию компьютеров и пользователей в глобальной сети, создавались новые сервисы. Система Юникс лишь немного старше проекта Интернет, и предоставила удобную платформу, среду для роста сетей, включенных в Интернет. Про историю создания и саму ОС Юникс написано много книг, но нам, для дальнейшей истории, важно понять те ее особенности, которые выделили ее из других подобных систем и обеспечили ей такой рост популярности.

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



Открытость и стандарты


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

Позже появились коммерческие варианты ОС Юникс, и вскоре возникла проблема согласования многочисленных версий. Эту проблему пыталась решить сначала компания АТТ, выпуская новые версии Юникс, а затем специально созданные комитеты по стандартизации. Наиболее важным результатом этой деятельности стал набор стандартов под общим названием Позикс - POSIX (Portable Operating System Interface for Computing Environment). Операционные системы, соблюдающие эти стандарты, называют открытыми. Это совсем другое понятие открытости системы, чем то, которое упомянуто выше. Оно не подразумевает доступности исходного кода программы, но гарантирует, что тот, у кого этот код есть, например, разработчик программы, без особого труда перенесет ее из одной открытой системы в другую. В последнее время программы с опубликованным, общедоступным исходным кодом стали называть OSS (Open Source Software). В русском языке этот термин еще не устоялся, попробуем назвать его ПОИК (Программы с Открытым Исходным Кодом), или может быть СОМО (Совершенно Открытое Мат. Обеспечение ).

Почему столько внимания к разным видам открытости систем и программ? Ведь как-то программы работают и в закрытых системах. Да, действительно, можно писать программы только для какой-то одной платформы. Но если вдруг эта платформа изменится, а, напомню, это программно-аппаратная платформа, т.е. зависящая и от аппаратуры, и от операционной системы, программного окружения, то придется значительно или полностью переделывать такую программу. Это означает крайне неразумное использование труда программистов, и история выч. техники уже знает много примеров смены платформ и связанных с этим колоссальных потерь времени и денег. Разработка стандартов POSIX для Открытых Систем и была призвана уменьшить такие потери и продлить жизнь программам. Соблюдать эти стандарты позже стали и другие системы, отличные от Юникс.

И еще немного задержимся на программах и стандартах. Операционная система является самой первой запускаемой на компьютере программой. Именно она запускает на выполнения все остальные т.н. прикладные программы, предоставляет им ресурсы компьютера. Программы взаимодействуют с ОС через ИПП (Интерфейс Прикладного Программирования), или по-английски API. Именно наборы таких API и определили стандарты POSIX. Закрытые системы также предоставляют свой API для всех желающих создавать программы для этой платформы, и стараются через такой API обеспечить совместимость программ при развитии системы. В конечном счете популярность платформы и величина рынка определяются тем, сколько программистов приняли этот API и стали создавать в нем программы.



Отставание ПО от возможностей процессора


В 1985 году фирма Intel выпустила процессор третьего поколения в своей самой массовой серии - Intel 80386. Этот процессор обрабатывал 32-разрядные данные, поддерживал адресацию большого объема памяти и многозадачность. Он мог быть основой не только мощной персональной ЭВМ, но и обслуживать одновременно много пользователей и приложений. Ставшая к тому времени стандартной ДОС фирмы Микрософт никак не использовала эти новые возможности. И тогда незыблемый авторитет в области компьютеров IBM и преуспевающий продавец программ Микрософт начали совместный проект по разработке новой ОС для нового поколения процессоров. OS/2(TM), так назвали новую систему, должна была предоставить новую многозадачную платформу для работы как приложений ДОС, так и будущих программ специально созданных для новой ОС.

Первая версия OS/2 появилась в начале 1988г. Вскоре, однако, Микрософт вышла из совместного проекта, поставив перед собой другие цели. Попробуем понять эти цели и последствия этого шага, весьма похожего на предательство партнера и вызвавшего много суждений.

Во-первых, Микрософт сохранила монополию на рынке ОС, единолично владея закрытой системой.

Во-вторых, Микрософт начала свой собственный проект, графическую оболочку Windows(TM) на основе ДОС. Версия Windows 3.0 вышла в 1990г., получила огромную популярность, и со временем стала стандартом де-факто. Пользователи получили новый графический интерфейс, а разработчики новый API, позволяющий создавать более удобные графические программы. Появилась новая платформа, сохранившая многие недостатки платформы ДОС. Вплоть до версии Windows NT(TM) API Windows оставался 16-разрядным, не обладал встроенной многозадачностью, не использовал возможности новых поколений процессоров.

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



ПК в СССР


В наших условиях правильнее было бы называть эти компьютеры ПККП - Персональный Компьютер Коллективного Пользования. На первых порах, чтобы за ним поработать, выстраивалась очередь. Даже те первые версии программ и игр были откровением, насколько удобной и увлекательной может быть работа на компьютере. Имена Питер Нортон, Борланд, Аштон Тейт, Клиппер звучали как музыка для посвященных. Появились свои отечественные герои - русификатор Антона Чижова, редактор текстов "Лексикон" Евгения Веселова. Стоили первые ПК немыслимые для советского человека деньги - например, как пять автомашин или как две хорошие квартиры. С другой стороны, для госпредприятий покупка новомодной игрушки предоставляла отличную возможность потратить казенные деньги и получить огромные по сравнению с зарплатой комисионные в собственный карман. Похожее происходило и с разработкой ПО (Программного Обеспечения).

Была попытка создать отечественную ДОС для ПК, полностью на русском языке. Вскоре, однако, обилие западных программ и полное игнорирование авторских прав сформировали особый советский рынок ПО. Любая не защищенная от копирования программа сразу же тиражировалась всеми желающими безо всякого риска быть наказанными. Разработчику приходилось придумывать способы защиты от копирования, а другие старались эту защиту сломать. Коллективы, пытавшиеся создавать массовые программы для ПК, были в очень тяжелых условиях конкуренции с фактически бесплатным ПО американских фирм. Ни уговоры не воровать, ни призрачные льготы на сопровождение, ни отсутствие документации не могли заставить советского человека выложить годовую зарплату за то, что все вокруг использовали бесплатно.



Последствия коммерциализации


Одно негативное последствие коммерциализации программирования заметил и попытался с ним бороться Ричард Столмен (Richard M. Stallman, иногда просто rms), сотрудник лаборатории искусственного интеллекта МИТ (Массачусетского Института Технологий). В стенах этого ВУЗ'а когда-то возникло движение хакеров, и Столмен не хотел терять ту атмосферу, дух творчества и сотрудничества, присущие этому движению. Создание программ подразумевает коллективную работу, обмен идеями, обязательную открытость исходного кода. При создании коммерческих программ вокруг исходного кода создается завеса секретности, и результат труда коллектива программистов становится собственностью фирмы, нанявшей их на работу. Без доступности исходного кода, считает Ричард Столмен, этот труд пропадает для общества. Хорошие идеи и открытия не получают должного признания, одна и та же работа делается многократно. Чтобы переломить эту тенденцию, rms опубликовал свой революционный манифест. Он поставил цель создать совершенно открытую операционную систему, с доступными исходными кодами и похожую на ОС Юникс. Тем не менее его призыв получил название манифест ГНЮ (Гню Не Юникс), или по-английски GNU (GNU Not Unix). Есть .

Его идеи и цель были не только очень необычными, но для многих казались вообще неосуществимыми. Работа предстояла огромная, а денег на ее выполнение вообще не предполагалось. Свой труд Ричард Столмен собирался раздавать бесплатно и никак не ограничивать его использование. Детально условия распростанения программ из будущей системы Столмен сформулировал в документе под названием GNU GPL (GNU General Public Licence). Этот довольно длинный и подробный в юридических формулировках документ, иногда сокращенно обозначаемый Copyleft &copy , гарантировал авторство, свободу использования и доступность исходного кода программ. Можете познакомиться с этим документом - .

О деньгах в этом документе почти не говорится, но именно деньги вызвали больше всего споров и кривотолков. Для продвижения этого проекта Столмен основал добровольную организацию Фонд Свободного Программного обеспечения, по английски FSF (Free Software Foundation), и это слово "free", означающее также и "бесплатный", вызвало самую большую полемику. Некоторые программисты, как оказалось, совершенно напрасно, побоялись, что они могут остаться без средств к существованию, свободно раздавая свои программы. Детищу Ричарда Столмена много лет спустя придет феноменальный, сказочный успех, но нам пора обратить свой взор в родную страну, где в это время начинают появлятся первые ПК.



Предвидение Билла Гейтса


Одним из провидцев, увидевших перспективу нового рынка, был Билл Гейтс (William B. Gates), в ту пору студент колледжа. Мы еще не раз обратимся к этой легендарной и противоречивой личности, поэтому заметим, что приблизительно в это же время он бросил учебу в колледже и основал фирму для торговли программами и назвал ее Microsoft(TM).

Предвидение господина Гейтса размножено с тех пор бесчисленными рекламными картинками, книгами, цитатами в прессе - "персональный компьютер на каждый рабочий стол, в каждый дом". Другим его предвидением было то, что программы для ПК окажутся таким ходовым товаром. Кстати, Билл Гейтс и сам писал программы, и одна из его программ принесла ему скандальную известность. Эта программа была интерпретатором языка программирования Бейсик для одной из самых первых микроЭВМ Альтаир, и перфоленту с этим Бейсиком без его согласия стали копировать и использовать многие энтузиасты микрокомпьютеров. Тогда еще совсем юный Вилли Гейтс начал в прессе полемику, попросив заплатить за использование своей программы. Для многих казалось абсурдом требовать деньги за такое увлекательное занятие, как возня с компьютерами и программами, да еще со своих же коллег, но другие вняли его доводам и прислали чеки на требуемую сумму.



Проблемы и перспективы


У Линукс, конечно, есть и еще не решенные проблемы. Врожденная открытость этой платформы пугает некоторых производителей аппаратуры, желающих сохранить в секрете детали взаимодействия с их устройствами. Например, только недавно фирма Интел предоставила подробную спецификацию своей новой интеллектуальной системы ввода-вывода I2O.

Дистрибутивы Линукс в первую очередь включают серверные приложения, или такие традиционные для Юникс программы как Emacs, TeX, языки программирования. Пользовательские программы и игры долгое время были на втором плане. Отрадно, что в последнее время отношение к таким программам переменилось. С поразительной скоростью развивается проект Gnome, предоставляющий платформу для создания графических объектно ориентированных приложений. И число самих таких приложений быстро растет. Благополучно улажены споры вокруг системы KDE с теми же возможностями, что и GNOME, но имевшей ограничения на использование. Теперь эту систему можно включать в дистрибутивы.

Число оконных менеджеров для графической системы X-Windows даже слишком велико, подчас дезориентируя пользователей и безжалостно расходуя время на настройки.

Кроме дистрибутивов, включающих только общедоступные программы, можно приобретать и использовать коммерческие программы, в виде исполняемых файлов. Надеюсь, читатель уже понимает все неудобства и ограничения, вызванные закрытостью исходного кода таких программ. Приятно, однако, что не без влияния OSS-программ, цены на них обычно ниже, чем у "Wintel" аналогов, а предварительные или более старые версии часто раздают бесплатно.

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

Есть еще несколько областей, где Линукс имеет особые преимущества и перспективы. Пытаясь снизить сложность и дороговизну управления сетей ПК на платформе "Wintel", несколько крупнейших фирм разработали новое понятие и по сути новую платформу СК (Сетевого Компьютера). Такой СК должен работать на разных типах процессоров, загружать программы с сервера, централизовано управляться. Все эти возможности уже встроены в Линукс. Достаточно загрузить через сеть один файл - образ ядра Линукс, смонтировать удаленную файловую систему, и СК готов! Если есть желание исполнять программы на универсальном языке Java, то, пожалуйста, Линукс это умеет. Но гораздо эффективнее уникальная возможность ГНЮ/Линукс иметь любую программу в родном оптимизированном исполняемом коде практически для всех имеющихся на рынке процессоров.

Некоторые фирмы, например Cyrix и их компьютер MediaGX(TM), успешно помещают основные компоненты ПК в 2-3 микросхемы, включая процессор, видео, звук, сеть, и проч. Такой ПК в ближайшее время станет чрезвычайно дешев и откроет новые огромные рынки в развивающихся, самых населенных странах. Система Windows в нынешнем ее виде и набор приложений для нее будут намного дороже собственно самого ПК. Так что какой-то из дистрибутивов ГНЮ/Линукс может оказаться единственным выходом для этого класса сверхдешевых машин.



Ссылки


Хотелось бы предварить этот небольшой список ссылок одним замечанием. Как уже упоминалось, на продвижение Линукс долгое время никто не тратил ни цента, и публикации на эту тему, особенно в отечественной прессе, еще год назад были редкостью. В нынешнем 1999 году Линукс занял достойное место в компьютерной прессе, в чем можно убедится, например, заглянув в издательства ОСП, так или иначе касающийся нашей темы.

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

Огромными коллекциями программ и документации для GNU/Linux являются большинство FTP архивов в Интернет. На веб- и ftp-узлах дистрибьюторов Линукс лежат комплекты программ, настроенных на данный конкретный дистрибутив. Количество дистрибутивов постоянно увеличивается, и их список ведется, например, на сервере .

Существует несколько свободно распространяемых электронных публикаций, посвященных Линуксу. B первую очередь это и . Некоторые статьи в последнем издании переведены на русский язык. Имеются узлы, отслеживающие все новости, имеющие отношение к Линуксу, по всему миру. Сводку еженедельных новостей можно найти, например, на , а ежедневную подборку новостей на или на .

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

Остальные ссылки, особенно на русскоязычные ресурсы по Линуксу, лучше смотреть в других местах. Наиболее полная и свежая подборка ссылок имеется у Максима Чиркова в его . На этом сервере реализована также возможность поиска.

|



В плену у устаревшей ОС


Конечно, довольно рискованно назвать устаревшей ОС, в развитие и продвижение которой вкладываются огромные деньги, и над которой работают прекрасно оснащенные лаборатории и коллективы. По поводу достоинств и недостатков Windows API есть много разных мнений. Вот мнение Дэвида Корна (David Korn), автора известного командного процессора Korn Shell - .

Выросшая из ДОС и ориентированная на ГИП, как в свое время ПК Макинтош, система Windows со временем стала поддерживать работу в локальной сети, многозадачность, 32-разрядные приложения. Поддержка протоколов TCP/IP и новая защищенная файловая система сделали возможным подключение серверов на базе Windows NT к глобальной сети Интернет. Многочисленные изменения и дополнения сделали API Windows похожим на многократно перестроенное здание, выросшее на фундаменте старого деревянного домика. Система Windows оказалась в плену собственного успеха, вынуждена поддерживать тысячи приложений, написанных много лет назад.

Но действительно серьезным пороком API Windows стала его закрытость. Системы на его основе плохо приспособлены к взаимодействию с другими платформами, а разработчик программ оказывается привязан к одной единственной платформе. Для обозначения этого неблагополучного положения ввели новое понятие - монополия "Wintel", обозначающее какую-то из версий Windows на компьютере с процессором от Intel. Эта монополия вызвала серьезную обеспокоенность специалистов, а фирмы, пострадавшие от некорректных действий монополиста Microsoft, подозрительно часто ищут защиты в суде.

На просторах бывшего СССР положение неизмеримо более тяжелое. Если в развитых странах сохранился и развивался рынок больших машин и корпоративных ВЦ, у нас такие машины постепенно сдали в металлолом, а на новую серьезную технику в условиях затяжного кризиса и развала экономики деньги могли найти только немногие самые богатые организации. Более доступные персоналки постепенно заняли место, где должны служить большие машины. Произошла незаметная, ползучая ламеризация всей страны (ламер - неопытный пользователь ПК, из жаргона программистов). Честь и хвала удобству работы в ГИП Windows, а также простоте установки этой системы. Подавляющее большинство программистов и системщиков смогли самостоятельно освоить эту систему и даже строить сети на ее основе. Система образования чаще всего не успевала за тем темпом развития, который предложил мир компьютеров. Только некоторые самые передовые ВУЗы уделяли внимание системам, более сложным, чем персональные.

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



Восстание хакеров


Вдали от маркетинговых интриг и борьбы за кошельки пользователей продолжалось развитие Интернет и Юникс. Интернет стал всемирным, связавшим многие страны, а ОС Юникс работала на огромном диапазоне машин, от персональных до СуперЭВМ. Пользователи Юникс получали все возможности, предоставляемые Интернет - электронную почту, обмен новостями, передачу файлов, запуск задач на удаленных ЭВМ, и многое другое. И Юникс, и Интернет строили свои сервисы на основе общей сетевой технологии - семействе протоколов TCP/IP. Эти сервисы создавались и развивались совершенно открыто - публиковались технические предложения - т.н. RFC (Request For Comments), делались программные реализации этих сервисов, с доступными исходными кодами, легко переносимыми с одной аппаратной архитектуры на другую.

По прежнему ОС Юникс преобладала в академической среде, была и предметом изучения, и инструментом, и объектом развития. Были доступны исходные коды некоторых версий Юникс, например, Minix профессора Andy Tanenbaum'а, продаваемая за умеренную плату вместе с книгой об организации операционных систем.

Были первые результаты и у ранее упомянутого проекта ГНЮ. Сама ОС ГНЮ еще не существовала, но были наново переписаны на основе лицензии GNU GPL многие утилиты Юникс, редактор Emacs, компилятор языка Си. Эти инструменты были как готовое к бою оружие, а насыщенная кислородом творческая атмосфера Интернет грозила взрывом от небольшой искры. Такой искрой стала пробная крошечная ОС, опубликованная в Интернет финским студентом-первокурсником Линусом Торвальдсом в конце 1991г. Эта ОС требовала для загрузки систему Minix, которую Линус тогда изучал, и свои опыты он опубликовал в группе новостей, посвященной этой ОС. ОС Minix изучали многие, и многие пытались ее развить дальше, но автор системы не спешил с ее развитием и не разрешал это делать другим.

Линукс же, а так Линус Торвальдс назвал свою ОС, с самого начала был совершенно открыт для изменений и дополнений. Любой желающий мог использовать его как угодно, и вскоре на Линуса посыпались фрагменты кода, правки, добавляющие все новые и новые возможности в новую ОС. Позже это было узаконено принятием для ОС Linux GNU GPL как юридической основы разработки и распространения.



Вторая компьютерная революция


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

Технологии Интернет, примененные в локальной сети, породили новый термин - Интранет, и позволили стереть границу между локальной и глобальной сетью. Они же породили и массовую потребность в специалистах по этим технологиям. Линукс и полностью открытые программы из проекта ГНЮ позволяют любому желающему создать свой собственный персональный Интранет, освоить эти технологии до любой глубины. Открытая модель позволяет включиться в процесс разработки любому способному программисту, трудиться вместе с мировыми лидерами в этой области.

Бесспорно, ГНЮ/Линукс является одной из самых влиятельных сил в продолжающейся революции.



Закрытая платформа на открытой аппаратуре


Но одна фирма на гребне волны популярности ПК получила особые преимущества. С самого начала стандартной для ПК стала ДОС (Дисковая ОС) уже упомянутой фирмы Микрософт. Эта ОС была предназначена для персональной работы, и не была ни многопользовательской, ни многозадачной. Как позже оказалось, она излишне примитивна и беззащитна, и вскоре пользователи стали страдать от программных вирусов и неосторожных собственных действий. И тем не менее эта ОС определила платформу, которая стала самой массовой, а в фирму Микрософт полился денежный поток, ширящийся вместе с популярностью ПК.

И еще в одном отношении эта фирма оказалась в особо выгодном положении. На рынке инвестиций традиционен интерес к самым высоким технологиям, и Микрософт оказалась в центре этого внимания. Выпуская собственные акции и привлекая огромные капиталы, постепенно фирма Билла Гейтса превратилась в уникальное и исключительное явление - финансовую империю на рынке программ, а ее основатель и директор в самого богатого человека в мире.

Распространение ПК начинает оказывать влияние на мир больших ЭВМ. Многие задачи стало возможно решать на значительно менее дорогих микрокомпьютерах, и это привело к серьезным потрясениям на рынке больших и средних компьютеров. Работа на компьютере перестала быть уделом специалистов, за клавиатуру сели пользователи. Профессия программиста стала гораздо более массовой.



Заметки о феномене Линукс и его перспективах


Что было и как стало

Заканчивается XX век. Невольно ожидаешь, что в новом веке жизнь тоже будет новой, не такой, как сейчас. Если есть желание что-то изменить, начать новую жизнь, то когда, как не на рубеже веков, самое лучшее время для этого. И еще тянет оглянутся назад, на прожитое, осмыслить так быстро промелькнувшие события.

Даже на фоне бурных последних десятилетий прогресс в вычислительной технике поражает своей стремительностью. 15 лет назад я работал в крупной программистской конторе, и несколько сот человек трудились вокруг и около вершины советской вычтехники - многопроцессорной ЭВМ "Эльбрус" с '8МБ' памяти и '~1' млн. операций в сек., занимавшей специально построенное здание. Колонны шкафов с аппаратурой, гудящие за стеклянными стенами дисководы, длинные ряды дисплеев были как верхушка айсберга. Охлажение, вентиляцию и электропитание обеспечивали цеха размером с небольшой заводик. Оживляла эту гору железа и проводов вполне рабочая многопользовательская ОС (Операционная Система) и инструментальная среда для разработки программ.

Пишу я эти строки за собранной из отходов т.н. тройкой, также с 8МБ памяти и быстродействием почти 8 BogoMIPS, или условных млн. операций в сек. Есть много компьютеров гораздо мощнее, но здесь более важно другое - на этой тройке также установлена многопользовательская ОС Дебьян ГНЮ/Линукс, и куча народа по сети может заходить на мой компьютер и запускать свои задачи в удобной инструментальной Юникс среде. И я волен, не выходя из дома, заходить на миллионы компьютеров, подключенных к интернет, участвовать в любом из тысяч программных проектов, пользоваться плодами труда десятков тысяч программистов. Стоит ли говорить, что все чаще эти плоды сверкают красками, звуками, живыми картинками, содержат море информации и предлагают мощнейшие средства для ее обработки.

|