Solaris, Linux, Open Source
Павел Анни
Так и хочется продолжить строчку, вынесенную в заголовок: "…близнецы-братья". Возможно, это некоторое преувеличение, но если и не близнецы, то уж братья — точно.
Что их роднит? Конечно, корни. Родословная. Сходство идей. Наконец, самое главное — эти системы разработаны для людей. Не для того, чтобы они хорошо продавались, а для того, чтобы они работали.
Если коротко определить, в чем их привлекательность, это будет похоже на старый лозунг сберегательных касс: "Надежно, выгодно, удобно." А самое замечательное, что в отношении Solaris и Linux все это чистая правда, и даже больше.
Удобно
Компания Sun неспроста постоянно подчеркивает, что ведет свой бизнес на собственных системах. Все критические приложения работают только на серверах Sun под управлением ОС Solaris. Разработчики Solaris всегда пользуются следующей версией своей операционной системы. И это делается не только для того, чтобы вовремя обнаружить и исправить программные ошибки. Еще одна важная цель, которая при этом преследуется, — сделать так, чтобы система была удобна для системных администраторов, разработчиков и пользователей (помните: хороший плотник топор себе всегда делает сам?). И, надо сказать, это дает результаты. При том что у Solaris есть масса других преимуществ, большинство сисадминов, когда их спрашиваешь, что им нравится в Solaris, отвечают: "Удобно". Что самое примечательное, людям часто трудно сказать, что конкретно им удобно, а это хороший показатель. Согласитесь, если бы вы, промучившись полдня, наконец-то запустили сетевой интерфейс, вам бы это запомнилось надолго, а уж разработчики поминались бы не раз, и не в лучших выражениях. А вот легкую, удобную систему обычно не замечают. Если вы спросите администратора, как он делал то-то и то-то, то скорее всего ответ будет такой: "Да как-то само все поднялось, я даже и не помню".
Подобные впечатления приходится слышать и от разработчиков: "все по уму", "есть все, что надо". Недаром число разработок под Solaris измеряется тысячами; это крупные, серьезные пакеты, предназначенные для самых различных отраслей промышленности и бизнеса. Не забыты и разработки Open Source: первой платформой сборки свободного ПО обычно становится Linux, а следующей — Solaris. Результат этой работы можно увидеть на сайте sunfreeware.com — на нем размещены пакеты Open Source ПО, собранные для установки в Solaris, и каждый месяц оттуда скачивается до 700 тыс. файлов.
Легально
Споры о допустимости пиратства в области программных продуктов ведутся уже давно. Тут и аргументы "это же воровство! всех за решетку!", с одной стороны, и "нет у нас столько денег, чтоб официально покупать!" — с другой. Конечно, по-своему правы и те и другие. Самое опасное в такой позиции то, что нарушение закона становится привычным и оправданным — где уж тут построить правовое общество.
Движение открытого ПО много лет назад решило этот вопрос раз и навсегда: программное обеспечение должно свободно передаваться в исходных текстах. Этот подход шокирует производителей коммерческого ПО, но вполне объясним, если относиться к программам как к научным работам. В самом деле, где это видано, чтобы ученый, получивший какие-то результаты, за деньги продавал бы право доступа к ним, а сам метод их получения вообще скрывал, заставляя верить ему на слово?
В результате мы имеем вот что: разработчики избавились от головной боли, связанной с защитой от копирования, методами распространения, выдачей лицензионных ключей. Пользователи получили качественное ПО совершенно бесплатно и легально. Компании-разработчики зарабатывают деньги на поддержке свободного ПО в коммерческих проектах.
Sun Microsystems предлагает еще один легальный способ: системное ПО поставляется вместе с оборудованием вычислительного центра без всякой лицензионной платы. Этот подход используют поставщики мобильных телефонов: вы же не покупаете отдельно телефон и отдельно программу для него. То же самое и с серверами Sun — без ОС Solaris нельзя говорить о них как о законченных продуктах. Последние тенденции в этой области таковы: чем больше программного обеспечения будет включено в поставляемый комплекс, тем меньше головной боли будет у пользователя по поводу совместимости версий, лицензий и прочих атрибутов.
Безопасно
Прекрасно помню, какое сильное впечатление произвел на меня запуск Doom изнутри
Microsoft Excel 95 путем нажатия нескольких заветных клавиш. Это что, все там,
внутри программы, скрывается? А что есть еще, чего я не вижу? Потом были автогонки,
Flight Simulator, Pinball и еще множество подобных "пасхальных яиц" в различных
коммерческих программах, которыми все пользуются каждый день (достаточно подробные
базы данных можно найти в Сети, например, на сайте http://www.eggheaven2000.com).
Мало того, что они заметно увеличивают размер программы, — с этим можно смириться.
Но вот то, что программа может без моего ведома делать такие вещи, — это ли
не повод задуматься: "А что еще она делает без моего ведома?"
Чаще всего такие "пасхальные яйца" — способ разработчиков программы сообщить о себе (ведь коммерческие программы продаются под маркой компании-разработчика, а о реальных людях, которые вложили свой труд, никто не знает). Совсем не так обстоит дело в мире открытого ПО. Программа поставляется в исходных текстах, имена авторов написаны в заголовках программ, нет никакой нужды ни прятать их, ни, наоборот, специально заявлять о себе. Да и кто бы стерпел кусок ненужного кода внутри программы, к текстам которой есть доступ?
Операционная система Solaris часто используется там, где требования к безопасности особенно высоки. Для того, чтобы заказчики могли удостовериться в отсутствии всего, что на официальном языке называется "недокументированными возможностями", компания Sun Microsystems предоставляет исходные тексты для сертификации государственным органам. Подобная работа ведется и в России. Важно подчеркнуть, что сертифицирующая организация получает не просто "доступ к исходным текстам" (очевидно, что показать можно одни тексты, а в исполняемый модуль собрать другие), а полный набор исходных текстов, необходимый для того, чтобы собрать рабочую версию ОС Solaris целиком, от начала и до конца на оборудовании сертифицирующей организации. Таким образом, организации, в которых допускается использование только сертифицированной версии ПО, будут получать Solaris российской сборки.
Надежно
Вопросы надежности ПО возникли вместе с написанием первой программы. Споры не угасают: может ли программа, написанная на чистом энтузиазме, быть надежнее, чем программа, написанная программистом за зарплату? Ответом может служить сравнение надежности функционирования сети Интернет, в которой основные службы работают на ПО Open Source (DNS, почта, Web) и надежности вашего настольного компьютера, в котором используется коммерческое ПО.
Объяснение этому простое: программы, распространяемые бесплатно и открыто, имеют "штат" добровольных тестировщиков во много раз больший, чем у коммерческих. Больше того, эти тестировщики могут сами разобраться в исходных текстах и при необходимости внести изменения. Общая практика в мире открытого ПО такова, что пользователи обращаются к автору не с жалобами типа "это не работает", а с предложениями: "Чтобы исправить такую-то ошибку, надо внести такие-то изменения в исходные тексты". В результате резко возрастает и скорость выявления ошибок, и скорость их исправления.
Solaris во многом тоже базируется на фундаменте открытого ПО, разработанного в 1980-х и 1990-х гг. К этому багажу технологий была добавлена настройка системы под конкретную аппаратную платформу, еще больше повышающая надежность комплекса, системы мониторинга и диагностики, автоматическое изолирование сбоев и многое другое. В результате, не растеряв лучшего, Solaris прибавила в надежности и стабильности как на платформе SPARC, так и на платформе x86.
Красиво
Считается, что для программиста нет ничего важнее, чем сделать свою программу красиво. Конечно, не чтобы кнопочки были красивыми, а чтобы код и архитектура были такими, что не стыдно друзьям показать. В мире открытого ПО код не спрячешь за логотипом компании-производителя, за программу отвечает конкретный человек — ее разработчик. И если главный стимул для него — признание и уважение коллег, то его программа скорее всего будет написана так, чтобы этого добиться. "Некрасивые самолеты не летают", — говорят авиаторы. Во многом это относится и к программам.
Говорят, что профессиональные портные определяют качество вещи не так, как мы с вами. На внешний вид (читай: интерфейс) они почти не смотрят — это дело вкуса. Но вот изнанку вещи (читай: исходные тексты) исследуют тщательно: если к ней претензий нет — можно брать, вещь не подведет, сшита на совесть.
Еще одно следствие красоты — читабельность текста. Если человек написал программу и показывает ее миру, то он, видимо, рассчитывает, что ее будут читать коллеги. Чем не повод написать программу аккуратно, откомментировать и "упаковать" документацией (как минимум, руководством по установке)? Поддерживать такие пакеты — одно удовольствие.
При чем здесь Sun?
Компания Sun Microsystems с самого своего основания связала свою деятельность с операционной системой Unix и сетевыми технологиями. На практике это означало, что разработчики, с одной стороны, базировались на технологиях систем с открытым кодом (в основе первых версий ОС производства Sun лежала система BSD Unix), а с другой стороны, щедро делились своими наработками с сообществом. Одним из самых заметных вкладов тех лет стала сетевая файловая система NFS, переданная сообществу разработчиков в исходных текстах. С тех пор NFS — стандарт де-факто в мире Unix.
Традиции продолжаются. С тех пор компания Sun Microsystems организовала и спонсирует несколько проектов Open Source. Среди них: JXTA (средство вычислений peer-to-peer), Brazil (разработка Web-приложений), NetBeans (средство разработки J2EE-приложений), OpenOffice.org (открытая версия офисного пакета). Это несколько миллионов строк исходных текстов, сотни и тысячи разработчиков по всему миру. Так, в проекте OpenOffice.org участвуют тысячи разработчиков из разных стран, а интерес к проекту таков, что за неделю продукт загружают на свой компьютер через Интернет более 100 тыс. человек. OpenOffice.org используют на своих компьютерах миллионы пользователей, в том числе в коммерческих и государственных организациях по всему миру.
На основе проектов Open Source компания Sun Microsystems выпускает некоторые коммерческие продукты: StarOffice на базе OpenOffice.org, Sun ONE Studio на базе NetBeans. Таким образом, через проекты Open Source можно поучаствовать в разработке "фирменных" продуктов Sun и добавить в них новые функции.
Sun участвует еще в двух десятках проектов Open Source, в числе которых Abicheck,
Ant, Batik, Crimson, ebXMLrr, FreeTTS, GCold, GNUlpr, Gnome, Java_Make_Tool,
Mozilla, PDM Primes, Solaris I18N Framework, Standard Type Services Framework,
Tomcat, TracingJVM, WBEM, Xalan, XACML. Дополнительную информацию об этих проектах
можно получить на сайте http://www.sunsource.net.
Для каждого из своих программных продуктов компания выбирает оптимальную схему лицензирования, будь то Open Source, Community Source License или же традиционные схемы лицензирования двоичного и исходного кода.
Что дальше?
Информационные системы для людей, а не люди для систем — вот основная идея дальнейшего развития программного обеспечения в Sun. На это направлены усилия разработчиков: облегчение управления системами, удобство разработки и эксплуатации приложений. Известно, что 80% ресурсов ИТ-подразделения тратится на поддержание существующей инфраструктуры и только 20% — на инновации. Будущее — за системами, в которых управляемость, надежность и безопасность закладываются на этапе проектирования и разработки. И тогда наша жизнь, возможно, станет немного легче.