Николай Колдыркаев - Открытые и бесплатные программы для Windows. Страница 2

1. Бесплатны.

2. Распространяются свободно на условиях GNU GPL или подобной лицензии.

3. Исходные коды каждой из этих программ распространяются вместе с программой или доступны в Интернете.

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

Основная цель GNU GPL – дать пользователям максимальную свободу в использовании ПО и сделать программы открытыми для изменений и улучшений. GNU GPL предоставляет пользователю право копировать, модифицировать и распространять программы (по умолчанию это запрещено законом об авторских правах), а также гарантирует, что пользователи всех производных программ также получат вышеперечисленные права. Принцип «наследования» прав называется «копилефт» (калька с английского copyleft) и был придуман Ричардом Столлманом. По контрасту с GPL, лицензии проприетарного (частного) ПО очень редко дают пользователю такие права и обычно, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода.

GNU GPL иногда называют просто GPL, если из контекста понятно, что речь идет именно о данной лицензии (существует довольно много других лицензий, содержащих слова "general public license" в названии).

Последняя, вторая версия этой лицензии была выпущена в 1991 г. GNU Lesser General Public License (LGPL), http://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License) – это модифицированная версия GPL, предназначенная для некоторых библиотек ПО.

Итак, GPL предоставляет получателям компьютерных программ следующие права, или "свободы":

1. Свободу запуска программы, с любой целью.

2. Свободу изучения того, как программа работает, и ее модификации (предварительным условием для этого является доступ к исходному коду).

3. Свободу распространения копий (что мы и сделали, записав для вас диск).

4. Свободу улучшения программы и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду).

При желании в Сети можно найти несколько переводов текста лицензии GNU GPL (например, этот – http://www.internet-law.ru/law/pc/gnu.htm). Ни один из них не является официальным, действующей признается только английская версия, однако русский перевод может помочь вам лучше понять смысл этой лицензии.

Официальный текст GNU GPL на английском языке вы можете прочитать на http://www.gnu.org/copyleft/gpl.html

Кроме лицензии GNU GPL организация "Free Software Foundation" подарила сообществу разработчиков открытых программ еще несколько лицензий. Поэтому иногда при распространении программ с открытым исходным кодом используют сразу несколько «народных» лицензий. Разработчики FreeCAD, например, выбрали сразу три разных лицензии для функционально различных компонентов:

• General Public License (GPL). Для исполняемых и подключаемых файлов. h и срр в ветке src/main дерева исходных кодов;

• Lesser General Public License (LGPL). Для исходного кода подключаемых библиотек DLL в файлах. h и срр из веток src/App, src/Gui, src/Base и большинства модулей из src/Mod;

• Open Publication License (OPL). Для документации.

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

Другие свободные лицензии и их отличия от GNU GPL

Кроме GNU GPL существуют и другие лицензии на свободное ПО. Их принято разделять на совместимые и несовместимые с GNU GPL. В любом случае лицензию на использование, распространение и модификацию программ с открытым исходным кодом называют свободной, если она одобрена сообществом разработчиков открытого ПО «Open Source Initiative» (OSI).

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

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

Некоторые лицензии, наоборот, способны предоставить пользователям еще больше прав и свобод, чем GPL. Так, лицензии на ПО, разработанное в университете Беркли (BSD) и Массачусетском институте технологий (MIT), в отличие от GPL, не связывают программиста обязательством использовать именно их лицензию для модифицированного ПО. GNU GPL не дает права применить другую лицензию для производного ПО. Кроме того, программы, основанные на продуктах GNU GPL, должны распространяться на таких же условиях. Модифицировав же программу с лицензией MIT или BSD, вы вполне можете создать закрытый коммерческий продукт[1].

Часть I

Открытое ПО для Интернета

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

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

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

В-третьих, вы сможете просматривать веб-сайты и скачивать новые версии программ с большим комфортом, чем это возможно в Internet Explorer.

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

Глава 1

Семейство интернет-приложений Mozilla

Дракон – первый сорт! Мы видели его только издали, но как будто зверюга великолепный.

И, уж конечно, злой как черт. Словом, дракон что надо.

Даже в глубоком сне изрыгал клубы дыма.

Лучше дракона и желать нечего.

Джон Боинтон Пристли, «31 июня»

Немногие знают, что большинство программ для просмотра Интернета несет в себе один и тот же генетический (читай, программный) код. И если динозавры исчезли с лица земли несколько миллионов лет назад, то программа-родительница современных браузеров вымерла лишь недавно, и, похоже, что судьба Мозиллы была предрешена заранее. Мозилла – та же Годзилла. Назвали браузер вымершим животным – название и не прижилось, хорошо, хоть сам браузер уцелел! Впрочем, эта монстрообразная программа, сочетающая в себе функции браузера, редактора, почтового и IRC-клиента (Internet Relay Chat, система онлайнового общения), успела породить массу жизнеспособных животных. Большая часть исходного кода Mozilla перекочевала в новый проект под название SeaMonkey. Отдельную жизнь получили также компоненты Mozilla: браузер Firefox, почтовая программа Thunderbird, редактор веб-страниц Nvu.

Набор приложений Mozilla Suite корпорации Mozilla (http://www.mozilla.org)

можно считать одним из самых серьезных успехов движения "Open Source". Mozilla – это своего рода мать-прародительница нескольких более современных проектов, таких, например, как SeaMonkey. SeaMonkey (в переводе с английского "морская обезьяна", по-нашему – "морской конь") использует тот же самый принцип "все в одном", что и замороженный на сегодняшний день проект Mozilla Suite. Это браузер, клиент электронной почты, редактор веб-страниц и IRC-клиент, объединенные в один удобный и понятный интерфейс. Кроме того, на основе кода Mozilla Suite разработан браузер Netscape Communicator.

Однако такой интегрированный подход к разработке приложений нравится далеко не всем пользователям. Многие справедливо спрашивают: "Зачем здесь интегрированный клиент электронной почты, веб-редактор и IRC, если мне нужен только браузер?" Таких сторонников принципа "разделяй и властвуй" становится все больше, и функциональная перегруженность Mozilla, а теперь еще и SeaMonkey, всегда была мишенью для критики. Замечания были приняты, и в результате проект теперь развивается в двух направлениях, одно из которых представляет интегрированное решение SeaMonkey, а второе – набор отдельных приложений, основанных на его коде (табл. 1.1).

Таблица 1.1. Дистрибутивы программ для Windows корпорации Mozilla

Mozilla Suite и SeaMonkey – многофункциональные интернет-приложения

По замыслу разработчиков, Mozilla – это динозавр, а точнее, тиранозавриха – Godzilla женского пола. До конца 2002 г. это доисторическое создание не имело даже официальной стабильной версии, и каждая новая модификация выходила только под номером типа 0.82. В 2003 г. журнал «PC World» назвал Mozilla Suite лучшим браузером года. И это заслуженно высокая оценка!