Mozilla Public License, например, отличается от GPL лишь территориальным ограничением действия лицензии. Это обусловлено тем, что законодательство США запрещает экспорт шифровальных программ в некоторые страны третьего мира, а продукты Mozilla, как правило, содержат компоненты для шифрования и защищенной передачи данных.
Некоторые лицензии, наоборот, способны предоставить пользователям еще больше прав и свобод, чем GPL. Так, лицензии на ПО, разработанное в университете Беркли (BSD) и Массачусетском институте технологий (MIT), в отличие от GPL, не связывают программиста обязательством использовать именно их лицензию для модифицированного ПО. GNU GPL не дает права применить другую лицензию для производного ПО. Кроме того, программы, основанные на продуктах GNU GPL, должны распространяться на таких же условиях. Модифицировав же программу с лицензией MIT или BSD, вы вполне можете создать закрытый коммерческий продукт[1 - Так, например, поступила фирма Apple, выпустив операционную систему Mac OS X с огромным количеством кода, заимствованного из операционной системы FreeBSD.].
Часть I
Открытое ПО для Интернета
Признаюсь, я испытывал большое искушение рассказать сначала об офисных приложениях. Но не стал этого делать по нескольким причинам.
Во-первых, на примере интернет-приложений лучше всего заметна разница между двумя подходами в разработке программного обеспечения – закрытым и открытым. Вы можете установить программы для работы в Интернете и сразу сравнить с теми скудными средствами, которые предоставляет по умолчанию операционная система Windows.
Во-вторых, вы быстро сможете убедиться, что по удобству работы открытое ПО не уступает закрытому, и продолжить изучение открытых программ, не опасаясь подвоха.
В-третьих, вы сможете просматривать веб-сайты и скачивать новые версии программ с большим комфортом, чем это возможно в Internet Explorer.
И, наконец, вы сможете задавать вопросы и писать комментарии к данной книге, составляя и получая электронные письма в открытой программе, что само по себе будет самой лучшей поддержкой открытого ПО. Должен сказать, что именно благодаря Интернету открытое программное обеспечение становится массовым, и, наоборот, Интернет, который мы знаем, не был бы возможен без использования открытого ПО.
Глава 1
Семейство интернет-приложений Mozilla
Дракон – первый сорт! Мы видели его только издали, но как будто зверюга великолепный.
И, уж конечно, злой как черт. Словом, дракон что надо.
Даже в глубоком сне изрыгал клубы дыма.
Лучше дракона и желать нечего.
Джон Боинтон Пристли, «31 июня»
Немногие знают, что большинство программ для просмотра Интернета несет в себе один и тот же генетический (читай, программный) код. И если динозавры исчезли с лица земли несколько миллионов лет назад, то программа-родительница современных браузеров вымерла лишь недавно, и, похоже, что судьба Мозиллы была предрешена заранее. Мозилла – та же Годзилла. Назвали браузер вымершим животным – название и не прижилось, хорошо, хоть сам браузер уцелел! Впрочем, эта монстрообразная программа, сочетающая в себе функции браузера, редактора, почтового и IRC-клиента (Internet Relay Chat, система онлайнового общения), успела породить массу жизнеспособных животных. Большая часть исходного кода Mozilla перекочевала в новый проект под название SeaMonkey. Отдельную жизнь получили также компоненты Mozilla: браузер Firefox, почтовая программа Thunderbird, редактор веб-страниц Nvu.
Набор приложений Mozilla Suite корпорации Mozilla (http://www.mozilla.org (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 лучшим браузером года. И это заслуженно высокая оценка!
Браузериха Mozilla, как настоящая "большая мамочка", способна выполнять рекордное количество дел одновременно. Кроме того, из года в год Mozilla снабжала разработчиков открытым браузерным кодом, и на сегодняшний день Mozilla 1.7.12 ушла на заслуженный отдых, уступив просторы Интернета своему многочисленному потомству.
Прямым наследником ее кода стал новый проект под названием SeaMonkey (рис. 1.1). В начале 2006 г. была выпущена первая стабильная версия этого нового интегрированного набора приложений корпорации Mozilla, установив который, вы сможете одновременно:
• просматривать содержимое Всемирной паутины с помощью компонента Navigator (Навигатор);
• создавать нетленное содержимое Веб в редакторе Composer (Компоновщик);
• принимать и отправлять электронную почту в окне Mail and Newsgroups (Почта и конференции);
• качать файлы с помощью Download manager (Менеджер загрузок);
• качать права в Internet Relay Chat с помощью ChatZilla (IRC-чат);
• вести учет врагов и друзей в Address Book (Адресная книга).
Рис. 1.1. Браузер на движке Gecko – основной компонент интегрированного пакета SeaMonkey, ранее известного как Mozilla Suite
Такая монолитность исполнения долгое время была своеобразной визитной карточкой самой Mozilla и браузеров, основанных на ее коде, таких, например, как Beonex, Netscape или популярный в США AOL. Тем, чья работа тесно связана с постоянным присутствием в Интернете, многофункциональность пакетов Mozilla успела полюбиться. Интерфейс уже стал стандартом для многофункциональных интернет-приложений. Не является исключением и SeaMonkey – официальный преемник Mozilla Suite. Иконки компонентов в нижнем левом углу окна (в так называемой строке статуса) и система меню вышеупомянутых программ могут отличаться лишь в деталях. Кроме того, при активированной функции быстрого запуска вы получаете быстрый доступ к любому компоненту SeaMonkey даже в том случае, если закрыты все окна программы.
Эта функция сокращает время, необходимое для запуска SeaMonkey, за счет того, что постоянно держит часть кода программы в оперативной памяти. Если функция быстрого запуска активизирована, то в системной области панели задач (рядом с системными часами и индикатором текущей раскладки клавиатуры) появляется значок в виде логотипа SeaMonkey (рис. 1.2).
Рис. 1.2. Значок быстрого запуска SeaMonkey
Полезный совет
Чтобы быстро запустить компонент SeaMonkey (например, Компоновщик, Почтовый клиент или Адресную книгу), щелкните по значку правой кнопкой мыши и выберите нужный компонент из всплывающего меню.
При установке SeaMonkey вы можете указать, следует ли активизировать функцию быстрого запуска. При использовании этой функции часть SeaMonkey загружается в память при запуске Windows (или при первом запуске SeaMonkey, если программа не включена в автозапуск). Функция быстрого запуска позволяет SeaMonkey оставаться в оперативной памяти даже после закрытия всех окон SeaMonkey. Это дает возможность при необходимости быстро вызывать компоненты SeaMonkey, не загружая весь пакет SeaMonkey снова. Если ваш компьютер имеет небольшой объем оперативной памяти, возможно, вы предпочтете не использовать быстрый запуск.
Чтобы включить или выключить функцию быстрого запуска в SeaMonkey:
1. Откройте в любом компоненте меню Правка и выберите пункт Настройки.
2. В диалоговом окне Настройки выберите категорию Дополнительно.
3. Установите флажок Не выгружать SeaMonkey из памяти, чтобы уменьшить время запуска программы, чтобы активизировать функцию быстрого запуска, или сбросьте этот флажок, чтобы отключить данную функцию.
4. Нажмите кнопку ОК.
Чтобы быстро отключить функцию быстрого запуска, щелкните правой кнопкой мыши по значку SeaMonkey в системной области панели задач (справа, рядом с системными часами). Из всплывающего меню выберите пункт Отключить быстрый запуск.
Пакет SeaMonkey просто незаменим на рабочем месте современного офис-менеджера или секретаря-референта. Какая еще программа способна настолько быстро переключаться между просмотром Всемирной паутины и работой, электронной почтой и ведением списка контактов? Эта программа способна не только заменить сразу несколько приложений, установленных в вашей Windows по умолчанию, но и предоставить большую по сравнению с ними функциональность.
В браузере, например, вы сможете пользоваться удобным механизмом вкладок, мощной системой блокировки рекламных окон и встроенным менеджером загрузок. Последний позволяет избежать беспорядка, к которому неизбежно приводит открытие множества окон загрузки файлов в Internet Explorer. Кроме того, менеджер загрузок ведет журнал, в который записывает полные сведения о том, откуда вы переписывали файлы и куда их сохраняли. Естественно, вы можете в любое время получить доступ к этим данным. Совершенно бесценный инструмент для забывчивых.
Другие компоненты SeaMonkey также удобны и ничуть не менее функциональны, чем браузер. К примеру, компонент для работы с электронной почтой (рис. 1.3) позволяет создавать отдельные записи для приема электронной почты, и при этом каждая из них может быть снабжена собственной папкой «Входящие» в то время, как Outlook Express будет все письма складывать в одной локальной папке. При составлении письма SeaMonkey позволяет не только запросить уведомление о доставке, но и создать дополнительные заголовки, позволяющие указать другой обратный адрес (в Outlook Express эту функцию можно отыскать только в глобальных настройках). Также можно направить кому-либо скрытую копию.
Рис. 1.3. Почтовый клиент интегрированного пакета SeaMonkey
За последние несколько лет Mozilla успела обзавестись столь многочисленным потомством, что современные ящеры могут и позавидовать. Это несомненная заслуга многочисленной армии разработчиков Open Source, которые трудятся, как пчелки, не только над SeaMonkey, но и на других проектах, основанных на коде Mozilla.
Как правило, все это вызвано необходимостью иметь один из компонентов тяжеловесного монстра (обычно – браузер) «заточенным» под одну из многочисленных графических оболочек UNIX. Соответственно, чаще всего переделки заключаются в том, что интерфейс программы переписывается под соответствующую этой системе графическую библиотеку. Для Windows клоны компонентов Mozilla также создаются во множестве. Есть даже облегченный (5 Мбайт) вариант этого браузера под названием K-Meleon и аналогичный почтовому компоненту Mozilla Mail простой и быстрый клиент электронной почты Sylpheed-Claws.