Образовательный программно-аппаратный комплекс (ОПАК)
на базе ПО с открытым кодом

Олег Садов

технический директор

ОАО “Линукс Инк.”

 

Зародившееся в конце прошлого столетия в научной и учебной среде движение по созданию программного обеспечения с открытым кодом (Open Source), на переломе тысячелетий превратилось в мощнейшую силу. Если раньше такие проекты были известны только узкому кругу специалистов, то нынче это серьезная часть рынка ИТ услуг. Даже такие гиганты компьютерной индустрии как IBM и Microsoft схватились в битве за Open Source.

Ни для кого не секрет, в том что основной движущей силой развития всей ИТ индустрии являются именно учебное и научное сообщество. Pascal, Multics-UNIX, ARPANET-Internet и многие другие проекты, без которых немыслим пейзаж современной компьютерной индустрии - все это родилось в университетских лабораториях. Модель развития ПО с открытым кодом аналогична модели существования научного сообщества: все результаты исследований становятся доступны всем членам сообщества, любой может их повторить и использовать в дальнейших работах. Именно поэтому ПО с открытым кодом является идеальной средой для обучения как самым современным компьютерным технологиям, так и технологиям давно ставшим абсолютным стандартом в мире информационных технологий.

Степень открытости программного проекта определяется видом лицензии под которым авторы предоставляют его остальному сообществу. В Open Source Definition сформулированы основные требования открытых лицензий. Наиболее распространенные виды лицензий:

·       GPL, LGPL

·       BSD, MIT

·       Apache, Artistic, Zope....

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

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

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

Полнофункциональные наборы такого ПО (дистрибутивы), также могут быть:

·       некоммерческими, развиваемые и поддерживаемые сообществами разработчиков (наиболее известные из них - Slackware, Debian, Gentoo...)

·       коммерческими, развиваемые и поддерживаемые коммерческими компаниями (наиболее распространенные - Red Hat, Suse/Novell, Mandrake...)

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

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

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

·       Базовое программное обеспечение (БПО) –- служит для обеспечения стандартного набора функций для построения серверной структуры и клиентского рабочего места

·       Инфраструктурные компоненты

·       Операционная система:

·       Ядро ОС. Наиболее распространенные: Linux, BSD-подобные системы (FreeBSD, NetBSD, OpenBSD).

·       Базовый набор утилит (обычно из проекта GNU).

·       Сетевые сервисы (файловый сервис, печать, WWW, DNS, LDAP, DHCP, SSH, FTP и т.д.)

·       СУБД (PostgreSQL, MySQL, SQLite и т.д.)

·       Распределенные вычисления:

·       Кластеры высокой надежности (Cluster Manager)

·       Кластеры вычислительные (MPI, PVM)

·       Кластеры балансирующие нагрузку (Piranha)

·       GRID средства, объединяющие вычислительные ресурсы (в то числе и территориально удаленные) в так называемые “Виртуальные организации”

·       Пользовательское ПО

·       Средства для организации рабочей среды пользователей

·       Средства работы с Интернет (WEB, e-mail)

·       Офисные программные пакеты

·       Мультимедиа (графика, видео, аудио)

·       Специализированное программное обеспечение – в данном случае это средства для построения автоматизированной системы управления учебным заведением и ведения учебного процесса

·       средства автоматизации автоматизации процесса управления

·       средства разработки ПО

·       специализированные программные средства для обучения по конкретным предметам

Одной из важнейших особенностей такого ПО, является его удивительная гибкость. В отличие от традиционных систем типа Microsoft Windows, вся парадигма построения которых направлена прежде всего на автоматизацию работы офиса небольшой фирмы, системы Open Source вырастали из мира UNIX, где во главу угла была поставлена задача организации рабочего места профессионала. Причем профессионала не обязательно в области информационных технологий. Поэтому - как вся система, так и программное окружение каждого пользователя может быть составлено из независимых модулей, связанных между собой четко описанными интерфейсами взаимодействия. Такая конфигурация может быть идеально настроена на круг решаемых задач, квалификацию пользователя, мощность оборудования и даже время суток...

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

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

2.   рабочая среда для учителей (учебные планы, расписание занятий, средства автоматизации проведения уроков и проверки знаний учеников и т.д.)

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

4.   дальнейшее развитие школьной ИТ инфраструктуры позволяет развивать сферу дополнительных информационных услуг (школьный портал для работы с родителями и группами бывших выпускников, предоставление информационно-образовательных ресурсов всем заинтересованным и т.д.)

Вся школа представляется в виде единого информационного ресурса с общими средствами управления и стандартными пользовательскими интерфейсами.

Мы предлагаем в качестве программной основы такого комплекса операционную систему Linux. Она может быть использована как в серверном, так и в клиентском вариантах, в том числе по схеме “тонкий клиент”. Имеющееся на данный момент ПО позволяет использовать компьютеры и учащимся с ограниченными возможностями, поддерживается специальное оборудование (например терминалы с поддержкой азбуки Брайля).

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

Попробуем теперь чуть подробнее рассмотреть возможность использования свободного ПО в учебном процессе.

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

·       Рабочий стол, работа с файлами (GNOME, KDE)

·       Сетевые сервисы (файловый, печати)

·       Интернет (WEB, E-mail)

·       Офисное ПО (OpenOffice.org, GNOME Office, KDE Office)

 

Gcompris (http://gcompris.free.fr)

Среда для работы с образовательными ресурсами (в том числе и игровых) для детей от 3 до 10 лет. Например:

·       обучение работе с компьютером: работа с клавиатурой, мышью,...

·       математика: вычисления, развитие памяти,...

·       наука и техника: работа шлюза, круговорот воды в природе, принципы работы подводной лодки,...

·       география: расположить страны на карте,...

·       игры: шахматы, тренировка памяти,...

·       чтение: практика в чтении,...

·       другие: головоломки с известными картинами, векторный графический редактор,...

Более 60 ресурсов, возможность создания новых.

KDEEdu (http://edu.kde.org/)

В рамках проекта по созданию графического пользовательского окружение KDE уже долгое время ведется работа по созданию комплекта обучающих программ по различным дисциплинам:

·       Обучение языкам: KhangMan, KLettres, KmessedWords, Kverbos, KvocTrain, Kiten, Klatin, Klettres, KmessedWords, Kverbos, KvocTrain, Kiten

·       Математика: KBruch, Kig, KmPlot, Kpercentage

·       Химия: Kalzium

·       Астрономия: Kstars

·       Экзаментор: Keduca

·       Прочее: FlashKard, Ktouch, KwordQuiz, KTurtle

Информатика

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

Языки программирования:

·       классические учебные языки - Logo, BASIC, Pascal и т.д.

·       классические языки программирования - Fortran, C, C++, Lisp, Prolog и т.д.

·       новые языки - Java, C# (Mono)

·       современные интерпретирующие языки сверхвысокого уровня - Perl, Python, Ruby, Eiffel

Средства разработки и интегрированные окружения: Emacs, Eclipse, Kdevelop, Glade, CVS, Make, autoconf и др.

Современные информационные технологии:

·       WEB (Apache, Perl, Python, PHP, Zope)

·       Базы данных – SQL (PostgreSQL, MySQL, SQLite,...)

·       Средства удаленного вызова процедур и методов: RPC, CORBA, SOAP

·       Платформы разработки многоуровневых корпоративных приложений: 2EE, .NET

Другие сферы знаний

Понятно, что учебный процесс не кончается за теми рамками, что мы только что очертили, а для кого-то только начинается. Школьная газета или журнал, работа с графикой, звуком и видео, изготовление моделей или даже выкроек одежды, география, история и многое, многое другое – во всем этом вам могут помочь программы из мира Open Source, например:

Издательская деятельность:

·       Классические издательские системы: TeX, LaTeX

·       Интгрированные пользовательские среды для них: Lyx/KLyx, TeXMacs, Kile

·       WYSIWIG: Scribus, Passepartout

·       Средства для работы с SGML и XML (DocBook, TEI)

Графика: GIMP, Dia, Kpaint, Sketch, Xfig...

Работа с аудио/видео данными: см. например проект “Planet CCRMA” Стэнфордского университета по превращению Linux-системы в профессиональную аудио-видео станцию (http://ccrma.stanford.edu/planetccrma/software/)

Средства автоматизированного проектирования (CAD/CAM): QCAD, PyCAD...

Картография, ГИС: GRASS, Quantum GIS (QGIS), UDIG, PHPGIS, Cartographic Objects for Zope (ZCO), PostGIS...

и даже Игры: Free Civilization, Katomic и т.д.

 



Hosted by uCoz