Linux и Интернет (2 часть)



Оконание. Начало статьи - читать.

Разработчик
Разработчик — совершенно другое существо, нежели пользователь. Его в первую очередь привлекают удобство и гибкость системы. В Linux разработчика не оставят равнодушным открытые стандарты, подробная документация и набор стандартных Unix-утилит. Сама идеология построения Unix-систем (множество мелких утилит разного назначения, удобно связывающихся между собой, вместо большой программы, умеющей все на свете) обеспечивает невероятную гибкость.
Как правило, разработчики в Linux не используют различные интегрированные среды (IDE), хотя таковых существует предостаточно — как свободно распространяемых, так и коммерческих. Обычно разработчик пишет программу в текстовом редакторе (естественно, с подсветкой синтаксиса) — чаще всего в одном из клонов vi или emacs. Как vi, так и emacs представляют собой неудобные для пользователя, но очень удобные и функциональные текстовые редакторы. Нет, никакого противоречия тут нет. Для пользователя удобны программы, которыми не нужно уметь пользоваться. Для разработчика же удобны программы, которыми удобно пользоваться после их изучения. Например, хотя большинство современных версий редактора vi и могут передвигать курсор при помощи клавиш со стрелками на клавиатуре, Правильный Способ — использовать клавиши h, j, к, 1. Пользователю это кажется диким. Но попробуйте объяснить разработчику, владеющему слепой печатью (в мире Unix-разработчиков это правило, а не исключение), что снимать руку со стандартной позиции и передвигать ее к стрелкам для перехода на следующую строку удобно... Не говоря уже об использовании мыши в текстовом редакторе — абсолютно не эргономично.
Несмотря на то, что как vi-, так и emacs-подобные редакторы как бы не являются IDE, настроить любой из них (что не проблема для разработчика) на подсветку синтаксиса, вызов компилятора, работу с make-файлами («проекты» в различных IDE являются жалким подобием функциональности, представляемой командой make), обработку сообщений компилятора, пошаговую отладку (с использованием внешнего отладчика) — пара пустяков.
Для пользователей приведем два рисунка: редактор xemacs с открытой программой на языке программирования Tel и редактор gvim с открытой программой на языке программирования Eiffel.
Разработчика не может также не привлечь наличие свободно распространяемых и доступных (и опять — спасибо Сети!) компиляторов и интерпретаторов более чем трех десятков языков программирования. Начиная от классических — С, C++, Fortran — и до более редких, таких как pike или ocaml.
Важнейший для разработчика момент — тесная интеграция средств разработки с системами контроля версий (наиболее распространена CVS). Впрочем, это характерно для всех Unix-систем. Системы контроля версий позволяют множеству разработчиков вести работу над одним проектом, неявно взаимодействуя через Интернет. Таким образом, с исходными текстами одного проекта может одновременно работать огромное количество людей.
Но довольно, оставим в покое разработчика. Наша следующая цель:

Системный администратор
Этого человека в первую очередь волнуют функциональность и надежность. Надежность в Linux, на взгляд человека, пришедшего из мира Windows, просто потрясающая. Слово «перезагрузка» можно забыть. Функциональность — тоже великолепная. Настроить можно все и как угодно. Хотите текстовый режим 100x37? Пожалуйста. Хотите настроить сервер доступа в Интернет так, чтобы прокси-сервер использовался даже тогда, когда это не указано в настройках клиентских машин? Нет проблем. Еще один немаловажный для системного администратора момент — нетребовательность Linux к ресурсам, по сравнению, например, с Windows NT.
Человек, занимавшийся системным администрированием Linux хоть какое-то время, непременно признает, что Интернет — одно из величайших изобретений человечества. Информация, которую можно найти в Сети, а также помощь Linux-сообщества поистине неоценимы (когда у меня возникли проблемы с настройкой web-сервера под Linux для выполнения определенной специфической задачи и я обратился с вопросом в один из списков рассылки, первый ответ я получил менее чем через час).
Еще одно достоинство Linux (как и всех Linux-систем) — развитые средства удаленного администрирования. Нет ничего, что Linux-администратор не мог бы настроить на сервере из дома при помощи модема.

Страшилки
В заключение хотелось бы (так уж принято в подобных статьях) развеять три стандартных мифа, которыми пугают потенциальных пользователей Linux.
Пользователя пугают так: «Под Linux нет приложений». Приложений для Linux — многие тысячи. Например, в дистрибутив Debian Linux (дистрибутив Linux включает в себя не только сам Linux, но и программы для него) входит более четырех тысяч программ. Дистрибутив SuSE Linux занимает шесть компакт-дисков. И это лишь малая толика того, что вы можете получить в Сети.
Разработчика пугают так «В Linux нет графического интерфейса и среды разработки». Этот миф я даже обсуждать не буду. Приведу лишь картинку.
Системного администратора пугают так: «В Linux вам придется вручную править текстовые конфигурационные файлы по сто килобайт размером». Действительно, в Linux вручную исправить текстовый конфигурационный файл намного удобнее, чем использовать графические утилиты (когда они есть). Конфигурационные файлы в Linux имеют большой размер лишь потому, что они, как правило, самодокументированы — после каждого параметра в файле вписано описание того, что этот параметр делает и какие может принимать значения. Линейная структура конфигурационного файла гарантирует, что после его редактирования вы выставили все нужные настройки, а не забыли поставить третью галочку в четвертой рамке на второй вкладке после нажатия кнопки «Advanced». Тем не менее, в тех случаях, когда графическая утилита достаточно удобна, можно использовать и ее (что не запрещает вносить изменения вручную!). Смотрите на рисунок.

Linux в мире бизнеса
Итак, мы обсудили Linux как таковой и Linux с точки зрения потребителей. Надеюсь, вы убедились в том, что Linux, как минимум, является заметным явлением в области информационных технологий. Естественно, такое явление не могло остаться незамеченным в бизнес-кругах. Несмотря на бесплатность Linux, существуют компании, зарабатывающие (и очень неплохо!) на этой операционной системе. В принципе, следуя сложившейся в этой статье схеме, такие компании можно разделить на три класса: компании, занимающиеся созданием собственного дистрибутива и/или поддержкой Linux; компании, занимающиеся созданием программного обеспечения для Linux; компании, занимающиеся деятельностью, связанной с Linux и аппаратным обеспечением. Следует заметить, что некоторые компании (например, Corel) сочетают деятельность в нескольких из этих направлений.

Дистрибьюторы и техническая поддержка
Linux, как правило, распространяется не в виде голого ядра операционной системы, а с некоторым набором приложений — в виде так называемого дистрибутива. Собственно говоря, платя (или не платя) деньги за Windows, вы тоже получаете некоторый набор программ — Notepad, Paint, Internet Explorer, — но он невелик и практически не изменяется от версии к версии. В Linux же размер дистрибутива может быть весьма значительным, а различные дистрибутивы могут существенно различаться по составу прилагаемого программного обеспечения.
Некоммерческие дистрибутивы (например, Debian или Slackware) совершенно свободно распространяются через Интернет. Некоторые компании продают диски с ними за очень небольшую цену (Я.5-83 за один CD), но, покупая такой диск, вы просто избавляете себя от необходимости выкачивать большой объем данных из Сети. Более вы не приобретаете ничего.
Коммерческие дистрибутивы (широко известны SuSE и RedHat) также доступны в Интернете, но, как правило, не целиком (зато совершенно легально!). Купив «официальную» версию, вы обычно получаете дополнительно руководство пользователя в печатном виде, право на техническую поддержку и — иногда — некоторый набор коммерческого программного обеспечения, лицензированный производителем у разработчика. Естественно, что стоимость такого комплекта, как правило, значительно больше (SuSE Linux стоит около $60 — б CD и книга).
Таким образом, покупатель платит деньги фактически за техническую поддержку. Купив один «коммерческий» дистрибутив, вы можете поставить его на любое количество компьютеров — но техническую поддержку получите лишь в течение оговоренного лицензией срока (или же вам может быть предоставлено право на фиксированное количество вопросов).
Даже в этом случае Интернет играет важнейшую роль в распространении Linux. Зачем покупать за 160 «кота в мешке», когда можно выкачать бесплатный дистрибутив? Другое дело, если вы можете выкачать «коммерческий» дистрибутив, посмотреть на него и уже обоснованно купить «официальную версию» с технической поддержкой и дополнительным (коммерческим) программным обеспечением. Так оно обычно и происходит.
Существуют также компании, не производящие свой дистрибутив, а продающие только техническую поддержку. В силу вышесказанного понятно, что они зарабатывают деньги точно так же, как и те, кто распространяет свои CD с Linux. В этом случае Интернет играет двоякую роль: как средство рекламы и как средство общения между клиентом и службой поддержки (хотя бывает и телефонная поддержка).
В принципе, по той же самой схеме работают и компании, предлагающие установку Linux-решений — своеобразную «очную техническую поддержку». Как и в двух предыдущих случаях, клиент платит за время специалистов компании, но не за программное обеспечение.

Разработчики программного обеспечения
Компании, разрабатывающие программное обеспечение для Linux, работают точно так же, как и все прочие компании, разрабатывающие программное обеспечение. Единственное отличие заключается в том, что, поскольку пользователь Linux не привык платить за то, чего он не видел, практически все коммерческие программные продукты для Linux либо бесплатны для некоммерческого использования, либо, как минимум, имеется бесплатная более или менее функциональная версия. Опять же, важнейшую роль в этой схеме (попробовал дома — купил на работе) играет Интернет, позволяющий сделать бесплатные версии доступными конечному покупателю. Более того, пользователю Linux метод получения программ из Интернета близок, понятен и естественен.

Разработчики аппаратного обеспечения
Еще один метод извлечения прибыли из Linux можно скорее отнести к косвенным, и компании, использующие его, о нем помалкивают. Главное в этом методе — лояльность Linux-собщества к Linux. Общая схема такова:
1.  Компания X производит «железку» Y, которая может представлять собой что угодно — компьютер, звуковую карту или клавиатуру. Конечная цель: увеличить продажи Y за счет Linux-рынка.
2. Компания X открывает исходный текст «коммерческого» программного обеспечения для «железки» Y (которое отдельно от самого устройства все равно не продавалось). Цель: выпуск программного обеспечения под Linux, поддерживающего Y. Программа-максимум: сделать это силами Linux-сообщества. Программа-минимум: использовать Linux-сообщество в качестве бета-тестеров. Цель номер два: показать тем пользователям Linux, которые сомневаются в целесообразности покупки устройства Y, что компания проводит твердый курс на поддержку Y в Linux.
3.  Компания X начинает активно участвовать в общественной жизни Linux-сообщества — проводить конференции, публиковать статьи на тему «Linux — это круто». Открывается Linux-раздел на web-сайте компании. Цель: достижение признания Linux-сообществом — «мы свои в доску». На этой стадии особенно важно присутствие компании в Интернете.
4.   После успешного достижения трех предыдущих целей компания X готова к выходу на Linux-рынок Основная стратегия: «Linux — это круто. Но как круто Linux и железка Y!».
Я не буду приводить здесь примеры компаний, ведущих такую политику. Читатель сам с легкостью найдет (особенно среди производителей не РС-компьютеров, работавших ранее только под собственным коммерческим вариантом Unix) фирмы, проводящие подобную политику — на всех этапах.
Справедливости ради надо заметить, что такая политика компании, как правило, приносит пользу конечным покупателям. Действительно, появляется новое программное обеспечение для Linux, начинает поддерживаться новая аппаратура... И потом зачастую «железка Y» действительно неплоха, раз компания может жить за счет ее продаж.
Имеются также компании, поставляющие системы с предустановленной Linux. Нетрудно понять, что их деятельность во многом похожа на описанную схему. Крупные компании, известные своей высококачественной техникой (например, Compaq), могут позволить себе начать сразу с четвертого этапа, но идея остается неизменной.

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

Алексей Выскубов