Что такое “Linux”. Возможности одной из самых динамично-развивающихся свободных операционных систем в мире

Вид материалаДокументы

Содержание


Исторический момент
Cвобода и бесплатность
Мифы об ОС GNU/Linux
Недостатки и достоинства GNU/Linux систем
Поддержка со стороны коммерческих компаний
А что же у нас? Использование свободного ПО в России
Подобный материал:
© Зорин Иван, ИВТ-41; 2007.

Что такое “Linux”. Возможности одной из самых

динамично-развивающихся свободных операционных систем в мире.



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

Исторический момент



В 50-х годах XX века антимонопольным законодательством США компании AT&T был выдан запрет на любую коммерческую деятельность, не связанную с телефонным бизнесом. В сентябре 1969 года, в дочернем подразделении AT&T, Bell Labs, была создана ОС UNICS (именно так – когда CS преобразовалась в X, история умалчивает). Создатели, Кен Томпсон и Деннис Ричи делились со всеми желающими исходными кодами этой системы, отправляя его на лентах по почте. В первую очередь, заинтересованны были крупные технические университеты по всему миру. В восьмидесятых годах AT&T через суд оспорила антимонопольный указ, выданный ей ранее; результатом судебного решения являлась полная передача всех прав на ОС UNIX компании – использование ОС и её исходных кодов другими организациями и людьми без соответствующей уплаты было незаконным (Чтобы получить исходный код, нужно было заплатить AT&T порядка пяти тысяч долларов – 5000$, что могла себе позволить не любая компания, не говоря уже об учебных заведениях). Чтобы исправить сложившуюся ситуацию, кто-то пытался переписать отдельные программы с нуля, кому-то пришлось полностью отказаться от использования UNIX-систем, а кто-то пошёл радикальным путём. Ричард Столлмэн, программист из Массачусетсского технологического института, 27 сентября 1983 года начал разработку проекта GNU (название представляет собой рекурсивный акроним – GNU is Not UNIX), целью которого было создать по функциональности ОС с набором утилит, не уступающую UNIX-системам и основанную на философии программирования UNIX, но при этом все ПО, входящее в комплект такой ОС, включая ядро, должно было быть свободным. Постепенно заменялись утилиты – одна за другой. В процессе были созданы с нуля аналоги многих UNIX-утилит для будущей GNU-системы. В этом программистом помог стандарт POSIX (Portable Operating System In UNIX) – стандарт, который был создан в ответ на разрастающееся число UNIX-версий, что наблюдалось в 70-е – 80-е годы. Стандарт полностью регламентировал такие вещи, как набор минимальных команд и их синтаксис в ОС, которые считаются UNIX-подобными; в стандарте также были подробно описаны функции различных системных вызовов и тому подобная техническая информация. С принятием стандарта POSIX фразы “UNIX-подобная ОС” и “POSIX-совместимая ОС” стали практически синонимами. В проекте GNU в качестве ядра, под которым должны были работать все создаваемые программы, было заявлено медленными темпами создаваемое микроядро Hurd, базирующееся поверх другого известного микроядра Mach. Для созданных утилит и для координированного развития проекта GNU в октябре 1985 года был создан Фонд Свободного Программного Обеспечения (Free Software Foundation – FSF), а для создаваемых в рамках проекта GNU программ (в том числе ядра) применялась специально созданная для проекта лицензия GNU GPL (GNU General Public License - Универсальная общедоступная лицензия GNU), которая регламентировала правила распространения и модификации свободного ПО. Проект GNU динамично развивался, чего нельзя было сказать о ядре Hurd.

Независимо от проекта GNU, финский студент Линус Торвальдс, в сентябре 1991 года выложил в свободный доступ на ftp-сервер Финского Университета Хельсинки версию 0.01 ядра под названием Linux (название приписывают авторству Торвальдса, однако это не так: “Linux” - название папки, созданной на ftp-сервере одним из профессоров, Ари Лемке, который и предоставил Торвальдсу место на сервере). Ядро было написано в течение двух лет, независимо от проекта GNU, исключительно забавы ради, но полностью соответствовало стандартам POSIX, так как при написании ядра Линус четко придерживался этого стандарта и его мельчайших деталей. Такая совместимость позволяля запускать различные GNU-утилиты под управлением ядра Linux. Также важным фактом было то, что Торвальдс, для возможности поделиться с другими своим трудом, лицензировал своё ядро по лицензии GNU GPL. Так как разработка ядра Hurd затянулась, руководством проекта GNU было решено временно использовать в качестве ядра ядро Linux.

Сегодня под словом “Linux” для неискушённого технического пользователя понимается готовая законченная система, которая способна решать широкий спектр задач, что не совсем корректно. Linux – название ядра, задача которого – предоставлять программам и утилитам доступ к оборудованию и ресурсам машины. Без дополнительного ПО ядро не имеет никакой практической пользы для конечного пользователя. Большая часть ПО, используемая поверх ядра Linux, является трудом проекта GNU и фондом FSF. Именно поэтому, когда ядро Linux было включено в проект GNU, образовавшаяся операционная система получила название “GNU/Linux (произносится: гну слэш линукс)”, которое означало инструментарий GNU-проекта, работающий поверх Linux-ядра. Со временем приставка “GNU/” незаслуженно была отброшена и многими забыта; некоторыми – за неудобством произношения, другими – за сомнением важности роли проекта GNU в создании современных Linux-систем. Однако по правилам, если говорят “Linux” – то подразумевается только лишь ядро, если говорят “GNU/Linux” – то подразумевается законченная целостная операционная система. После того, как удалось гармонично совместить ядро Linux и инструментарий GNU, постепенно стали появляться компании и фирмы, основная деятельность которых была направлена на распространение на носителях (сначала на дискетах – от 5 до 15 штук, немного позже – на CD/DVD дисках) семейства операционных систем GNU/Linux, а также дополнительного свободного ПО. Именно так возникло понятие дистрибутив Linux (GNU/Linux, если быть точнее). Однако компании редко оставляли программы в оригинальном виде – сотрудники модифицировали, улучшали, дополняли свободные программы, и уже только после этого распространяли их в виде дистрибутива. По сей день в мире существует не меньше 10 общеизвестных компаний поставщиков-разработчиков дистрибутивов GNU/Linux, а также не меньше 50 менее известных компаний. Однако существует ряд дистрибутивов, разработка которых ведётся децентрализованно, то есть разработчики таких дистрибутивов находятся на разных концах земного шара и, общаясь только с помощью компьютерной сети Интернет, создают полностью законченный дистрибутив GNU/Linux. У такого дистрибутива нет ни конкретного автора, ни физического/юридического адреса его представительства. Однако такой дистрибутив можно свободно скачать и также свободно использовать. Стоит отдельно отметить, что порой дискуссия на тему “что же такое GNU/Linux дистрибутив/Какие пакеты должна включать система GNU/Linux, чтобы называться дистрибутивом”, является такой же философской и бесконечной, как и дискуссия на вопрос “что такое операционная система”.

Cвобода и бесплатность


Лицензия GPL декларирует свободу программного обеспечения. Под свободным ПО понимается четыре основных так называемых Свободы:

  1. Свобода 0: свобода запускать программу в любых целях
  2. Свобода 1: свобода изучать работу программы и адаптировать её к своим нуждам
  3. Свобода 2: свобода распространять копии
  4. Свобода 3: свобода улучшать программу и публиковать улучшения

Важно отметить, что для выполнения пунктов 2 и 4 необходим беспрепятственный доступ любого желающего к исходным кодам.

Сегодня достаточно лицензий, которые применяются к программному обеспечению и выполняют все четыре условия. ПО и соответствующие на него лицензии, отвечающие данным четырем свободам, могут также называться Программным Обеспечением с Открытым Исходным кодом (Open Source Software). Однако лицензия GPL имеет следующее принципиальное отличие – если программа лицензирована по GPL, то в результате адаптирования, улучшения или модификации исходной программы производная от неё программа должна также, как и исходная программа, распространяться по лицензии GPL и её исходный код должен быть доступен.

Проблема терминологии заключается в том, что в слове “свобода” многие слышат “бесплатность”. Отнюдь. Как было сказано в предыдущей части, распространением дистрибутивов занимаются как компании, так и группы отдельных энтузиастов. Компании могут продавать дистрибутивы в достаточно богатой комплектации – в красиво упакованной коробке, по качеству не уступающей проприетарным (частнособственническим – закрытым) программным продуктам. Помимо свободных программ, в комплекте могут идти версии коммерческих программ, также распространителем дистрибутива как правило создается документация, которая также вкладывается в коробку. То есть такой комплект ничем не отличается от проприетарной операционной системы кроме одного – любой дистрибутив GNU/Linux является свободным, то есть отвечает всем четырем пунктам свободного ПО. Немного обстоит дело с распространением децентрализованно-созданных дистрибутивов – единственный вариант – это либо совершенно законно скачать из Интернета, либо купить по цене носителя у компании-распространителя свободного ПО.


Мифы об ОС GNU/Linux


В процессе оккупации рабочих и офисных компьютеров под предводительством операционных систем Windows от корпорации Microsoft, операционные системы семейства GNU/Linux обрасли немалым количеством мифов и ложных легенд.
  1. GNU/Linux – семейство операционных систем, которые не пригодны для использования обычными людьми; установка и настройка невозможна для людей, не умеющих программировать;
  1. отсутствует графический интерфейс пользователя – все взаимодействие с системой происходит через командную строку;
  2. отсутствует возможность создавать и редактировать электронные документы; отсутствует поддержка русского языка;
  3. отсутствуют среды разработки, способные конкурировать по удобству с продуктами класса Microsoft Visual Studio (отладчик, подсветка синтаксиса, автодополнение, список используемых переменных и обозначеных функций, дерево классов и т.д.);
  4. отсутствуют возможности современных графических интерфейсов
  5. отсутствует возможность проигрывания видео- и аудиофайлов;
  6. отсутствуют игры, по игровому процессу уступающие windows-играм;
  7. отсутствует возможность запускать Windows-приложения;
  8. отсутствуют аналоги сугубо профессиональных приложений (MathCAD/Mapple, 3Ds Max, Photoshop).

Эта часть статьи посвящена развеянею выше перечисленных мифов, с некоторыми оговорками.


Миф 0. GNU/Linux – семейство операционных систем, которые не пригодны для использования обычными людьми; установка и настройка невозможна для людей, не умеющих программировать;

Такая проблема существовала лет 5-10 назад. Сегодня она таковой не является. Единственное, что должен постоянно помнить пользователь, собирающийся установить, настроить и использовать семейство операционных систем GNU/Linux – Linux – не Windows. Бессмысленно и бесполезно пытаться работать в ОС GNU/Linux, одновременно пытаясь постоянно проводить аналогии с Windows-системами. Пользователь с постоянно крутящейся в голове мыслью “здесь всё не так, как в Windows, и вообще – ничего не понятно” скорее всего “обречён” вернуться на ту платформу, с которой он решил уйти. Причём мало того, что бесполезно, при этом очень вредно пытаться заставить такого человека научиться чему-то новому. Процесс установки дистрибутивов, ориентированных на пользователей (такие дистрибутивы сегодня не редкость), особо не желающих разбираться во всех деталях установки ни на йоту не отличается от подобного процесса установки в семействе операционных систем Windows. В итоге, если пользователь, независимо от квалификации, навыков и профессии, будет обладать желанием изучить и разобраться в системе, активно работая при этом серым веществом, то он рано или поздно разберётся, что к чему.


Миф 1. Отсутствует графический интерфейс пользователя – все взаимодействие с системой происходит через командную строку.

Действительно, взаимодействие с первыми версиями как UNIX-систем, так и Linux-систем осуществлялось через интерфейс командной строки (CLI – Command Line Interface) - терминал, в который пользователь вводил необходимые команды на выполнение и тем самым эффективно (даже сегодня, по сравнению с самыми продвинутыми графическими интерфейсами, интерфейс командной строки превосходит, как бы странно это не звучало, любой графический интерфейс) и производительно решал свои задачи. Однако появление и активное развитие графического интерфейса пользователя (GUI – Graphic User Interface) не обошло стороной и UNIX/Linux системы. Так, в 1985 году был создан набор утилит – X Window Server под названием Xfree86. Данный пакет программ осуществлял функции по трансляции символов и специальных функций и вызовов в графические элементы, однако отрисовка таких графических элементов (окон, кнопок, списков) происходит за счет совершенно другого класса приложений – графического окружения/графической среды/оконного менеджера. Вторым, и более распространённым сегодня в использовании является X.Org – другой X Window Server, выполняющий те же функции. Среди графических сред двумя наиболее популярными сегодня являются GNOME и KDE. Задача графической среды (Graphic Desktop Environment – другие названия: графическое окружение, графический рабочий стол и тому подобное) – предоставлять пользователю на основе работы X Window Server'а полноценный графический интерфейс пользователя, не уступающий по функциональности графическим средствам проприетарных операционных систем.


Миф 2. Отсутствует возможность создавать и редактировать электронные документы; отсутствует поддержка русского языка;

Здесь Linux-сообщество некоторым образом обязано корпорации Sun Microsystems. В 90-х годах, оценив тенденцию роста UNIX-систем на корпоративном рынке, был разработан коммерческий офисный пакет StarOffice, который мог работать как на UNIX- так и Linux-системах. Офисный пакет имел полную совместимость с форматами документов набирающего популярность пакета Microsoft Office. С распространением идеи свободного ПО корпорацией Sun Microsystems было принято решение создать на основе продукта StarOffice свободный офисный пакет, который получил название OpenOffice.org, который и по сей день отвечает всем пунктам свободного ПО и распространяется по лицензии GNU LGPL (GNU Lesser General Public License – модифицированный варант исходной лицензии GPL). Сегодня офисный пакет OpenOffice.org включает в себя текстовый процессор Writer, имеющий все те же возможности, что и Microsoft Word; редактор электронных таблиц Calc, предоставляющий те же математические функции и вычисления, что и Microsoft Excel; редактор презентаций Impress, имеющий те же эффекты для слайдов, что и приложение Microsoft PowerPoint; система управления баз данных Base, которая поддерживает работу с базами данных Microsoft Access, SQL-запросы, а также соединение с базами данных таких известных форматов, как JDBC, Oracle, MySQL, dBASE, ODBC. Все приложения имеют полную совместимость с форматами файлов соответствующих аналогов от пакета Office корпорации Microsoft, но наряду с форматами doc, xls, ppt поддерживает открытый формат Open Document Format (ODF), в который по умолчанию сохраняются все созданные в пакете OpenOffice.org документы. Данный стандарт основан на другом открытом популярном функциональном стандарте XML и является официально признанным организацией ISO стандартом в сфере электронного документооборота. Так, уже порядка трех лет данный формат используется почти во всех государственных структурах стран Европы как стандарт де факто – никаких doc-файлов – несмотря на то, что стандрарт ODF был признан официальным не так давно.

Данный пакет полностью поддерживает работу с русским языком, как в документах, так и в элементах интерфейса. Так, данный текст был напечатан в приложении Writer пакета OpenOffice.org. Существует простой способ настройки, который позволяет поменять язык отображения интерфейса, будь-то графическая среда GNOME или KDE.


Миф 3. Отсутствуют среды разработки, способные конкурировать по удобству с продуктами класса Microsoft Visual Studio (подсветка синтаксиса, автодополнение, список используемых переменных и обозначеных функций, дерево классов и т.д.);

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

Для разработки GTK-приложений, т.е. графических приложений, созданных на основе графической библиотеки GNOME Tool Kit и предназначенных для запуска в среде GNOME часто используется интегрированная среда Anjuta; для разработки Qt-приложений – графических приложений, созданных на основе графической библиотеки Qt и предназначенных для запуска в среде KDE используется среда разработки KDevelop. В качестве компиляторов используется коллекция компиляторов GNU (GNU Compiler's Collection – GCC), которая включает в себя компиляторы таких языков, как Си и С++. Также существует Free Pascal – свободная реализация компилятора языка программирования Pascal. Существует также набор интерпретаторов таких популярных сегодня языков программирования, как Perl, Python, PHP, Ruby и тому подобных.

Также существует набор приложений для возможности участия в разработке одного приложения нескольких участников – системы контороля версий, которые используются в крупных проектах, насчитывающих немалое количество разработчиков. Одна из них, Git, используется сегодня разработчиками ядра Linux. Другое известное приложение подобного рода – Subversion. Данный пакет позволяет видеть, какой из участников произвел какую работу, что было добавлено им в код и когда. Использование подобных приложений не заменимо при децентрализованной разработке любого рода приложений. Оба пакета также являются свободным ПО.

Интересной технологией является не так давно разработанная технология Mono – свободная реализация платформы .Net; в качестве среды разработки Mono-приложений используется MonoDevelop, которая позволяет внутри GNU/Linux систем создавать .Net Mono-приложения, которые могут выполняться как на GNU/Linux-системах, в которых установлены инструменты для запуска Mono-приложений, так и на Windows-системах, в которых установлены инструменты для запуска .Net-приложений. Основным языком разработки Mono-приложений является язык программирования C#, но также существует возможность создания приложений на C++. Особенностью является также то, что вся документация, созданная в рамках проекта MSDN корпорацией Microsoft для .Net технологий и программирования, применима и к технологии Mono.


Миф 4. Отсутствуют возможности современных графических интерфейсов.

Летом 2006 года была выпущена в открытом доступе, по лицензии GPL, корпорацией Novell технология XGL. На её основе сначала был создан композитный менеджер Compiz, а позже, как ответвление, проект Beryl (на данный момент у обоих проектов в планах стать снова одним проектом). Эти приложения берут на себя задачу прорисовки графического интерфейса пользователя с использованием открытой графической библиотеки OpenGL. Отличительная особенность такого интерфейса – различные трехмерные спецэффекты и визуальные эффекты рабочего стола и всего графического интерфейса. Так, например, в графических средах, таких как GNOME и KDE, всегда был не один рабочий стол, а, по умолчанию, четыре, с той целью, чтобы на каждом рабочем столе распологать так или иначе связанные приложения при работе. Благодаря технологии XGL эти четыре рабочих стола оказались на трехмерном кубе, который можно вращать, переключаясь между рабочими столами. При перетаскивании окон окно колышется, в зависимости от того, за какую часть его перетаскивают. По нажатию одной клавиши все приложения пропорционально уменьшаются и становятся видны все используемые приложения – удобно, если открыто много окон. А также имеются прочие визуальные эффекты, на которые проще взглянуть и опробовать, нежели читать их описание.


Миф 5. Отсутствует возможность проигрывания видео- и аудиофайлов.

Многие GNU/Linux дистрибутивы претендуют на распространение и использование по всему миру. Проблема заключается в том, что в некоторых странах (например, США) такие проприетарные стандарты, как mp3, dvd, avi являются запатентованными. Для прослушивания музыки/просмотра фильмов необходимо купить лицензию – право использования данных форматов. Как правило, цена включается в такие продукты, как mp3-плееры, dvd-плееры, но так как дистрибутивы GNU/Linux являются свободными, поставщик/разработчик таких дистрибутивов не имеет права включать по умолчанию в дистрибутивы поддержку проприетарных стандартов – это может являться противозаконной деятельностью. Однако, если пользователь не является гражданином страны, в котором действуют патенты на подобного рода проприетарные стандарты, ему не составляет труда скачать из интернета несколько пакетов, установка которых обеспечит поддержку в дистрибутиве таких форматов, как mp3, wmv, DivX, Xvid, mov, dvd. Наряду с поддержкой форматов, есть различные видео и аудио проигрыватели, которые ничем по своим возможностям не уступают проприетарным аналогам. Также существует ряд надежных и безопасных web-браузеров; самым известным в среде GNU/Linux является Firefox; также существует Opera – web-браузер, который является проприетарным, но, несмотря на это, является бесплатным. Не обделено семейство операционных систем и клиентами для обмена мгновенными сообщениями, совместимыми с такими популярными службами, как ICQ, Jabber, IRC, MSN.


Миф 6. Отсутствуют игры, по игровому процессу уступающие windows-играм.

Существует мнение, что на компьютере нужно работать. Играть нужно лишь на специально предназначенных для этого игровых консолях. Однако несмотря на это и в Linux-среде существуют достаточно не плохие игры. Существуют в версии для операционных систем GNU/Linux такие игры, как Quake 4 и Doom 3; существует множество аркадного и настольного рода игр. Также периодически некоторые компании–распространители дистрибутивов GNU/Linux выпускают сборникики игр; такие сборники включают как свободные игры, так и демо-версии коммерческих версий.


Миф 7. Отсутствует возможность запускать Windows-приложения.

Существует два способа решения этой задачи. Один из них – запуск отдельных конкретных Windows-приложений и Windows-программ с помощью специальных средств. Второй способ – виртуализация какой-либо ОС (в том числе Windows) целиком внутри операционной системы GNU/Linux. Самым известным приложением первого способа является Wine – приложение, позволяющее запускать в среде Linux ряд Windows-приложений. Wine не является эмулятором. Основу проекта составляют dll-библиотеки, которые написаны в соответствии с документацией Windows API, причём таким образом, что функции этих библиотек могут выполняться внутри операционной системы GNU/Linux также, как бы выполнялись внутри Windows её “родные” API-вызовы. Основная задача Wine – перехватывать требования windows-программы выполнить ту или иную функцию из API-библиотеки, и выполнять вместо неё схожую функцию, которая содержится в dll-библиотеках wine. Такой подход позволяет работать некоторым exe-приложениям, и даже играм, созданным для среды Windows. На основе Wine был создан коммерческий продукт – Cedega – приложение, позволяющее устанавливать и запускать в среде GNU/Linux самые популярные Windows-игры, такие как Need for Speed Underground, Max Pain, World of Warcraft, Warcraft, Starcraft и тому подобное. Ещё один коммерческий продукт – CrossOver Office – приложение, ориентированное на запуск офисных Windows-программ. Другая коммерческая отечественная разработка, также как и Cedega, базирующаяся на пакете Wine – продукт Wine@Etersoft – набор средств и инструментов, позволяющий запускать в среде GNU/Linux такие офисные приложения, как 1C:Бухгалтерия, 1С:Предприятие, FineReader, Microsoft Office и тому подобные.

Виртуализация возможна в двух вариантах. Либо это обычная виртуализация, когда необходимая ОС (такая ОС называется гостевой) запускается внутри исходной ОС, и тогда гостевая ОС “считает”, что она является единственно запущенной ОС; другая технология - паравиртуализация, появившаяся относительно недавно, выполняет те же функции, однако в данном случае гостевая ОС “знает”, что она является не единственно-выполняемой на компьютере, что позволяет более продуктивно расходовать на обе ОС процессорное время. Основными компаниями, занимающимися в этом направлении на сегодняшний день являются VMWare, SWSoft. Приложением, осуществляющем классическую виртуализацию, является бесплатный проприетарный пакет VMWare Player и VMWare Server, однако для паравиртуализации существует свободный пакет Xen.


Миф 8. Отсутствуют аналоги сугубо профессиональных приложений (AutoCAD, MathCAD/Mapple, 3Ds Max, Photoshop).

Несмотря на то, что фоторедактор Photoshop от корпорации Adobe обладает достаточно широкой функциональностью, в среде GNU/Linux существует свободный графический редактор GIMP, который позволяет решать основной спектр задач по редактированию и по корректировке фотографий, а также создавать различные графические и фотоэффекты.

Для построения трехмерных моделей существует несколько приложений. Во первых, это GNU/Linux версия коммерческого проприетарного графического пакета Maya, который полностью повторяет функциональность Windows-версии. Во вторых, существует свободный пакет Blender – пакет для создания 3D графики, включающий в себя средства моделирования, анимации, рендеринга, постпроизводства видео, а также создания интерактивных игр, который по своей функцональности не уступает проприетарным аналогам.

В качестве аналога математических пакетов, таких как Mapple и MathCad, можно использовать свободный пакет Maxima, который позволяет использовать множество различных математических функций и методов, а также осуществлять трудоёмкие вычисления.

Существуют свободные приложения, специфичные даже для проприетарного мира ПО. Так, у редактора диаграмм Dia, позволяющего создавать различного рода схемы и диаграмы, имеется расширение, которое осуществляет генерацию кода на языках программирования C/C++/C# на основе созданных внутри приложения UML-схем. Стоит отметить, что в мире коммерческого ПО пакеты с подобными возможностями достигают цены порядка 1-2 тыс. долларов США.

Недостатки и достоинства GNU/Linux систем


Среди недостатков стоит отметить следующие.

Во-первых, это непривычность для пользователя, никогда раньше не сталкивающегося с операционными системами семейства GNU/Linux и привыкшего работать с операционными системами семейства Microsoft Windows. Так, для неподготовленного пользователя оказывается странным отсутствие таких вещей, как диск C:\, папка Program Files, exe-файлы и тому подобные вещи.

Во-вторых, наличие драйверов под новое/уникальное (экзотическое) оборудование. Так, отсутствуют драйвера и нет наличия поддержки всех возможностей видеокарт производства корпорации ATI; представляет некоторую сложность для новых пользователей настройка такого оборудования, как USB-ADSL-модемы, и Dial-Up-модемы.

В-третьих, недостаточность ПО из коробки. Этот недостаток является достаточно относительным, так как, например, при покупке операционной системы Windows, помимо самой ОС в комплекте идут лишь такие приложения, как блокнот, калькулятор, графический редактор Paint и ряд настольных игр. Все остальное пользователь должен покупать/скачивать из Интернета и устанавливать сам. В операционных системах семейства GNU/Linux все зависит от дистрибутива. Например, если это коробочная версия дистрибутива от какой-либо компании, то на диске может оказаться свободное ПО, полностью удовлетворяющее потребности пользователя. Если же это какой-либо децентрализованно-разработанный дистрибутив, скаченный из Интернета, то в нём, как правило, содержится лишь минимум необходимых приложений для корректной установки, настройки и использования. Все остальное ПО пользователь должен выкачивать из Интернета, устанавливать и настраивать сам. Плюс такого подхода – у пользователя образуется система, содержащая только те приложения, которые ему необходимы. Однако это ведёт к следующему недостатку – необходимости наличия Интернета с широким каналом; как для скачивания необходимого ПО и обновления установленного, так и для поиска на тематических сайтах возникающих при использовании системы GNU/Linux вопросов, появление которых неизбежно.

К неоспоримым достоинствам Linux-систем можно отнести следующие.

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

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

В-третьих, это безопасность. Существует ряд приложений-брэндмауров, которые позволяют блокировать ненужный трафик и атаки злоумышленников. Проверка на ошибки исходного кода как отдельных приложений, так и самого ядра производится ежедневно тысячами программистов со всего света, что, как правило, позволяет выявить и исправить имеющиеся ошибки в безопасности программ достаточно быстро. Работа boot-вирусов (вирусов, поражающих загрузочные сектора жесткого диска) невозможна из-за отсутствия прямого доступа операционной системы и её служб к физическим загрузочным секторам жесткого диска. Невозможно функционирование вирусов, целью которых служит вредоносное изменение системных файлов и библиотек, так как ни один процесс, который выполняется при работе обычного пользователя, не имеет права изменения или удаления ни одного системного файла. При создании троянов злоумышленник должен точно знать, какие компоненты, программы и библиотеки содержатся в атакуемой системе, а также её полную конфигурацию, иначе вредоносный код не будет выполняться, либо будет выполняться, но не будет делать то, что задумано злоумышленником. Не существует макровирусов, которые являются макросом – кодом, внедрённым в документы формата Microsoft Office; несмотря на то, что офисные документы полностью поддерживаются в ОС GNU/Linux, успешное выполнение макровирусов невозможно, так как они написаны под продукты Microsoft с учетом ошибок в их коде. Если к электронному письму приложен исполняемый файл, ни одна почтовая программа не исполнит его код при открытии письма, так как признаком исполняемости файла является не расширение *.exe в конце названия файла, а специальный бит исполнения, который является метаданными.

В-четвертых, это надежность. Так как качество, стабильность и надежность кода регулярно улучшается разработчиками свободного ПО со всего света, приложения обладают минимальным количеством дефектов и ошибок, что позволяет системам работать 24 часа в сутки, 7 дней в неделю, и, зачастую, 365 дней в году.

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

Поддержка со стороны коммерческих компаний


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

Исторически первой компанией, бизнес которой основывался на распространении и внедрении свободного ПО была Red Hat – американский поставщик известного сегодня корпоративного дистрибутива – дистрибутива для серверов компаний и офисных машин сотрудников.

Благодаря IBM вышла в свободный доступ такая замечательная среда разработки как Eclipse. Не так давно был запущен web-проект по поддержке разработчиков, в том числе разработчиков свободного ПО - developerWorks, на сайте которого периодически размещаются статьи, руководства и техническая документация по разработке, внедрению и улучшению программного обеспечения, в том числе и свободного.

Корпорации Sun Microsystems мир свободного ПО обязан таким продуктом, как OpenOffice.org; более того, решением корпорации было принято выложить многие элементы технологии Java (такие, как Java Standart Edition, Java Runtime Edition, Java 2 Micro Edition) в свободный доступ по лицензии GPL – некоторые аналитики считают это твердым ответом на популярное распространение технологии .Net от корпорации Microsoft.

Деятельность корпорации Novell близка к деятельности компании Red Hat. В недрах Novell также разрабатываются качественные приложения и выпускаются “на волю”. К числу технологий, разработанных в корпорации – Mono, XGL, Beagle (поисковая машина локальных файлов, основанная на механизмах индексирования), AppArmor – комплекс защиты приложений, не позволяющий выполнять какому-либо приложению при наличии в нем ошибки вредоносный код (так называемая защита от “эксплойтов” - методов, позволяющих “эксплуатировать” ошибки и “дыры” в ПО для злоумышленных целей).

Корпорация Oracle видит огромную прибыль в корпоративном секторе баз данных именно на платформе Linux, и осуществляет разработку и поддержку своих клиентов, использующих как Linux, так и Windows. Причём как правило очередная версия баз данных этой компании выходит сначала под Linux/UNIX-системы и уже только после этого под системы Windows.

Google – лидер по количеству различных web-сервисов, часто вкладывает финансовые средства в некоторые проекты свободного ПО, а также регулярно проводит различные мероприятия международного масштаба, позволяющие выявить самых перспективных разработчиков и всячески их поддерживать (речь в данном случае идет об инициативе “Summer of Code”; так называемое “Лето кода” - участники должны реализовать в течение сезона свою какую-либо идею в виде приложения; победители щедро поощряются материально). Кроме того, многие сотрудники компании, как разработчики, так и офисные работники, используют на своих компьютерах именно GNU/Linux-дистрибутивы, не говоря уже об основателях компании – Сергее Брине и Ларри Пейдже, которые ещё до основания компании предпочитали открытые программные решения закрытым.

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

Компания Dell, один из мировых лидеров поставки готовых компьютеров, лаптопов и серверов, начала выпускать некоторые модели настольных компьютеров и ноутбуков с предустановленной ОС GNU/Linux, вместо традиционной Windows.

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

А что же у нас? Использование свободного ПО в России


Существует ряд проблем, которые не позволяют полноценно развиваться и распространяться свободному ПО, в том числе на территории Российской Федерации. Главная проблема – компьютерное пиратство в сфере программного обеспечения, которое достигает в нашей стране катастрофических масштабов. Пиратство является серьёзным тормазом в распространении ПО – многим сегодня проще купить на рынке за 100-200 рублей DVD-диск, содержащий программное обеспечение общей стоимость порядка 20-30 тысяч долларов США, чем приобщаться к миру свободного программного обеспечения. В случае, когда пиратство не распространено/распространено не так активно, пользователю выгоднее скачать/купить по цене носителя дистрибутив операционной системы GNU/Linux и разобраться с его установкой, настройкой и использованием свободного ПО, не уступающего по возможностям коммерческим аналогам, чем покупать отдельно коммерческую ОС, стоимостью порядка 100-200 долларов США, и дополнительно закупать прикладное ПО на сумму не меньше 1 тысячи долларов США для полноценного функционирования компьютера.

Следующая проблема – искусственная монополия со стороны транснациональных корпораций по разработке программного обеспечения. В первую очередь, здесь речь идёт конечно о корпорации Microsoft. К свободному ПО достаточно хорошо применяется теория эволюции – если программа постоянно совершенствуется, обновляется, разработчиками вносятся новые возможности и функции и программа востребована пользователями и сообществом, то такая программа популярна и качественна. Если программа содержит ошибки и не выполняет свою работу корректно, разработка такой свободной программы как правило сразу же приостанавливается. Если находится такая программа, которая способна обеспечить большую функциональность и возможности, чем другие популярные имеющиеся в этой нише программы, то она занимает её место. Таким образом, “слабые” программы отмирают, предоставляя место и ресурсы (разработчиков свободного ПО) более “приспособленным” программам, “сильные” программы постоянно совершенствуются, дабы не упускать свое первенство за использование, конкурируя между собой, что “неизбежно” приводит либо к созданию качественных уникальных программ, либо приводит к улучшению уже существующих. Происходит прогресс. В случае с монополизмом в сфере ПО все не так. Зачем производителю улучшать качество своего ПО, если, во-первых, он является единственным представителем какого-либо сегмента рынка ПО (для корпорации Microsoft - это сегмент операционных систем Windows на IBM PC-совместимой архитектуре). Несмотря на то, что антимонопольные государственные министерства стран различных континентов (Северная Америка, Европа, Азия) периодически предъявляют иски по обвинению корпорации в неконкурентных методах борьбы, жесткий моноплизм гиганта программного обеспечения не собирается сдавать позиции; а во-вторых, если производитель получает неплохой доход с легальных продаж своих продуктов и является единственным разработчиком на рынке ОС, зачем ему улучшать свои продукты, т.е. зачем идти по “эволюционному” пути программного обеспечения – ведь пользователь и так готов платить/воровать, так как, по его мнению, достойных более дешёвых альтернатив просто не существует.

Другой проблемой является отсутствие в законодательстве Российской Федерации таких понятий, как свободное ПО. Так, упоминающаяся лицензия GNU GPL на территории Российской Федерации на момент написания данной статьи не имела никакой юридической силы. Положение усугубляется некомпетентностью в данном вопросе как законодательной, так и исполнительной властей. Так, когда вторые устраивают проверку какой-либо организации на наличие лицензий на используемое коммерческое ПО, и выясняется, что информационная ифраструктура оргранизации полностью построена на семействе свободных операционных системах GNU/Linux, объяснить исполнительным органам, что же такое свободное ПО, почему оно не оплачено и где же автор этого используемого ПО, составляет определённую трудность в силу незнания специфики свободного ПО соответствующими органами. Законодательство же просто не предусматривает разрешение подобных проболем при проверках. Более того, сам Фонд Свободного Программного обеспечения заявляет, что перевод ни на один иностранный язык лицензии GPL не может иметь юридической силы, даже если она переведена профессиональным переводчиком и такой перевод нотариально заверен компетентным юристом, то есть лицензией является исключительно англоязычная редакция.

Следующая проблема – при проверке организации правоохранительные органы как правило априори уверены, что используемое ПО является контрафактным – не органам и судебной власти приходиться доказывать, что ПО, установленное в оргранизации, является незаконным, а, наоборот, организация должна доказать, что используемое ПО было приобретено и установлено на законных основаниях, что неизбежно ведёт к нарушению статьи 49 Конституции Российской Федерации, в которой регламентирован принцип презумпции невиновности. И хотя крупные компании могут позволить себе держать штат профессиональных юристов, способных урегулировать законными способами проблемы такого рода, для мелкого и среднего бизнеса, а тем более для государственных организаций, таких как детские сады, школы, высшие учебные заведения это является просто невозможным в силу ограниченности бюджета.

Здесь возможно “простое” решение проблемы – достаточно создать 2-3 прецедента, когда в суд попадет дело об использовании “контрафактного” свободного ПО (которое по определению не может быть контрафактным) в какой-либо организации – будет создано прецедентное дело, которое будет разобрано в мельчайших деталях. Возможно, именно тогда в Российском Законодательстве будет юридически закреплен термин “свободное ПО”, а лицензия GNU GPL, и прочие ей подобные лицензии на программное обеспечение с открытым исходным кодом (такие, как LGPL, MPL, BSD) будут признанны на государственном уровне.

Выводы


В ходе изложения данного материала были сделаны следующие выводы. Во-первых, помимо семейства проприетарных коммерческих ОС Windows существует семейство свободных ОС GNU/Linux, которые способны решать полный комплекс задач и под которые существует ПО, не уступающее по своим возможностям и функциям коммерческим продуктам; во-вторых, при должном уровне знаний использование свободных ОС вполне возможно конечными пользователями. Также была достигнута основная цель – полностью были развеяны мифы, возникшие вокруг семейства ОС GNU/Linux.