Buch lesen: «Открытые и бесплатные программы для Windows»
Введение
Благодарности
«Стартовым капиталом» для данной книги является серия моих публикаций об открытом ПО в журнале «Мир ПК». Я искренне признателен руководству этого журнала и лично редактору отдела программного обеспечения Кате Трофимовой за поддержку и понимание. Большое спасибо редактору Евгению Рыбакову из «БХВ-Петербург» за плотное курирование проекта и Виталию Герасименко за умные и полезные замечания. Я старался учесть их все.
Отдельное спасибо редактору издания, Владимиру Олеговичу Красовскому. Он проверил каждую букву, привел в порядок стили, посетил все упомянутые веб-страницы и сверил факты.
Моей жене, Елене, огромное спасибо за все. Она добровольно вызвалась прочитать рукопись и поставила на место множество знаков препинания, позабытых мной в процессе работы (я почему-то довольно часто пренебрегаю запятыми). Кроме того, она меня очень поддерживала – но не давала мне расслабляться и сачковать.
Для кого эта книга
Давно поутихла шумиха вокруг Linux и открытого ПО. Кто-то стал ярым приверженцем Open Source. Кто-то поэкспериментировал и поставил Windows обратно. Линукс-гуру сформулировали следующий принцип: «Либо разбирайся со всеми тонкостями настройки системы и ПО под Linux, либо используй коммерческие решения на базе Windows».
Кажется, что альтернатива довольно четкая. Тем не менее, у пользователей Windows тоже есть возможность приобщиться к миру открытого ПО, не меняя привычную обстановку и не прибегая к помощи «костылей», подобных эмулятору Linux типа Cygwin. Для Windows сегодня тоже существует ряд открытых приложений, «портированных» на эту платформу, в основном, из мира UNIX.
Порт – это перенос приложения и необходимых для его сборки компонентов на определенную платформу с учетом ее особенностей. Это означает, что после сборки на новой платформе приложение становится для нее «родным». Спектр таких приложений необычайно широк. От утилит командной строки и веб-серверов и до оконных графических редакторов и офисных пакетов. Благо, большинство открытых приложений написаны с прицелом на переносимость. Более того, большинство программистов под UNIX изо всех сил стараются сделать свои программы кроссплатформенными. Что ж удивляться, что большинство самых популярных в мире Linux открытых приложений перенесено также и на платформу Windows.
Существует ряд причин, по которым пользователи, вполне лояльные к открытому ПО вообще и Linux в частности, могут иметь желание, но не иметь возможности перейти на другую платформу. Часто бывает, что пользователи привязаны к платформе Windows необходимостью работы со специфическим ПО, например, с какой-либо бухгалтерской или банковской программой. Кроме того, многие пользователи просто не хотят менять Windows на другую систему, потому что она установлена на их компьютерах производителем (это называется OEM-версия) и худо-бедно обслуживается и обновляется. И, наконец, пользователь, хорошо знакомый с Windows, совсем не обязательно захочет изучать другую операционную систему только для того, чтобы использовать одну или несколько понравившихся ему открытых программ.
Какую же пользу могут извлечь пользователи Windows, установив на свои компьютеры открытое ПО для Windows? Я считаю, что огромную. Например, если все компьютеры в офисе работают под лицензионной ОЕМ-версией Windows и необходимо использовать только легальное ПО, а денег на его приобретение нет, то можно установить открытые и бесплатные альтернативы самых распространенных офисных программ. Установка OpenOffice.org вместо покупки MS Office Professional 2003 дает экономию $500 на каждый компьютер. Отказ от приобретения одного лишь текстового редактора MS Word в пользу бесплатного аналога AbiWord сэкономит $230, а установка GIMP вместо лицензионного Photoshop CS – $650. А решения на базе открытого ПО в масштабах даже небольшого предприятия способны сэкономить сумму, достаточную для приобретения новенькой иномарки.
Кроме портированных приложений, существует также целый ряд открытых и бесплатных программ, изначально разработанных для Windows, таких, например, как замечательный бесплатный видеоредактор с открытым исходным кодом ViltualDub, архиватор 7-Zip и некоторые другие программы. Вне зависимости от того, родное это приложение для Windows или портированное с другой системы, в данной книге рассмотрены наиболее удачные Open Source-программы, доступные пользователям Windows в виде бинарных дистрибутивов. Большинство из них поставляется в виде готовых к установке пакетов, или инсталляторов, представляющих собой обычный исполняемый файл. Все, что нужно, это запустить такой файл прямо с компакт-диска и следовать инструкциям, появляющимся на экране. Для более подробной информации обязательно прочтите короткий разд. «Как пользоваться компакт-диском».
Большинство помещенных на диск программ имеют в числе прочих русскую локализацию. Кроме того, на диске находятся специальные русские версии таких программ, как OpenOffice.org, приложения корпорации Mozilla и некоторые другие. В них добавлен не только русский интерфейс, но и правильная обработка отечественных форматов даты, времени, валюты и другая тонкая настройка, в том числе на корректную работу с русским языком.
Как пользоваться книгой
Каждая глава данной книги – самостоятельный тематический обзор программ, расположенных на прилагаемом диске, с обязательным подробным примером использования одной из них. Если вы имеете опыт установки и запуска установленных программ, то вы можете начинать чтение с любой главы, которая вас заинтересует. Если нет, то прочтите как минимум разд. «Как пользоваться компакт-диском».
Использованный в книге порядок глав лишь отражает современные традиции изучения программ пользователем. Современные реалии таковы, что Интернет играет в нашей повседневной жизни все большую и большую роль. Когда, например, у вас готовится к родам кошка, вы, имея компьютер, подключенный к Интернету, первым делом будете искать информацию об этом процессе во Всемирной паутине и лишь затем начнете бегать по магазинам в поисках соответствующей литературы.
Тем более это касается технических вопросов. Ведь прежде, чем у вас возникнут вопросы к разработчикам OpenOffice.org, лучше убедиться, что ваш компьютер подключен к Интернету и на нем как минимум установлен хороший браузер, чтобы задать ваш вопрос на соответствующем форуме. Именно из этих соображений я поставил главу об интернет-приложениях на первое место.
Относительно того, как изучать книгу дальше, скажу одно – дело вкуса. Детям, например, захочется сразу перейти к разделу игр и обучающих программ, а тех, кто постарше, возможно, заинтересуют главы про офисные или мультимедийные приложения. Главное – не стесняться изучать сами программы и не бояться с ними экспериментировать. Начинающим пользователям я рекомендую выполнять рассмотренные примеры пошагово, как упражнения. Это гарантированно поможет вам освоить наиболее важные функции и освоиться в рассматриваемой программе.
Правовые аспекты
Все рассмотренные в данной книге программы – бесплатные, свободно распространяемые приложения с открытым исходным кодом. Это значит, что вы можете не только совершенно свободно устанавливать их на любое количество компьютеров, но и переписывать дистрибутивы друзьям, коллегам, выкладывать в Интернет и даже переписывать с сайта разработчиков исходный код и модифицировать его. Я старался, чтобы все программы, размещенные на прилагаемом компакт-диске, соответствовали если не букве, то духу лицензии GPL (General Public License). Это значит, что некоторые программы распространяются по очень похожей лицензии, и ограничения могут касаться только вариантов использования кода программ, но программы при этом все равно распространяются свободно и бесплатно. Рассмотрим основные лицензии.
Основные положения лицензии GNU GPL
GNU General Public License (Универсальная общественная лицензия GNU) – самая популярная лицензия на свободное программное обеспечение, была создана Ричардом Столлманом (Richard Stallman) в 1983 г. Что означает рекурсивная аббревиатура GNU (которая расшифровывается как «GNU is Not UNIX»), понимает, видимо, только сам Столлман. Во всяком случае в созданной Столлманом организации «Free Software Foundation» так называют проект, объединяющий свободное программное обеспечение, распространяемое по лицензии GNU GPL. Возможно, они просто хотят подчеркнуть, что программы GNU GPL вовсе не обязательно имеют какое-либо отношение к операционной системе UNIX.
Хорошо. Не UNIX – это нам подходит, потому что все рассмотренные в данной книге и помещенные на компакт-диск программы работают в Windows. Они либо изначально разработаны под эту систему, либо созданы для работы на разных платформах, но в данном случае вы будете иметь дело именно с Windows-версией. Объединяет же все эти программы то, что все они:
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 лучшим браузером года. И это заслуженно высокая оценка!
Браузериха 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.
Однако не всегда исходный код так основательно модифицируется, как в случае с K-Meleon и Sylpheed-Claws. Параллельно этому и другим проектам существуют и развиваются как самостоятельные программы такие компоненты Mozilla, как браузер Mozilla Firefox и программа для работы с электронной почтой Mozilla Thunderbird. В отличие от K-Meleon и Sylpheed-Claws, эти программы не урезают код, а просто выделены в самостоятельные приложения с аналогичным функциональным наполнением.
Именно о них я расскажу более подробно, тем более что все советы и рекомендации по данным программам также применимы и к компонентам объединенного набора Mozilla Suite. Интерфейсы обеих программ и соответствующих компонентов SeaMonkey принципиально одинаковы, и в подавляющем большинстве случаев кнопки, команды меню и настройки программы Firefox можно найти в браузерном компоненте SeaMonkey на тех же самых местах, а список папок и писем в Thunderbird выглядит точно так же, как и в почтовом компоненте SeaMonkey.