---------------------------------------------------------------
© Copyright Максим Отставнов, 2003
Email: maksim@otstavnov.com
WWW: www.otstavnov.com
ISBN5-94842-003-5
Origin: http://www.otstavnov.com/fsft/ISBN5-94842-003-5/ISBN5-94842-003-5.html
---------------------------------------------------------------



УДК
372.800.2



ББК 74.263.2



О80





Использован
текст лекций, публиковавшихся автором в приложении к газете "Первое
сентября" "Информатика" (
http://inf.1september.ru)
в 2002-3 г., а также фрагменты статей, ранее публиковавшихся в
журналах "Компьютерра" и "Домашний компьютер".


Материалы,
представленные в этой книге, также доступны в Интернет на странице
www.otstavnov.com/fsft
на условиях Свободной лицензии ГНУ на документацию (GNU FDL). Все
прочие права сохраняются за автором.






Максим Отставнов



О80 Прикладные свободные программы в школе. -- М.:
Издательство "Медиа
Технолоджи сервис", 200".
-- 96 с.: ил.



ISBN 5-94842-003-5





Курс лекций, включенных в
брошюру, знакомит читателя с популярными свободными прикладными
программами, полезными при преподавании информатики в средней школе.
В обзор вошли пакет "офисных" программ OpenOffice.org,
коммуникационный пакет Mozilla, графический редактор GIMP,
современные графические среды GNOME и KDE и другие программы.


Для преподавателей информатики, методистов и
студентов и аспирантов соответствующих специальностей.






В
2002-3, Максим Отставнов.


В
2002, Андрей Добровольский (раздел 10.4).













Оглавление




Зачем программам быть свободными?



Лекция 1. OpenWriter -- свободный word-процессор



Лекция 2. Свободный инструментарий работы с текстом



Лекция 3. OpenDraw -- свободный редактор векторной графики



Лекция 4. GIMP -- свободный редактор растровой графики



Лекция 5. OpenCalc -- свободный редактор электронных таблиц



Лекция 6. Строка длиною в жизнь



Лекция 7. Графический интерфейс пользователя



Лекция 8. ГИП II: "Легкие" графические среды



Лекция 9. ГИП III: Интегрированные графические среды



Лекция 10. Свободные коммуникации



Литература



Об авторе












Зачем программам быть свободными?


0.1 Свободное и несвободное ПО


На сегодня в школе, как и в некоторых других
сегментах рынка, доминируют "альтернативные",
нестандарные операционные системы и платформы (такие, как MS-DOS,
Microsoft Windows, Microsoft Windows NT, MacOS версий до X).
Пользование ими описывается в учебниках, на них ориентируются авторы
отечественных учебных программ.


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


Имеются очень, на наш взгляд, веские причины,
чтобы постепенно отказаться от этой недоброй традиции и вернуться в
русло, более соответствующее магистральным линиям развития
информационных и коммуникационных технологий:



  • нестандартные системы ненадежны и
    небезопасны. С распространением в школах компьютеров и особенно
    сетей (включая доступ к региональным и глобальным сетям) ущерб от
    вирусов, несанкционированного доступа к информации и т.п. станет
    заметной статьей издержек информатизации;


  • нестандартные системы дороги. Практически для
    всех стандартных технологий имеются свободные реализации (или, по
    крайней мере, конкурентный рынок реализаций), в то время, как
    ожидать появления свободной реализации, допустим, той же MS Windows
    API в обозримом будущем не приходится, и цены будут оставаться
    монопольно завышенными. Мы не сторонники "экономии на детях",
    но, право же, выделяемые на информатизацию школы деньги можно
    расходовать гораздо более разумно -- от их вложения в
    перспективные разработки до повышения окладов учителей и
    обслуживающего персонала;


  • нестандартные системы ограничивают выбор
    оборудования и зачастую предъявляют завышенные требования к его
    параметрам;


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


  • использование несвободного ПО отрезает
    учащихся (и их наставников!) от самых прогрессивных технологических
    решений.



Могут ли сегодня свободные реализации стандартных
технологий качественно обеспечить учебный процесс в школе? Вопрос
неоднозначный, и мы видим ответ на него двояким:



  • с технической точки зрения --
    безусловно. Имеющийся пул СПО с избытком перекрывает потребности
    любого разумного учебного курса по информатике, причем большинство
    программ способно работать на массовом и недорогом оборудовании,
    распространенном в школах (ПК архитектур IBM PC и Apple Macintosh,
    терминальные классы от SUN на UltraSPARC и т.п.), включая весьма
    "пожилые" модели. Некоторые програмы требуют
    определенных усилий по локализации (переводу элементов интерфейса и
    документации), однако эти затраты на порядок меньше, чем стоимость
    "легализации" несвободных альтернатив;


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



Гораздо разумнее со вниманием отнестись к тому
интересу, который уже проявляется учителями к свободному ПО (и
наоборот, авторов и поставщиков свободных программ -- к учебному
процессу) и поддержать процесс его освоения в том темпе, который
окажется "естественным".


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


0.2 Право и экономика ПО


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


Свободными называются программы, автор (или
иной обладатель имущественных авторских прав) которых опубликовал
(обнародовал) их в сопровождении так называемой "свободной
лицензии", или, если следовать терминологии отечественного
законодательства, публичного авторского договора, передающего
приобретателю права: 0) пользоваться программой для любых
целей (в рамках российского законодательства это тавтология, так как
у правообладателя нет правомочия ограничивать цели, в которых
собственник экземпляра программы может ее применять) и на
неограниченном количестве компьютеров или мест в сети; 1)
беспрепятственно получать доступ к ее исходным кодам; 2)
изготовлять (производить) неограниченное количество дополнительных ее
экземпляров, как для собственного пользования, так и для
распространения или сдачи в прокат/аренду на тех же условиях,
возмездно или безвозмездно (по своему выбору); 3) модифицировать
ее как для собственного пользования, так и для распространения на тех
же условиях.


Конкретная "лицензия" (условия
конкретного договора) могут предоставлять приобретателю
дополнительные правомочия, безусловно или на определенных условиях, и
это не делает программу несвободной. Несвободной является
программа, распространяемая на условиях, ограничивающих
вышеперечисленные права приобретателя.


Свободные программы (free software) не следует,
как это часто делают, путать со "свободно распространяемыми"
(shareware, иногда почему-то называемыми у нас "условно-бесплатными")
или "бесплатными" (freeware).


Также следует иметь в виду, что, хотя термин
"программы с открытыми исходниками" (open source
software) часто используется как синоним "свободных программ",
им иногда злоупотребляют.


Свободное ПО не следует путать и с "открытым"
(open software): "открытость" относится к соблюдению
стандартов на интерфейсы, и только, а свобода -- к условиям
лицензирования и модели разработки.


И наконец, не следует путать "коммерческое"
с несвободным, а "некоммерческое" -- со свободным.
Хотя роль программистов, в порядке активизма или хобби пишущих и
развивающих свободные программы, очень велика, значительная часть
(вероятно, большая) свободного кода разрабатывается в коммерческих
рамках. В то же время, существует большое количество некоммерческого
несвободного кода (freeware).


Узел терминологических тонкостей и концептуальных
сложностей можно разрубить, введя альтернативное определение:
свободные программы -- это программы, все услуги по
разработке, модификации, сопровождению и поддержки которых продаются
на свободном рынке
. Если вы видите, что, например, свободный
дистрибутив какой-либо версии GNU/Linux, включающий, помимо
операционной системы и нескольких операционных сред, большое
количество прикладных программ, стоит от нескольких десятков до
нескольких тысяч рублей, в то время, как "набрать" даже
небольшую часть этой функциональности программами несвободными может
обойтись и в десять, и в сто раз дороже1,
причина этому не в "бесплатности" чего-либо, а в
конкурентности рынка.


Мы избавим читателя от обсуждения анатомии рынка
(как формируются цены, кто, за что и каким образом вознаграждается),
отослав интересующихся к соответствующей литературе [2, 3]. Важно то,
что соответствующий рынок успешно развивается уже в течении четверти
века, есть примеры исполнения им задач, немыслимых для отдельных
корпораций (самый яркий из них -- разворачивание в девяностых на
основе свободных программ и систем всемирного сообщества сетей
Интернет), и, наконец, то, что после многочисленных колебаний, лидеры
компьютерной отрасли сегодня практически однозначно высказазываются в
поддержку свободного ПО.


0.3 Применимость СПО при реализации
"Обязательного минимума..."


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


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


Упомянутые прагматические рамки заключаются в
следующем. Точно так же, как кажется вполне осмысленным
предположением, что для освоения грамотности и счета школьнику
неплохо бы овладеть ручкой и карандашом и понять, чем одна от другого
отличается (вне зависимости от того, выделяется ли чистописание в
отдельный учебный предмет, как это было принято ранее, или же, как
сейчас, освоение инструментов письма идет на тех же уроках, где
ученик знакомится с буквами и их чтением), наличие в "Обязательном
минимуме содержания образования по информатике" [1] списка
приложений компьютера ("информационных технологий"), с
которыми стоит познакомить школьников, протестов у нас не вызывает.


Среди них:



  • создание и редактирование текстов (в широком
    смысле),


  • создание и редактирование растровой графики,


  • создание и редактирование векторной графики,


  • работа с электронными таблицами,


  • работа с базами данных,


  • работа с электронной почтой и новостными
    конференциями,


  • обмен файлами в сетях,


  • работа с мультимедиа (только уровень Б),


  • работа с распределенными гипермедиа (WWW) в
    сетях.



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


Например, для того, чтобы предметно показать
учащимся разницу в различных способах представления (кодирования)
информации (п. 2 "Обязательного минимума..."), неплохо
иметь под рукой соответствующую программу просмотра. Знакомство с
языками программирования (п. 5) предполагает и знакомство с
интерпретатором или компилятором и другими компонентами
инструментальной среды и т.д. и т.п. Ну и, разумеется, чтобы учащийся
мог работать со всеми этими программами, ему необходимы базовые
навыки обращения с операционной системой/средой (вне зависимости от
того, присутствует ли такая тема отдельной строкой в учебном плане).


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


В России, насколько нам известно, наиболее
последователен в этом плане опыт Центра компьютерных технологий
Московского государственного индустриального университета, сеть
которого используется, в том числе, и для практических занятий
учащихся московских школ.


В ноябре 2001 года, во время рабочей встречи
"Свободное программное обеспечение", проведенной Высшей
школой экономики и издательским домом "Компьютерра" в
рамках разворачивания федеральной целевой программы "Электронная
Россия" [2], было достигнуто принципиальное соглашение о том,
чтобы учебные материалы, разработанные в ЦКТ МГИУ и касающиеся
применения СПО в учебном процессе, были опубликованы также под
свободной лицензией, и коллеги из МГИУ выполнили свое обещание,
благодаря чему на их сайте можно найти учебник "Практическая
информатика" [4] (также опубликован и выпущен в продажу в виде
традиционного двухтомного издания).


0.4 Логика и последовательность освоения СПО


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


Чаще всего авторы исходят из того, что
последовательность внедрения программ и пакетов, относящихся к
различным категориям, будет соответствовать последовательности
построения информационной системы (например, школьной сети). Это
вполне оправдано в случае разработки и реализации такой системы "с
нуля", однако может вызвать существенные сложности в ситуациях,
когда система уже существует, развернута на базе несвободного (и, как
следствие, почти всегда нестандартного) ПО, нужна поддержка ее роста
и развития, и администрация учебного заведения обращается к СПО
именно как к средству обеспечения такого развития.


"Сплошная миграция", при которой
администрации необходимо внедрять (а всем пользователям, включая
учителей и учащихся, осваивать) и системное, и прикладное (а в
случаях, если проводятся какие-то свои разработки, и
инструментальное) ПО одновременно, -- объективно очень сложный и
болезненный процесс. Если говорить об учебном заведении, то он сложен
вдвойне, поскольку очень разнится уровень пользователей различных
категорий. Если говорить о школах, где единственный преподаватель
информатики -- сам себе и учитель, и методист, и системный
администратор, и лаборант (а не большинство ли наших школ таковы?),
миграция по этому сценарию требует, без преувеличения, героических
усилий, ожидать которых в массовом порядке не вполне разумно.


Однако поскольку значительная часть свободного
прикладного программного обеспечения портирована (перенесена), в том
числе, и в несвободное окружение (включая получившие широкое
распространение в наших школах операционные среды Microsoft Windows и
MacOS), миграцию можно облегчить, проведя ее в два этапа (которым в
учебном заведении могут соответствовать два академических года):
сначала прикладная часть, а затем -- системная.


В настоящей брошюре мы ограничились лишь
прикладными программами, пакетами и платформами.


Лекция 1. OpenWriter --
свободный word-процессор


Изначально наша первая "лекция"
задумывалась как простая презентация ряда свободных word-процессоров
(AbiWord, Kword, OpenWriter) и программ, могущих использоваться в
качестве таковых (издательская оболочка LyX и т.п.). Однако уже
первые шаги по определению структуры таблицы, представляющей их
характеристики, и ее наполнения, заставили задуматься: а что вы с
этим потом будете делать?


И "Обязательный минимум...", и
большинство конкретных учебных планов предусматривает знакомство лишь
с базовой функциональностью программ манипуляции текстами, и любой из
перечисленных процессоров гарантированно и с избытком перекроет
требования (так же, как и масса присутствующих на рынке несвободных
программ, таких, как Microsoft Word, "Лексикон",
StarOffice или WordPerfect). Поскольку большинство из них так или
иначе развивают основные интерфейсные подходы WordPerfect,
существенного (и могущего быть выявленным в пределах тех немногих
часов, что учитель в состоянии уделить этой теме) эргономического
различия между ними нет.


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


Давайте попробуем отложить в сторону программный
инструментарий и разобраться с тем, какого рода данные мы им
обрабатываем.


1.1 "Плоский" и размеченный


Водораздел между текстовыми редакторами
(заслуживающими отдельной лекции) и word-процессорами проходит по
критерию способа отображения размеченного (имеющего некоторые
атрибуты, такие, как цвет, начертание и кегль (размер) символов,
выключка (выравнивание) и расположение абзацев, оформление страницы и
т.п.) текста. Текстовый редактор отображает его как есть, например:


<курсив>Предложение,
набранное курсивом.</курсив>

а word-процессор визуализирует эти атрибуты,
например:


Предложение,
набранное курсивом.

Визуализацию иногда путают с так называемым
WYSIWYG-принципом (сокращение от "What you see is what you get"
-- "Что видишь, то и получишь").


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


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


Предложение,
набранное курсивом.

Более того, современные технологии (например, HTML
или XML-оформление текстов) изначально предполагают, что читатель
документа может устанавливать собственные предпочтения в
визуализации, зависящие от особенностей используемого им оборудования
(размеров и разрешающей способности монитора и т.п.) или от своих
биологических особенностей (слабого зрения, дальтонизма и т.п.), и в
общем случае они могут не совпадать с предпочтениями автора или
редактора.


Таким образом, один и тот же документ может быть
отображен с разметкой, с визуализацией, а иногда -- и с
разметкой и с визуализацией.




































Один и тот же гипертекстовый
документ, отображенный браузером Mozilla с разметкой, с визуализацией
и с использованием обоих способов визуализации


Хотя на рисунке нам удалось показать три типа
отображения одного и того же документа, не выходя из одного
прикладного пакета, это не такой частый случай. На самом деле
текстовые редакторы, как правило, не имеют способности
непосредственной визуализации вообще или обладают ею лишь в зачатке
(как, например, Emacs, способный визуализировать формат Enriched
text, но Emacs это не просто редактор, а целая операционная среда), а
word-процессоры, в свою очередь, крайне неудобны для редактирования