Единое окно доступа к образовательным ресурсам

Первая международная конференция разработчиков свободных программ на Протве: Тезисы докладов

Голосов: 0

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

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
    Уровень приложений
    Обработка XML с помощью XSLT производится также в Post-
greSQL с помощью модуля xml, с добавленным функциями XSLT-
преобразования и несколько изменённой функцией выборки по XPath.
На момент написания заметки, практически вся добавленная автором
функциональность в том или ином виде уже присутствовала в модуле
xml2 того же John Gray.
    Использование Zope в качестве сервера приложений на данный мо-
мент было отложено из-за большего, чем в PostgreSQL, количества кода
для обеспечения устойчивой работы приложений. В частности, Zope не
лимитирует использование приложениями как памяти, так и процессор-
ных ресурсов.

Уровень представления
    Обработку запрошенных URL производит продукт для Zope, пе-
регружающий возможности классов ObjectManager и SimpleItem. На
данный момент, один из классов продукта, DBFS, производит отобра-
жение набора хранящихся в БД документов в виде набора URL, со-
ответствующих ID записей в БД. Однако, в работе находится версия
продукта, производящего отображение из БД от одного до k произволь-
ных записей в одном документе. Это даст возможность комбинировать
хранящиеся документы и более гибко организовывать URL доступа к
ним в Zope.

Заключение
     На данный момент проект находится в начальной стадии разви-
тия. В результате работы должна получиться система управления до-
кументами, в качестве формата хранения использующая XML OpenOf-
fice.org. Система должна предоставлять возможность простой публи-
кации документов (Save as... в OpenOffice.org), возможность экспорта
с помощью XSLT-преобразований (на данный момент написаны пре-
образования OpenOffice.org-[X]HTML), и возможность контроля вер-
сий хранящихся документов и online-поиска. Предполагается возмож-
ность экспорта, комбинирующего содержимое нескольких документов.
Это также даст возможность оформления документа уже хранящимися
в БД наборами стилей.
     14:15–15:00: Обеденный перерыв


                                81


                 Вечернее заседание
                            15:00–17:00

    Секция 1
    (Председатель — Алексей Новодворский)



15:00–15:30
Николай Гарбуз, Аскар Рахимбердиев                              Москва,
                                                           Инфра-Ресурс
Проект: OpenOffice.ru

                           Eclipse SDK

    Аннотация:
    Согласно результатам анонимного опроса посетителей сетевого про-
    екта JUGA.RU, почётное третье место по популярности среди раз-
    работчиков в России занимает интегральная среда разработки Eclipse
    SDK. Однако, если внимательно рассмотреть результаты голосования,
    то Eclipse SDK используют только 12 разработчиков из 100. Первое
    и второе место по популярности, а также основную долю на рынке
    делят две другие замечательные среды разработки: Borland Jbuilder
    (28Авторы ставят перед собой задачу разобраться, почему разработ-
    чики выбирают средства, которые дороже Eclipse SDK более чем в 100
    (!!!) раз. Настоящая работа посвящена исследованию выявленного па-
    радокса через изучение истории, философии, архитектуры платформы
    Eclipse SDK, а также сравнительного анализа особенностей и отличий
    на примерах реальных проектов.

    Не умаляя достоинств лидеров рынка (Borland Jbuilder и IntelliJ
IDEA) с первого взгляда бросается главное отличие между популяр-
ными средами разработки на Java. Eclipse SDK распространяется под
свободной лицензией, а точнее под лицензией EPL (Eclipse Public Li-
cense), что на практике означает «бери и пользуйся бесплатно», в то
время как конкуренты и лидеры опроса распространяются под патент-
ными (Proprietary) лицензиями, что на практике выглядит так:


                                   82


IntelliJ IDEA             $499.5
Borland Jbuilder X DE     $1000.

     Как известно, на свете ничего не бывает бесплатным, в т. ч. и
Eclipse SDK совсем бесплатно получить нельзя. Даже бесплатно за-
гружая дистрибутив Eclipse SDK из сети Интернет, все равно придётся
заплатить за трафик. Зная размер дистрибутива Eclipse SDK (85MB) и
стоимость трафика ($50GB), можно легко рассчитать его стоимость ().
     Зная фактическую стоимость сред разработки Java-программ, их
можно сравнить в универсальном денежном измерителе.

IntelliJ IDEA             $499.5
Borland Jbuilder X DE     $1000.
Eclipse SDK               $

     Как видим, и в денежном измерителе продукция компании Bor-
land Jbuilder X DE оказалась лидером. Хочется верить, что лидерство
продуктов с патентными лицензиями в России не связано с нарушени-
ем авторских прав их производителей. Но с другой стороны, хочется
понять: насколько и почему Eclipse SDK хуже своих ближайших кон-
курентов, если разработчики выбирают средства, которые дороже более
чем в 100 (!!!) раз.
     Настоящая работа посвящена исследованию выявленного парадок-
са через изучение истории, философии, архитектуры платформы Eclipse
SDK, а также сравнительного анализа особенностей и отличий на при-
мерах реальных проектов.
     Тезисы:
  1. Eclipse — это не IDE, а платформа разработки интегрированных
     приложений.
  2. Работа в Eclipse не ограничивается разработкой приложений
     Java.
  3. Открытость платформы Eclipse определяется не только
     лицензией, но и возможностью расширения её свойств.
  4. Eclipse — не монолитное приложение, а набор расширяемых
     подсистем: Platform, JTD и PDE.
  5. Практически любая подсистема Eclipse может быть расширена
     сторонними разработчиками для решения разнообразных задач.


                                83


  6. SWT — средство создания графического интерфейса,
     объединяющее эффективность сервисов операционной системы с
     переносимостью Java.
  7. JTD осуществляет поддержку рефакторинга, одного из главных
     инструментов разработки ПО, в том числе в экстремальном
     программировании.




15:30–15:55
Георгий Курячий                                      Москва, ALT Linux

         Организация человеко-машинного
              взаимодействия в ОС

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

    Человек боится того, что не в состоянии понять. Сложные машины
и в особенности компьютеры вызывают у современного человека страх
едва ли меньший, чем в давние времена духи и черти (см. "R.U.R."или
"Терминатор 3"). Когда поведение сложной машины непредсказуемо, че-
ловек склонен приписывать ей душу, волю или, по крайней мере, интел-
лект — черты исключительно человеческие. В человеко-машинных си-
стемах, рассчитанных на совместную работу и человека и машины,
этот страх чрезвычайно вреден.
    Чтобы избавить пользователя от страха перед машиной, нужно сде-
лать её понятной. К тому ведёт два пути. Первый: максимально упрощая
и скрывая «ненужные» подробности устройства машины, рассказать на
понятном языке, как можно воспользоваться машиной для решения
наиболее распространённых задач. Второй: обучить человека устрой-
ству машины и дать ему инструмент, пользуясь которым и зная, как

                                  84


«всё работает», он смог бы самостоятельно ставить и решать любые
задачи, на которые ориентирована машина.
     Первый способ годится для неподготовленного пользователя (одна-
ко кривая научения должна очень скоро становиться пологой). От раз-
работчиков системы он требует составления «легенды» — упрощённой
(вообще говоря — не соответствующей действительности) схемы устрой-
ства машины, пользуясь которой человек мог бы всё же принимать ре-
шения. Для работы человека в системе составляются инструкции, опи-
сывающие типовые ситуации и способ использования машины в них,
формируя навык работы. Основной работой человека при этом стано-
вится выполнение этих инструкций (точнее, предписанных ими проце-
дур), поэтому системы, устроенные таким способом, мы будем называть
процедурными. Основная точка принятия решений в таких системах —
выбор одного из предложенных вариантов использования.
     Второй способ даёт поначалу довольно пологую кривую научения
(нужно время на освоение архитектуры системы, средств управления
ею, практику в постановке и решении задач с её помощью). С течением
времени, однако, количество и сложность задач, решаемых с помощью
системы, устроенной сообразно этому способу, начинает ощутимо расти.
Такой способ требует постоянного и толкового объяснения процессов,
происходящих в машине, без чего её освоение делается почти невоз-
можным. Взаимодействие человека и машины в этом случае возможно
только на основе знаний о работе системы. Основная точка принятия
решений в таких системах — правильная постановка задачи (составле-
ние проекта будущей системы) и грамотная её реализация. Такие си-
стемы мы станем называть проективными.
     Итак, сформулируем четыре принципа организации процедурных
систем.
     Принцип ограниченной осведомлённости
     Знание многих легенд может лишь сбить с толку, а инструкции все-
гда есть в руководствах, знание же внутренностей системы не помогает
при решении задач.
     Принцип перекрытия процедур
     Любая задача должна быть решена посредством выбора одной или
нескольких из предлагаемых процедур — иначе пришлось бы «лезть»
внутрь системы.
     Принцип гарантированных навыков
     Пользоваться машиной может кто угодно, ему не надо для этого
ничего учить; основной упор делается на простейшие операции выбора
и активации.


                                 85


     Принцип делегирования ответственности
     Разработчик системы лучше разбирается в том, как именно решать
задачу пользователя, чем сам пользователь; в отсутствие разработчика
его заменяет машина.
     Принципы организации проективных систем.
     Принцип информационной открытости
     Прежде чем работать, изучи предмет; всё, к чему нет документа-
ции, можно считать неработающим.
     Принцип умопостижимости контекста
     Машина должна быть устроена так, чтобы думающий человек (не
гений) смог её понять; при решении конкретной задачи количество
средств её решения д´ лжно сводить к небольшому числу.
                     о
     Принцип распределения усилий
     Человеку свойственно ошибаться, принимать решения и мыслить
творчески, поэтому работать должна машина, а человек — думать; ес-
ли некоторая «тупая» работа ещё не автоматизирована, должны быть
лёгкие средства это сделать.
     Принцип персональной ответственности
     Всё, что натворил пользователь проективной системы, есть резуль-
тат именно его усилий; не стоит искать «ошибки в компиляторе».
     Четыре (два и два) важных следствия этих принципов.
     Работа в процедурной системе подавляет инициативу (стремление
не следовать инструкциям) — привет «скрепке»! Процедурная система —
это набор готовых решений «на все случаи жизни». Если решения всё-
таки нет (трудно всё предусмотреть), проще убедить пользователя, что
ему подходит другое — или научить избегать подобных случаев.
     Работа в проективной системе поначалу похожа на изобретение ве-
лосипедов в тренировочных целях: некоторые простые задачи приходит-
ся — и нужно! — решать самостоятельно, несмотря на то, что решения
для них есть и проверены временем. Проективная система — это набор
инструментов постановки и решения задач, поэтому соблазн всё всегда
решать самому с нуля очень велик. Однако во многих случаях всё-таки
имеет смысл не изобретать велосипедов, а воспользоваться имеющимся
и работающим мотороллером!
     Напоследок — вопрос: какие из имеющихся ОС для современных
компьютеров можно отнести к проективным системам, а какие — к про-
цедурным?




                                 86


15:55–16:10
Олег Филон                                            Гомель, ОДО Рива
Проект: Гомелькая группа пользователей Линукс
http://gomelug.agava.ru

                 Этапы легализации софта

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

    Вопрос легальности используемого ПО для любой организации яв-
ляется чрезвычайно важным. Во-первых, цена этого вопроса очень вы-
сока. Как правило, стоимость установленного ПО сравнима со стоимо-
стью всего парка компьютеров. А во-вторых, если компьютеры приоб-
ретались постепенно, многие годы, то узаконить ПО может понадобить-
ся сразу, за короткое время. Не секрет, что вопросам лицензирования
и законности программного обеспечения многие не уделяют должного
внимания. В результате люди оказываются совершенно неподготовлен-
ными, когда подобные вопросы всё же возникают.
    Покупка ПО у крупнейших американских монополий также не мо-
жет считаться приемлемым решением проблемы. Рынок программ уже
и так чрезвычайно монополизирован, любые деньги, отправленные за
океан, только усугубят зависимость от проприетарного софта, лишат
заработка отечественных программистов. Хуже того, многие толковые
специалисты в конце концов также последуют за этими деньгами. Таким
образом страдает не только экономика страны, но и её интелектуальный
потенциал.
    Другим решением проблемы может стать продуманная подготовка
и переход на использование свободного ПО. Здесь и далее под свобод-
ным ПО имеются в виду программы, распространяемые под свободными
лицензиямим . Первый этап легализации софта можно условно назвать
подготовительным.
    В своё время компания Citrix R разработала технологию и прото-
кол «терминального сервера» для выполнения приложений на сервере.
Клиентское ПО, существующее под многими платформами, позволя-
ет использовать клиентский компьютер только для ввода информации

                                   87


пользователем и вывода на экран. Затем эта технология была купле-
на Microsoft R и встроена в ОС Windows R 2000. Версия «Advanced
Server» этого программного продукта имеет встроенный терминальный
сервер с лицензией на 90 дней без дополнительной оплаты. На под-
готовительном этапе нужно добиться, чтобы пользователи научились
работать со своими приложениями только на сервере.
     Централизация ПО на сервере потребует более мощного сервера
приложений, чем обычный файл-сервер. Как всегда, наиболее критич-
ным ресурсом является оперативная память. Строя сервер приложений,
лучше запасать по 60-100 MiB RAM в расчёте на одного активного
пользователя. Другим важным моментом построения сети должно стать
удаление с виндового сервера всех серверных функций, не имеющих от-
ношения к пользовательским приложениям. Т. е. с самого начала нуж-
но включить в сеть Unix-сервер и все сетевые сервисы устанавливать
на нём. Практически всё серверное ПО существует под свободными
лицензиями, так что вы можете использовать его совершенно закон-
но. Последние версии Samba позволяют использовать эту программу
в качестве контроллера домена, а сервер LDAP способен обслуживать
единую базу данных пользователей как для Windows, так и для Unix.
     Предложить рекомендации по переучиванию пользователей работе
в терминальном режиме труднее. Важным моментом может стать утвер-
ждение правил работы в локальной сети. Например, в правилах фирмы
«Рива», Гомель, есть пункт об ответственности пользователей за за-
конность устанавливаемого ими на свои компьютеры ПО. Такой пункт
создаёт прямую заинтересованость в удалении с рабочих станций всех
сомнительных программ.
     Только после того, как все критичные для работы вашей организа-
ции приложения перенесены на Unix-платформу либо собраны на одном
или нескольких серверах приложений, можно приступать ко второму
этапу. На этом этапе необходимо заменить операционную систему на
рабочих местах на свободную и лицензионно чистую. Например, один
из дистрибутивов Linux R или FreeBSD R . Для этих платформ суще-
ствует клиент терминального сервера, программа rdesktop. В идеальном
случае пользователь может не заметить, что у него другая операцион-
ная система. Также важно, что для свободных платформ существует и
постоянно увеличивается набор пользовательских приложений.
     Наконец, третий этап. Собственно, заменив операционную систе-
му у клиентов и упрятав весь сомнительный софт на серверах при-
ложений, проблема легализации софта практически решена. Вы точно
знаете список используемых приложений, можете приобретать только


                                88


лицензии на необходимое количество одновременно работающих поль-
зователей. Очень важно, что весь софт на рабочих местах свободно
доступен, риск незаконной установки проприетарных программ на эти
компьютеры минимален, вся сеть более защищена и контролируема.
    Остаётся, однако, возможность дальнейшей и радикальной модер-
низации вашей сети. Обе упомянутые платформы, и Linux, и FreeBSD,
позволяют сделать клиентские станции бездисковыми компьютерами.
Современное железо позволяет упаковать в компактный корпус доволь-
но мощный компьютер с малым энергопотреблением. Отсутствие дисков
и вентиляторов делает его бесшумным и более надёжным. Настроив
Unix-сервер для обслуживания сетевой загрузки операционной системы
и раздачи файловой системы по NFS’у, вы сможете решить массу адми-
нистративных задач. Все Unix-приложения теперь также будут хранить-
ся централизовано, как и настройки клиентских станций. Клиентский
компьютер стал типовым, легко заменяемым.
    Третий этап, развёртывание сети из бездисковых станций, заслу-
живает внимание также как одна из перспективных бизнес-моделей для
свободного ПО. Как известно, обладая огромными технологическими
преимуществами, открытый софт не предлагает лёгкого способа зара-
батывания денег. Необходимость публикации собственных доработок
программ, распространяемых по лицензии GPL, не позволяет надолго
установить монопольно высокую цену на свои программные продукты.
Бизнес на открытом софте больше благоприятствует сопровождению
программ и серверов, т. н. «саппорту». В случае сети из бездисковых
станций и двухсерверной двухплатформенной конфигурации с отдель-
ным сервером приложений есть возможность предложить на рынок пол-
ностью готовое сетевое решение. В этом случае предлагается не толь-
ко комплексное решение всех сетевых проблем, но также обеспечива-
ется путь миграции от унаследованных проприетарных приложений к
свободно-доступным открытым, гарантируется законность, надёжность
и защита всего ПО и данных.




                                89


16:10–16:25
Александр Колотов                   Киров, Организация: сеть магазинов
                                       «Каравай» и «Недельный запас»
Проект: lindocs

            Offline документация. Прочь от
                маргинальности Linux

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

    «Я ставлю Linux своим друзьям! Они в восторге от него!» или «За-
чем популяризовать Linux? Путь его знают только гуру!» Сообщения
подобные этим часто всплывают в компьютерных форумах, где затраги-
вается тема Linux. У каждого из нас есть своё мнение по этому вопросу
и мы всегда готовы поделиться ним с оппонентами, кто по-философски
объективно, кто же хулигански-агрессивно. Не будем затрагивать эту
больную тему. Постараемся рассмотреть её с другой стороны: с помо-
щью чего новичок может стать гуру?
    Безусловно, немаловажную роль здесь играет документация. Доку-
ментация в формате MAN и INFO имеет несколько проблем:

Неочевидность Новичку сложно догадаться о существовании такого
    вида документации.
Нерегулярность Не все программные продукты документированы
    таким образом.
Неактуальность Информация часто оказывается устаревшей.
Сухость изложения Налицо проблема «разработчиками для
    разработчиков».

                                    90



    
Яндекс цитирования Яндекс.Метрика