Использование программного обеспечения с открытым исходным кодом в библиотеках: за и против Open Source Software for the Libraries: Pros and Cons А. В. Кедрин, Н. В. Соколова Институт корпоративных библиотечно-информационных систем, Санкт-Петербургского государственного политехнического университета, Санкт-Петербург, Россия Andrey Kedrin and Nataliya Sokolova Institute of Corporate Library Information Systems of Saint Petersburg State Polytechnic University, St. Petersburg, Russia В докладе представлена информация о программном обеспечении с открытым исходным кодом в целом, его применении в библиотеках в частности, а также об опыте Санкт-Петербургского государственного политехнического университета в разработке и использовании программного обеспечения с открытым исходным кодом для создания системы управления электронными коллекциями. The report considers the issues of open source software movement, its use in the libraries. It also presents the experience of St. Petersburg State Polytechnical University in development and of open source software for the electronic collection management system. Программного обеспечения (ПО) с открытым исходным (Open Source Software, OSS) используется в различных отраслях, включая библиотечную. Однако библиотеки еще недостаточно осведомлены о достоинствах и недостатках использования данных программных средств для автоматизации своей деятельности. Широко распространено мнение, что OSS предназначено исключительно для программистов и технических специалистов. В последнее время это утверждение явно не соответствует действительности. Если изначально данный подход существовал преимущественно благодаря поддержке энтузиастов-программистов и заинтересованности университетов, то со временем он стал применяться и в крупных компаниях, в индустрии в целом. Важной особенностью является и тот факт, что OSS стал удачным примером отрытого международного сотрудничества по развитию и распространения программных продуктов. Идея свободно распространяемого ПО начала формироваться в конце 1960-х. Важной вехой в развитии стала предложенная в 1998 году группой OSS инициативы (Open Source Initiative, OSI) бизнес-модель существования OSS. Категории ПО Существуют различные виды сертификатов, накладывающих различные обязательства на разработчиков и дистрибьюторов ПО, различные категории свободно и не свободно распространяемого ПО. Основные из них представлены на диаграмме Chao-Kuei [1] на рис. 1: Р и с . 1 . П р а в о на по л у чении к о п и и пр о д ук т а д л я р а з л и ч н ы х к а т е го р ий П О . В докладе рассматриваются особенности каждой из категорий ПО, представленных на диаграмме [2,3]. Использование OSS: за и против Наиболее популярная комбинация OSS, используемая во всем мире, получившая название LAMP, включает Linux в качестве операционной системы, Apache для Web-сервера, MySQL для управления базами данных, PHP, Perl или Python в качестве средства программирования. По данным Netcraft, около 60% Web-сайтов мира используют ПО Apache. Достаточно популярно также использование браузера Mozilla Firefox, офисной программы Open Office. Для библиотечной отрасли существует ряд специальных решений, наиболее известными из которых являются: − интегрированные библиотечные системы: Koha, Evergreen; − системы управления электронными коллекциями и библиотеками: Greenstone, ePrints, DSpace; − портал: Plone; − средство распределенного поиска: reSearcher, LibraryFind; − преобразователь IP-адресов: OLinks, CUFTS; − средство управления учебными курсами: Moodle; − средство авторизации/ аутентификации: Shibboleth. При принятие решения о полном или частичном переходе на OSS следует взвесить все «за» и «против». Обычно приводят следующие аргументы: Аргументы «ЗА»: − полный контроль и гибкость в адаптации под запросы пользователей - пользователи могут самостоятельно модифицировать исходный код; − безопасность – продукты OSS по крайней мере дают возможность детального изучения кода программы, а также возможность устранять возникающие проблемы без ожидания помощи поставщика; − корректность локализации – каждый пользователь может производить локализацию самостоятельно, что является существенным плюсом для языков малочисленных народов − бесплатная поставка – не требуется оплаты за копию продукта, ее можно получить у других пользователей или через Интернет; − сообщество OSS предоставляет хорошую консультационную поддержку, помощь в обучении специалистов и изучении продукта. − Аргументы «ПРОТИВ»: − проприетарное ПО имеет более совершенное техническое сопровождение; − коммерческое ПО разрабатывается быстрее; − при бесплатной поставке надо учитывать скрытые расходы на установку, развитие и сопровождение продукта; 2 − отсутствие крупных компаний, предлагающих OSS решения для полного управления предприятием; − конкуренция на коммерческом рынке стимулирует развитие ПО; − коммерческие поставщики обычно поддерживают различные библиотечные мероприятия: конференции, семинары, пр. Для пользователей автоматизированных библиотечных систем создан специальный сайт, представляющий информацию об OSS для библиотек http://liblime.com/ . На сайте представлены не только различные программные системы, но рассказывается о практическом опыте перехода на OSS продукты библиотек в разных странах. Появляются OSS решения и в российских библиотеках. В вузовских библиотеках начинается использование OSS для управления электронными коллекциями: в научной библиотеке Уральского государственного университета успешно используется DSpace, в Зональной научной библиотеке Воронежского государственного университета – GreenStone. Однако говорить о массовом использовании OSS продуктов в российских библиотеках еще рано. Система управления электронными коллекциями ELSA В Санкт-Петербургском государственном политехническом университете проводятся работы по созданию системы управления электронными коллекциями. Было принято решение использовать для решения данной задачи ПО с открытым исходным кодом. Был проведен обзор имеющегося ПО для данной области – систем CyberThesis, FEDORA, GreenStone и ряда других. При наличии достаточно мощных и удобных средств для поддержки полного жизненного цикла электронного документа (в ряде случае даже присутствовала излишняя функциональность, что усложняло изучение и адаптацию программного продукта), они не полностью удовлетворяли следующим выдвигаемым требованиям: − в основном они рассчитаны на использование в одном подразделении или даже на одном компьютере; − системы не предполагают активного взаимодействия с аналогичными хранилищами информационных ресурсов; − не предусмотрена схема взаимодействия с традиционными библиотеками, с автоматизированными библиотечно-информационными системами. Было принято решение разрабатывать ПО на основе OSS портала Plone и сервера приложений Zope, имеющих лицензию GPL. Особенность выполнений модификаций в данной среде является то, что их целесообразно разрабатывать в виде так называемых продуктов – программных модулей, исполнение которых приводит к требуемой модификации исходной программной системы Plone/Zope. Такой подход позволяет любому пользователю произвести над исходной системой только те преобразования, которые ему требуются для решения стоящих перед организацией задач. Выполняется это выбор запуском соответствующих продуктов. Система получила название ELSA (Electronic Library Services and Applications) [4]. Система предоставляет следующие возможности: 1. Хранение электронных документов. Документы могут быть размещены во внутренней базе данных, в файловой системе на сервере, во внешней реляционной базе данных, на удаленных Web и FTP-серверах. Таким образом, каждая организация сможет выбрать наиболее удобный для себя способ хранения документов. 2. Поиск по метаданным и полному тексту документа. Набор метаданных документов соответствует элементам формата Dublin Core: автор, заглавие, аннотация, тематика, ключевые слова и прочие атрибуты.. 3. Поддержка различных форматов документов. Уже в текущей версии компонента электронной библиотеки поддерживается вариативность форматов представления электронных ресурсов – djvu, pdf, doc, html, ppt, rft, txt, xls. По документу в любом из этих форматов создается полнотекстовый поисковый индекс. 4. Доступность электронного документа в зависимости от его статуса. Обеспечивается поддержка набора состояний у документа, связанных с его жизненным циклом. 3 По каждой, указанной выше функциональной возможности была сделаны различные доработки, повышающие удобство использования системы и эффективность ее работы. Программные компоненты, обеспечивающие возможность интеграции ELSA в распределенную электронную библиотеку, т.е. обеспечивающие одновременный поиск во многих электронных коллекциях и электронных каталогах, а также поддерживающие обмен метаданными и их синхронизацию между хранилищем электронной коллекции и электронным каталогом, были разработаны в виде отдельных программных модулей. Общая архитектура системы ориентирована на возможность организации распределенного хранения ресурсов, а также возможность их интеграции. В системе, в принципе, могут использоваться различные лингвистические интерпретаторы – стандартный, поставляемый в рамках Plone/Zope, или внешний. Отметим, что при использовании внешнего лингвистического интерпретатора в качестве части продукта с GPL-лицензией, продукт становится модификацией исходной программы, и на него распространяется такая же лицензия. Для интеграции ELSA с другими внешними источниками целесообразно использовать стандартные протоколы интеграции, уже имеющие распространение в нашей стране. Среди российских систем автоматизации библиотек – это протокол Z39.50. Следует также учитывать и протокол SRU, в котором реализованы функции параллельного поиска и извлечения данных в Интернет среде, по URL адресу. Оба эти протокола обеспечивают параллельный поиск в каталогах, размещенных распределено. Для электронных архивов распространенным является протокол OAI MHP (Open Archive Initiative Metadata Harvesting Proptocol), позволяющий автоматически формировать централизованный индекс для находящихся распределено электронных коллекций. В качестве отдельного продукта разработан компонент, обеспечивающий доступность коллекций по протоколу OAI MHP для подключения их к внешним OAI индексам. Также обеспечивается создание по данному протоколу индекса для всех размещенных в ELSA электронных коллекций. Компонент интегратора обеспечивает интеграцию по протоколам Z39.50 и SRU, позволяя выполнять параллельный поиск сразу во всех внешних источниках. Апробация системы ELSA производится в электронной библиотеке СПбГПУ, которая содержит около 8 тысяч документов. Библиографические описания всех этих документов создаются и хранятся в АБИС «Руслан» в специальных базах данных. Ранее поиск документов в электронной библиотеке осуществлялся только по метаданным. После установки ELSA появилась возможность осуществлять поиск по полным текстам документам, что позволяет пользователям выполнять более качественный поиск необходимой информации. Применение программы ELSA-IS в СПБГПУ позволило в течение одного дня выполнить загрузку описаний всех электронных документов в ELSA и дать возможность выполнять по ним поиск. При этом сами документы по-прежнему хранятся на FTP-сервере библиотеки СПбГПУ. Таким образом, система ELSA является примером использования решений OSS для управления электронными коллекциями. Система ELSA разработана на основе продукта с лицензией GPL и, соответственно, обладает такой же лицензией. Код программы и дистрибутив доступны на сайте компании «Открытые библиотечные системы» (http://obs.ruslan.ru). Все заинтересованные стороны приглашаются к совместной работе как в области использования системы ELSA, так и в области ее разработки и модификации. Литература: 1. «Free», «Free», and «Open Source?» // Library Technology Reports. – Chicago. – 2007. – P. 13–15 2. Open Systems, Formats, and Standards // Library Technology Reports. – Chicago. – 2007. – P. 21–27 3. Categories of Free and Non-Free Software [Электронный ресурс] – Режим доступа: http://www.gnu.org/philosophy/categories.html 4. Кедрин, А. В. Программный комплекс ELSA – инновационное предложение для создания электронных библиотек / А. В. Кедрин, Н. В. Соколова, Р. Т. Усманов; Труды 10-й Межд. Конф. «LIBCOM 2006» [Электронный ресурс] – Режим доступа: http://www.gpntb.ru/libcom6/disk/trud.html 4