Oткуда вообще взялись бесплатные Unix-системы?
История Linux началась с того, что финский студент по имени Линус Торвальдс решил поизучать процессор Intel 386 и в результате создал маленькое ядро, умевшее переключать задачи. Эта поделка умерла бы, как многие другие, если бы Торвальдс не сделал одну очень умную вещь: он обратился через телеконференцию ко всем желающим c предложением поиграть с созданным им ядром. А в то время в мире Unix было уже достаточно популярно программное обеспечение GNU, и для того чтобы создать полноценную операционную систему, не хватало как раз ядра. В результате вокруг студенческой разработки постепенно сформировалась свободно распространяемая ОС, получившая название Linux, - от слов Linus и Unix.
Система FreeBSD выросла из BSD Unix, с которой работали студенты в Беркли. Изначально в университете использовалась фирменная система Unix компании AT&T, но студенты внесли в нее множество разных нововведений. В какой-то момент AT&T подала на разработчиков BSD Unix в суд за использование принадлежащих ей исходных текстов. В ответ они изъяли их из своей системы и написали новые. Так появились NetBSD, а несколько позже - FreeBSD. Система NetBSD, в отличие от FreeBSD, работает не только на платформе Intel, но и на множестве других. От нее позже отпочковалась OpenBSD, где главный акцент делается на защищенности. Все эти системы - открытые и свободно распространяемые.
Чем различаются Linux и FreeBSD?
С точки зрения пользователя, да и администратора, они равноценны. У команд разные ключи, ядро настраивается немного по-разному, но тот, кто знает одну разновидность Unix, легко справится с другой. Популярный в Fido вопрос, что выбрать - Linux или FreeBSD, - давно уже имеет стандартный ответ: "А что вокруг тебя используют, то и выбирай". Просто чтобы легче было получить консультацию.
Разработчику может быть важно, что у двух систем разные лицензии. Linux распространяется по лицензии GPL, т. е. GNU Public License, которая среди прочего требует, во-первых, распространять программы только вместе с исходными текстами, а во-вторых, применять GPL к любым модификациям программ, лицензированных на условиях GPL. Иначе говоря, вы не имеете права, например, модифицировать Linux и затем продавать полученный продукт без исходных текстов. Идея заключается в том, чтобы сделать все будущие улучшения в программах достоянием всех пользователей.
Для FreeBSD такого требования нет: если вы строите свою работу на исходных текстах BSD, то достаточно указать, что вы их использовали, а собственные тексты раскрывать не обязательно. Этим широко пользуются производители встраиваемых систем. Они разрабатывают на основе FreeBSD ПО для своих изделий и продают его в комплекте с "железом", не предоставляя исходных текстов, так как считают их своим ноу-хау.
Чем же привлекательны бесплатные Unix-системы? В первую очередь, наверное, тем, что они бесплатны?
Сомневаюсь. Во-первых, многое зависит от того, кем выбирается ОС. Одно дело, когда человек ходит по магазинам и ищет себе систему на только что купленный домашний компьютер, совсем другое - когда выбирается ОС для корпорации, в которой нужно обеспечить эффективную работу 1500 компьютеров для сотрудников, и третье - когда ставится сервер и выбирается ОС для решения какой-то уникальной задачи.
Во-вторых, критериев выбора ОС в любом случае много, и цена - самый несущественный из них. Любое рабочее место, пусть даже основанное на ПК c минимальным ПО, все равно стоит несколько тысяч долларов. От этого никуда не денешься. У вас есть ПК стоимостью 1,5 тыс. долл., есть ОС, которая стоит 500-1000 долл., если речь идет о Windows NT. Кроме того, вам нужно какое-то прикладное ПО: для работы с модемом, с Internet, факсом, текстовый процессор, словари - это еще тысяча долларов или больше. В итоге все равно набирается cумма в несколько тысяч долларов. Тысячей больше, тысячей меньше - зачастую неважно для западных компаний.
Значительно большую роль в выборе ОС играют другие критерии: функциональность, поддерживаемый спектр аппаратных средств и ПО, совместимость с тем, что стоит вокруг этого компьютера, сервисы, которые будет обеспечивать эта ОС, - таких составляющих очень много.
Есть такое понятие, очень популярное на Западе, - tоtal cost of ownership - общая, или суммарная, стоимость владения. Там считается, что одно клиентское рабочее место обходится в среднем в пять тысяч долларов в год. Сюда входят программное обеспечение, зарплата администратора и т. п. Если рабочее место прожило года три, то стоимость ОС уже вообще не видна на фоне таких затрат. А на что вы будете обращать внимание при выборе ОС, так это на снижение общей стоимости владения. Если один администратор способен на основе этой ОС обслуживать не двадцать рабочих мест, а тридцать, это существенно важнее для выбора ОС, чем ее стоимость.
А справедливы ли эти рассуждения для России?
Справедливы. Конечно, качественное соотношение разных частей общей стоимости владения у нас cовершенно не такое, как на Западе: скажем, зарплата администратора примерно в три раза меньше, аппаратные средства стоят столько же, а ПО зачастую вообще ничего не стоит. Но лично у меня есть ощущение, что стоимость ОС и здесь несущественна. Или вы ничего за нее не платите, или, если ваша организация подходит к делу серьезно и целенаправленно вкладывает какие-то деньги в установку информационной системы, то ей тоже все равно, сколько стоит ОС, так как это одноразовые затраты. А вот расходы на поддержку функционирования системы - затраты постоянные. И если Windows 95 будет "падать" каждые два часа на машине, в которую понапихано непонятно какое "железо", а вы на нее посадите сотрудника, у которого срочная работа, то это вряд ли облегчит ему жизнь. И в следующий раз критерием выбора ОС уж точно будет не стоимость.
Что же в таком случае существенно?
Если говорить о достоинствах Linux по сравнению с Windows NT, то главное из них, очевидно, открытость. И важно не только то, что распространяются исходные тексты. Очень существенно, что доступно вообще все ПО системы. Вы можете систему конфигурировать, как вам нравится, что-то выбросить, что-то установить дополнительно. А вот взять Windows NT, половину выкинуть и дописать свое, необходимое именно вам, ПО вы не можете. Не можете посмотреть, как эта ОС работает, - по новым веяниям международного законодательства такие действия будут чуть ли не нарушением авторского права.
Для Linux разработано довольно много программ: поскольку все протоколы, все форматы открыты и документированы, писать программы легко, и их существенно больше, чем в любой закрытой системе. Правда, создают их зачастую студенты, так что качество получается невысокое. Но и то, что пишут для среды Windows в больших коммерческих фирмах и продают за большие деньги, тоже нередко оставляет желать лучшего. Дело в том, что интеграция в среде Windows значительно сложнее, если не считать механизма OLE, когда вы просто вызываете чужую программу, и она у вас работает. Здесь каждый закрывает все форматы, какие только может, и выжимает максимум из своих преимуществ, а качество страдает.
Далее, в Linux привлекает действительно широкий диапазон поддерживаемых аппаратных платформ. Не как в Windows NT, условно говоря, от Pentium 200 до Pentium II-300, а начиная от компьютера на процессоре 386, который можно действительно использовать, и кончая 14-процессорным Ultra SPARC с 2 Гбайт памяти. Отсюда и широкий диапазон применений, от рабочего места и до разнообразных серверов - Web, баз данных, приложений.
Многим просто нравится иметь дома Unix, как на работе. Причем если на работе используются мощные и дорогие компьютеры brand name - Silicon, Sun или НР, то дома Unix ставится на ПК. Поскольку тех, кто пишет драйверы для Linux, очень много, то система поддерживает самое разнообразное аппаратное обеспечение ПК, включая и совершенно фантастические железяки: загадочные звуковые платы, радиоплаты, TV-тюнеры и массу подобных вещей. Это, кстати, одно из преимуществ Linux перед FreeBSD.
А какие проблемы связаны с Linux и FreeBSD?
Факт бесплатности продукта, безусловно, работает не только на него, но и против. Существует такой синдром, которого у нас нет, а на Западе он очень распространен - как же так: я не заплатил, а мне что-то дадут? Поскольку известно, что бесплатный сыр бывает только в мышеловке, люди начинают искать, где может быть подвох. Чаще всего говорят о том, что нет единой точки контроля за системой и не на кого показать пальцем, если все "упадет", а также об отсутствии технической поддержки.
Эта проблема решается отчасти с помощью интеграторов, отчасти с помощью коммерческих поставщиков Linux и фирм, предоставляющих техническую поддержку. Но интересно, что коммерческие версии Linux появились уже на гребне волны интереса к продукту, а вот откуда взялась сама волна, для меня загадка. И почему именно Linux, а не FreeBSD, тоже непонятно.
На Западе коммерческие услуги по поддержке бесплатных ОС предлагают многие фирмы. Можно ли найти что-либо подобное в России?
Конкретную фирму сейчас назвать не могу, но думаю, что да. Установкой и сопровождением Linux занимается довольно много частных лиц, и для них не составит труда официально оформить свою деятельность.
В действительности поддержка продукта внутри фирмы в любом случае сваливается на специалистов этой же фирмы. Каким бы коммерческим ни был продукт, все равно нужен администратор, который поддерживал бы его в рабочем состоянии. И если у вашего администратора руки кривые, то никакая поддержка Microsoft не спасет вас от проблем с Windows NT. С другой стороны, пользователей Linux довольно много, а поскольку система до последнего времени не была рассчитана на "чайника", то те, кто с ней работает много лет, - люди достаточно грамотные. И поэтому новичку несложно найти поддержку, особенно учитывая, что у многих есть доступ к конференциям Usenet или как минимум к Fido.
Но все-таки Linux - система, сложная в освоении?
Человек, который впервые сталкивается с Unix, видит, как ему кажется, множество проблем. Это связано прежде всего с непривычностью: принципы, которые лежат в основе системы, совсем другие, чем в DOS и Windows. В результате на первых порах возникает некоторая путаница, но она вполне преодолима с помощью документации.
Здесь есть, как говорится, три новости. Хорошая - по всем системам документация есть, плохая - эту документацию надо читать, и самая плохая - вся эта документация, как правило, на английском. Только совсем недавно стали появляться книги на русском языке по Unix вообще и по Linux в частности.
Я слышал, что вышла русифицированная версия RedHat Linux под названием "Красная Шапочка" и что к ней прилагается книжка.
Я, собственно, являюсь половиной авторского коллектива и поэтому объективно судить о "Красной Шапочке" не могу. Cам диск - это обычный дистрибутив Red Hat, в котором русифицированы инсталлятор, управляющая панель и некоторые сообщения системы. Главное и, пожалуй, единственное отличие от обычного Linux в том, что можно сразу после установки работать с русским языком. Все это есть и в Internet.
А книжка, к сожалению, слишком краткая, изложение вынужденно скомкано, так что получилось руководство не по самой системе, а скорее по ее инсталляции: вот вам компакт-диск, сделайте, как в книге написано, и все заработает. Рассказа об основных принципах Linux там нет - не поместился в заданный объем. Что касается отзывов, то пару раз слышал, что книжка помогает, пару раз - что отвратительная. И то и другое, видимо, правда, и одно другому не противоречит.
Ну а каковы недостатки собственно системы Linux?
Что считать недостатком, зависит от точки зрения. Об отсутствии фирмы-производителя и привычной схемы сопровождения мы уже говорили. Многим не нравится, что, строго говоря, Linux не существует как система. Ядро Linux можно определить с точностью до бита, но системы в целом, которая бы строилась со всеми прикладными программами, нет: есть отдельные дистрибутивы - Red Hat, Debian, SuSE, Caldera, и каждый из них чем-то отличается от других, хотя и не сильно. А это значит, что если вы пишете коммерческий продукт для Linux, то должны проверять его с разными дистрибутивами. Большой проблемы в этом нет, но часто это смущает.
Спектр поддерживаемых аппаратных средств в Linux, как уже говорилось, очень широк по сравнению с FreeBSD или с Solaris для Intel, но намного уже, чем в Windows 95. Все производители аппаратуры выпускают драйверы для Windows 95, а для Linux выпускают лишь немногие и к тому же часто закрывают свои спецификации. Сейчас положение начинает меняться, однако, если вы покупаете что-то очень новое, надо проверить, поддерживаетcя ли оно в Linux.
То же касается прикладных программ: их много, но с Windows все-таки не сравнить. Для Linux есть офис, даже несколько офисов; это платные коммерческие продукты. Но не все работают с русским языком, а о полной русификации, существующей для продуктов Microsoft, нет и речи.
Для Linux вообще нет программ, которые создавались бы в России и для России, - бухгалтерских пакетов, cистем распознавания текстов, словарей, домашних программ, игр. Ну не пишут у нас под Linux, а пишут под Windows. Какие-то из популярных программ можно запускать с помощью Windows-эмулятора, какие-то нельзя вообще никак. Сейчас положение наверняка будет меняться. С другой стороны, многое из ПО, привычного пользователю DOS и Windows, для Unix-систем просто не нужно из-за того, что соответствующие задачи там решаются совершенно другими средствами.
А есть ли у России еще какая-либо специфика в области работы с бесплатными ОС?
Похоже, нет. Как показывает практика, все, что происходит на Западе в области компьютеров, года через три докатывается и до нас. В России сейчас больше Internet-серверов с FreeBSD, чем с Linux, что и понятно - FreeBSD пришла к нам раньше. Но число пользователей Linux во всем мире растет существенно быстрее, чем число пользователей Free BSD, и в России та же картина.
Значит, можно ожидать, что отношение отечественных производителей ПО к Linux изменится?
А куда они денутся? Если давление рынка с требованием перенести программу в среду Linux будет достаточно сильным, перенесут. Но для этого пользователей Linux должно стать довольно много, потому что затраты на поддержку программы одновременно на двух платформах если не в два, то уж в полтора раза точно выше, чем на одной, - тем более что платформы очень непохожи.
Хотя бывает и иначе. Например, когда надо было выяснить, можно ли перенести в среду Unix одну известную справочно-информационную систему для Windows, специалисты моей компании с тоской готовились объяснять программистам, привыкшим к Windows, что такое Unix, но в ходе беседы быстро выяснилось, что они пишут свои программы в FreeBSD, а потом переносят в Windows.
Так что разработка прикладных программ для Linux может пойти и быстрее, чем нам сейчас кажется. Но пока эта система в России в основном, конечно, серверная. n
От редакцииСоветуем посетить страницу Бориса Тоботраса, посвященную Linux. Ее адрес - http://xtalk.price.ru/linux