Свободные программы в образовании
Практика использования программного обеспечения в учебном заведении имеет множество особенностей, целиком реализовать которые можно только с применением свободного программного обеспечения.
Что такое "Свободное ПО"
Опеределение "Свободного ПО" [1] состоит из четырёх "степеней свободы". Это определение рассчитано, как будет показано ниже, в первую очередь на разработчкиа. Рассмотрим также, что даёт свободное ПО пользователю.
- Свободное программное обеспечение с точки зрения разработчика: 4 степени свободы
- Свобода использования программы в любых целях (нужна также и пользователю)
- Свобода изучения программы и внесения любых изменений (требуется открытость исходного кода)
- Свобода распространения копий программы
- Свобода распространения изменений к прогрмаме (требуется открытость исходного кода)
- Свободное программное обеспечение с точки зрения пользователяя: 4 уровня открытости
- Документированность
- Поддержка стандартов
- Частичая открытость (для спецслужб или под договор о неразглашении)
- Полная открытость
- Свободное лицензирование и Open Source (открытый исходный код)
- Языковые проблемы: "open/открытый", "free/свободный", "license/лицензия"
- Open Source Initiative: "официальное" определение Open Source [6]
- 10 пунктов: все "свободы" плюс ограничения на злонамеренное использование
- "Лицензия" и оферта. список "официальных" свободных "лицензий" на OSI
GPL ("Общественная Лицензия GNU") [3]: дополнительно вводится запрет на нарушение свобод при распространении программы и производных от неё
"Университетская модель" и свободное ПО
Интересна сама модель разработки свободного ПО [2]; назовём её "открытой моделью". Она основывается на вовлечении в разработку как можно более широкого круга участников за счёт предоставленных свобод.
Открытая модель разработки ПО во многом почёрпнута из "университетской" модели разработки, появившейся в знаменитых американских университетах [4], вроде UC Berkley или MIT, которая также декларировала свободное участие любого специалиста (о лицензионных ограничениях тогда не задумывались вовсе). Открытая, "университетская" модель разработки ПО, в свою очередь, восходит к общемировым традициям совместных исслодований и преподавания в университетах.
Рассмотрим основные положения, которые открытая модель разработки унаследовала от "университетской":
- Информационная открытость -- главный принцип и в обучении, и в открытой разработке ПО. "Тайное знание" -- удел шаманов и бизнесменов, охраняющих своё "know-how".
- Свобода знаний.
- Знания следует распространять, а не скрывать. Тем более пагубно запрещать из распространение. Это подрывает как саму идею научной работы, так и саму возможность открытой разработки ПО.
- Сообщество на добровольной основе.
- Университетское сообщество образуется на принципах, которые условно можно назвать "стремлением к знанию". Всё, что мешает этому стремлению, в том числе любого рода принудительный отказ от учёбы и исследований, считается злом.
Сообщество вокруг свободного ПО вообще лишего единой чётко выраженной мотивации, стремление каждого участника строго индивидуальны. Тем не менее основной принцип условно можно назвать "стремлением к улучшению" этого ПО (в тексте GPL прямо сказано о "свободе улучшать программу).
- Практическое, образовательное и исследовательское применение единой платформы. Университет. как одновременно учебное, научное и
производственное заведение нуждается в единой программной платформе для всех трёх ветвей деятельности. Это восходит к ещё одной традиции, принципа самодостаточности университетов. Для этого -- как минимум, в рамках одного университета -- используемое ПО должно отвечать всем требованиям свободного ПО (использование, изучение, распространение, доработка).
Конференция "Свободные программы в высшей школе"
В 2006 году факультет ВМиК МГУ выступил соучредителем конференции «Свободное программное обеспечение в высшей школе». Некторые наблюдения и результаты этой конференции [5] с точки зрения человека, одинаково близкого обеим заявленным областям:
Высокая потребность в стандартной и открытой платформе для обучения. Только стандартизованная программная платформа, не имеющая ограничений по сипользованию и распространению информации, может служить основой для создания воспроизаодимых методических разработок и курсов. В противном случае каждая разработка остаётся локальной для ВУЗа и очень быстро устаревает.
- Пассивность большей части преподавателей ("некогда изучать, надо обучать"). Проблема чисто социальная, но в немалой степени отражающая отношение преподавательского состава к научно-педагогической деательности: причины, изложенные в п. 1, как правило, не позволяют таким разработкам развиваться.
- Неготовность преподавателей работать в сообществе ("я почти всё сделал, но выкладывть стесняюсь"). Энтузиасты-одиночки привыкли надеяться только на себя и не имеют навыков взаимодействия с сообществом, не говоря уже о культуре такого взаимодействия. В частности, временные рамки обычно не позволяют таким людям доводить свои разработки до "товарного" качества, хотя при предоставлении удобного доступа к ним проблему могли бы решить люди другого склада: "педанты" и "аккуратисты".
Приложение: опыт ВМиК МГУ
В приложении перечислю факты успешного внедрения и использования свободного ПО на факультете ВМиК МГУ.
- Серверный парк. Сетевые и коммуникационные службы ВМиК МГУ полностью базируются на свободном ПО (используется ОС FreeBSD со свободным пакетным наполнением) [7].
- Класс общего доступа и практикум 2-го курса также базируются на FreeBSD. применена технология "бездисковых станций" ("толстых клиентов"), значительно упрощаюющая администрирование.
- Индивидуальные проекты, опыт лабораторий ЛВК и ПО.
The Free Software Definition / Доступно в сети Интернет: http://www.gnu.org/philosophy/free-sw.html (русский перевод: http://www.gnu.org/philosophy/free-sw.ru.html)
Курячий Г. В. Свободное ПО — сообщество и право. Доклад на конференцию OPEN SOURCE DAY г. Алматы, 23 февраля 2006г. / Доступен в сети Интернет: http://uneex.cs.msu.su/storage/presentation/Free_OS.KZ/
GNU General Public License / Доступно в сети Интернет: http://www.gnu.org/licenses/gpl.html (имеется неофициальный перевод: http://www.infolex.narod.ru/gpl_gnu/gplrus.html)
Marshall Kirk McKusick. Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable // Open Sources Voices from the Open Source Revolution, O'Reilly 1999
Конференция «Свободное программное обеспечение в высшей школе». Переславль, 28 - 28 января 2006 года. Тезисы докладов. / Доступно в сети Интернет: http://heap.altlinux.ru/pereslavl2006/
The Open Source Definition / Доступно в сети Интернет: http://www.opensource.org/docs/definition.php
Курячий Г. В. Разработка публичного коммуникационного центра с единой системой авторизации доступа. / Доступно в сети Интернет: http://heap.altlinux.ru/alt-docs/modules/CMC_Communication_Stand.george/index.html