Brave GNU World -- Выпуск #27
Copyright (C) 2001 Georg C. F. Greve <greve@gnu.org>
Расположение оригинала: http://www.gnu.org/brave-gnu-world/issue-27.en.html
Перевод на русский язык: Павел В. Ступин (Кобальт) cobalt@linux.ru.net

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

GNU/Linux TerminalServer for Schools

Проект "GNU/Linux TerminalServer for Schools" [5] пытается обеспечить пользователей простыми и понятными средствами для установки и администрирования терминал-сервера под управлением GNU/Linux.

Дополнительная информация: терминал-сервер обеспечивает работу с полноценно функционирующей системой для нескольких пользователей. Рабочие станции самих пользователей представляют из себя простые терминалы. Такой подход имеет ряд преимуществ.

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

Проект родился в ходе дискуссий в списке рассылки "Freie Software und Bildung e.V." (Ассоциация Свободного программного обеспечения и образования) [6], когда Hans-Josef Heck высказал идею о создании проекта. В ноябре 2000 года на одном из собраний ассоциации было решено начать интенсивную работу над проектом. Лидером проекта является Christian Selig, которого активно поддерживают Georg Baum и Jason Bechtel. Jason пришел из команды разработчиков проекта "Linux Terminal Server Project" (LTSP) [7], который является функциональной основой "GNU/Linux TerminalServer for Schools".

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

В числе главных критериев, которыми руководствуются разработчики при создании этого компакт диска, независимость от дистрибутивов и интернационализация. На сегодняшний день уже доступны французская (перевод Joel Amoros), шведская (Michael Habbe) и испанская (Angel Eduardo Porras Meza) версии. Переводы на другие языки только приветствуются. Как считает Christian (главный разработчик), главным достоинством проекта является то, что он не содержит в себе чего-то экстраординарного, а наоборот направлен на то, чтобы стать простым решением распространенной проблемы. Также он отмечает и слабое место - отсутствие статистики о требованиях к аппаратному обеспечению и пропускной способности сети, которые бы являлись оптимальными для определенного количества пользователей. Несмотря на то, что проект LTSP достаточно популярен, достаточно сложно определить точное количество пользователей там, где установлена система, теми же способами, к которыми пользуются распространители коммерческого программного обеспечения.

Ближайшей целью проекта является завершение работы над компакт диском, с которого бы можно было ставить систему на все популярные дистрибутивы. Для достижения этой цели требуются бета-тестеры, которые бы выявили уязвимые аспекты в установочной программе и администрировании системой. В долгосрочной перспективе, также планируется включить в систему другое программное обеспечение, необходимое для работы учебных заведений. Таким образом авторы хотят развить процесс распространения Свободного программного обеспечения в образовательной среде. С дополнительной информацией на эту тему вы можете ознакомиться на Ofset home page [8]. LTSP, а также модуль для администрирования системой, выпущены под лицензией GNU GPL. С лицензией на документацию к проекту не все так ясно, но уже достоверно известно, что рассматриваются исключительно лицензии, одобренные Фондом Свободного Программного Обеспечения (FSF) [9]. Лично мне бы хотелось, чтобы выбор пал на GNU Free Documentation License (FDL). Я продолжаю этот выпуск новостями о проекте, который уже упоминался в одном их предыдущих обзоров.

GNU HaliFAX

В 21-ом выпуске я писал о проекте GNU FaXile, целью которого было создание полноценной и удобной среды для работы с факсами, которая бы стала частью проекта GNU.

С того времени произошли некоторые изменения. Проект объединился с GNOME-GFax, и был переименован в GNU HaliFAX [10]. Из функций, которыми, по планам разработчиков, должна будет обладать программа (смотрите Выпуск 21 [11]), уже полноценно работают просмотр факсов (ghfaxviewer) и их отправка.

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

Некоторые аспекты, такие как например интеграция GNU HaliFAX с SANE, а также решение ряда проблем, связанных с управлением проектом, планируется решить в будущем. Мэйнтэйнерам проекта, Wolfgang Sourdeau и George Farris, предстоит еще проделать много работы. Главных разработчиков активно поддерживает Till Bubeck, который внес значительный вклад в разработку gfax, а также осуществил перевод ghfaxviewer на немецкий язык. До него германизацией проекта занимался Thomas Bartschies. Переводы на китайский и польский языки были осуществлены соответственно Kevin Chen и Zbigniew Baniewski.

Финансовая помощь, которая позволит Wolfgang и Georg сосредоточить свои усилия на этом проекте, очень приветствуется.

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

GOSSIP

"GOSSIP Simulation Environment" [12] - это программа, разрабатываемая Marius Vollmer, которая направлена на создание среды для моделирования при разработке средств телекоммуникаций и обработке цифровых сигналов. Среда разработана как расширение к Guile, GNU-реализации Scheme.

Проект состоит из четырех главных компонентов. Это ядро, или моделирующий движок, (gossip-sim), инструмент для получения данных и их дальнейшей структуризации (gossip-ed), набор дополнительных библиотек (gossp-lib-*), а также модуль, позволяющий читать VHDL-файлы (gossip-vhdl).

Описание моделей хранится в виде текстов, которые обрабатываются Scheme-программами, исполняемыми gossip-sim. На сегодняшний день, gossip-sim поддерживает обработку только синхронного потока данных. Асинхронные потоки данных или дискретные события игнорируются. С другой стороны, создание необходимых движков и их интеграция с программой не входят в число главных приоритетов Marius Vollmer.

Версия 1.0 практически готова к выпуску: все функции, которые планировалось включить уже интегрированы в gossip-sim; что касается других частей, то они тоже уже почти готовы для реального использования. Автору бы хотелось услышать конструктивную критику от пользователей, особенно о самом движке, так как он (автор) не является экспертов в области методов моделирования.

Автор видит GOSSIP как мощный инструмент, отличительными качествами которого являются гибкость и простота структуры. То, как некоторые программные пакеты превращают пользователей в своих рабов, является предметом особой неприязни разработчика. Поэтому он старается предоставить пользователю необходимую свободу для того, что бы пользователь сам определился сос воими потребностями.

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

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

В связи с этим я рекомендую всем, кто пользуется такими программами, начать использовать GOSSIP. Все, у кого есть опыт работы с такими пакетами как COSSAP, SPW или Cocentric SystemStudio, будут уже заранее знакомы с принципами работы GOSSIP, что значительно упростит процесс мигрирования и портирования уже написанных модулей.

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

Jude

Jude [13] является частью диссертации Massimo Zaniboni. Поводом для создания программы послужила необходимость написания приложения для рабочих групп в Crystal Engineering Laboratory of Ciamician, химическом факультете университета Болоньи, в Италии. К счастью, все это было сделано автором под лицензией GNU GPL.

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

Технологии для создания подобных решений, такие как реляционные или объектно-ориентированные базы данных, системы документооборота, XML-документы, агентные системы (agent-based systems) или Java, очень хорошо известны. Но реализация необходимой структуры тем не менее проблематична, особенно если одна или только несколько из перечисленных технологий задействованы. Jude старается интегрировать все преимущества указанных технологий в целостную среду разработки приложений.

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

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

На сегодняшний день, Jude все еще находится в стадии альфа-тестирования и его установка достаточно сложна, поэтому простым пользователя рекомендуется подождать более зрелых релизом и воздержаться от использования Jude сейчас. В связи с этим превращение Jude в продукт, которым можно реально пользоваться является первоочередной целью Massimo. После этого, он планирует расширить проект, добавив менеджер транзакций, шифрование данных, возможность работы в режиме off-line и поддержку PDA. Однако до того времени, когда все это будет работать, еще очень далеко. Помощь со стороны разработчиков и спонсоров приветствуется. Так что, если вы находите Jude проектом, на который бы вы могли потратить время, то обязательно свяжитесь с Massimo.

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

HyperBuilder

HyperBuilder [14] является проектом Alejandro Forero Cuervo, который первоначально его задумывал для создания инструмента для управления большими статическими web-сайтами (то есть теми, объем которых превышает 100 страниц).

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

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

Сами файлы, которые составляют содержимое сайтов, написаны на чем-то вроде расширенного HTML, который интуитивно понятен и легко редактируется. Модули HyperBuilder могут быть включены в файлы как HTML-образные тэги. На сегодняшний день уже готовы модули для решения ряда стандартный задач: форумы, голосования, SQL-backends, идентификации пользователей и многие другие. Также возможно напрямую включать в файлы программы на Perl или Scheme (Guile); при желании можно интегрировать код на обоих языках в одном файле.

HyperBuilder предлагает ряд преимуществ для не-программистов, потому что он очень легок в освоении. Например строка <p>Visits: <counter src="file" id="counter_id" inc="1" show="yes"></p> - это все, что нужно, чтобы поставить счетчик на страницу. Альтернативой является написать счетчик самостоятельно, что явно превысит одну строку, или же скачать CGI-скрипт, написанный кем-то другим, и затем вставить его в документ. Таким образом, HyperBuilder позволяет избавиться от использования многих CGI-скриптов.

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

Сам HyperBuilder был написан на C и выпущен по лицензией GNU GPL c поддержкой POSIX нитей (thread), что было сделано по соображениям касательно производительности приложения. Программа работает на Unix-системах и была протестирована на различных версиях GNU/Linux, Solaris/SunOS, *BSD и Irix. В качестве языков для динамического генерирования страниц могут использоваться Perl, C и Scheme.

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

Дальнейшие планы включают написание новых модулей, например таких как модуль генерирования страниц их XML-файлов, модуль для обмена данными через XML-RPC, модуль, который бы позволил включить в программу полную функциональность GIMP, а также подули для поддержки Ruby и Java.

Также, в качестве примечания, хотелось бы отметить, что уже существует портал "FuWeb", целиком построенный на HyperBuilder и доступный для использования под лицензией GNU GPL - таким образом "FuWeb" легко приспособить к собственным проектам.

Этого, я думаю, будет достаточно для получения представления о том, чем является этот проект, и единственное, что мне остается сделать, так это посоветовать вам посетить домашнюю страницу проекта [14], которая содержит примеры работы с уже упомянутым порталом FuWeb.

Новости проекта Brave GNU World

Наконец-то, я могу объявить о том, что Brave GNU World теперь переводится на еще один язык. Благодаря Fernando Lozano и Hilton Fernandes, которые присоединились к сообществу Brave GNU World, Brave GNU World теперь стал доступен и на португальском языке. Большое спасибо, ребята!

Теперь эта колонка доступна на семи языках (немецкий, английский, французский, японский, испанский, португальский). Честно говоря, я даже подумать об этом не мог, когда начинал этот проект. Также я хотел бы поприветствовать Gero Takke, Michael Scheiba и Steven R. Baker, которые присоединились к нам. Эти три человека будут заниматься поддержкой сайта Gnu Brave World. Вместе с Alejandro Forero Cuervo, автором HyperBuilder, который решил добровольно оказать своб помощь, они осуществят реорганизацию сайта Brave GNU World.

...достаточно на сегодня

Ну ладно, этого должно быть достаточно на этот месяц. Надеюсь, что поделился с вами интересной информацией и как обычно я надеюсь на поток писем с идеями, мнениями, комментариями и предложениями по поводу развития проекта. Адрес вы знаете. [1]

Информация
[1] Посылайте идеи, комментарии и вопросы на Brave GNU World <column@brave-gnu-world.org>
[2] Домашняя страница проекта GNU http://www.gnu.org/
[3] Домашняя страница Georg's Brave GNU World http://brave-gnu-world.org
[4] Инициатива "We run GNU" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Домашняя страница проекта GNU/Linux TerminalServer for Schools http://termserv.berlios.de/
[6] Домашняя страница Freie Software und Bildung e.V. (на немецком языке) http://fsub.schule.de/
[7] Домашняя страница Linux Terminal Server Project http://www.ltsp.org/
[8] Домашняя страница "Ofset - Organization for Free Software in Education and Teaching" (Организация Свободного программного обеспечения в образовании и преподавании) http://www.ofset.org/
[9] FSF - список лицензий - лицензии на документацию http://www.gnu.org/philosophy/license-list.html#DocumentationLicenses
[10] Домашняя страница проекта GNU HaliFAX http://www.ultim.net/~wolfgang/gnu_halifax/ghfv.html
[11] Georg's Brave GNU World - Выпуск #21: http://www.gnu.org/brave-gnu-world/issue-21.en.html
[12] Домашняя страница проекта GOSSIP Simulation Environment http://gossip.sourceforge.net/
[13] Домашняя страница проекта Jude http://jude.sourceforge.net/
[14] Домашняя страница проекта HyperBuilder http://bachue.com/hb/