Свободное ПО в высшей школе: возможности, потребности, перспективы
Предуведомление первое. Заголовок этой статьи затрагивает весьма обширную тему, далеко выходящую за журнальные рамки. Даже простое перечисление актуальных мероприятий по теме — от солидных конференций до скромных дополнений в учебной программе — заняло бы непростительно много места. К тому же не все эти мероприятия в достаточной степени публичны, и не все из них равно значимы. По нашему пристрастному мнению один грамотный и аккуратный учебный план стоит многих пышных симпозиумов, и заслуживает куда большей огласки.
Поэтому мы ограничимся анализом мероприятий, в подготовке и проведении которых принимали непосредственное участие. Наблюдая процесс и изнутри, и снаружи, легче заметить как тенденцию развития, так и подводные камни. Часть утверждений основана на фактах, которые с появлением электронных поисковых и новостных систем, вроде Яндекс или Google, принято считать более или менее известными; если же обнаружится потребность в их детализации, мы готовы и к пояснениям, и к дискуссии.
Предуведомление второе. Даже когда речь идёт о свободном программном обеспечении вообще, в качестве «ключевого» зачастую используют слово «Linux». Мы также будем ссылаться на этот термин, отчасти по специфике нашей работы, отчасти потому, что Linux-сообщество с одной стороны и семейство операционных систем GNU/Linux с другой представляют слишком удобный материал для иллюстрации свойств и тенденций СПО в мире. Не стоит забывать, что термин «Linux» никоим образом не представительствует за все свободные программы, как и операционная система семейства GNU/Linux не является ни единственной платформой для свободного ПО, ни даже единственной в своём роде свободной операционной системой.
О свободном программном обеспечении
Короткое и ясное определение свободного программного обеспечения сформулировано лидером движения СПО Ричардом Столлманом. Свободную программу можно без каких-либо ограничений:
- запускать (использовать)
- изучать и модифицировать («улучшать»)
- распространять
- распространять в модифицированном виде («с улучшениями»)
Свободное ПО и исходные тексты
Принято считать, что «изучение» и «модификация» требуют, чтобы пользователю был доступен исходный текст программы на языке программирования, а также инструкция по сборке.
В самом деле, на сегодня скрыть исходный текст означает напрямую ограничить право на изучение и модификацию. К тому же результату приводит предоставление доступа к исходным текстам на каких-либо условиях («только для некоммерческого использования», «только в рамках такой-то системы» и т. п.). Любое нарушение одной из четырёх «свобод Столлмана» делает программу несвободной, что гарантирует трудности в дальнейшей работе с нею.
Последний пункт, фактически, открывает дорогу бизнесу с иcпользованием СПО: если вы знаете, как улучшить свободную программу, чтобы с её помощью заработать, вам и карты в руки; можно не бояться, что завтра придёт лев и потребует свою долю.
Право собственности на программный продукт
Заметим, что бизнес с использованием несвободных программ основан на совсем другом принципе: чаще всего правообладатель запрещает пользователю и изучать (в смысле внутреннего устройства), и модифицировать, и распространять свою программу, либо требует за это изрядные деньги. Право использовать программу нередко тоже ограничивается — одним компьютером, одним годом и т. п. Запретить человеку что-то делать технически очень сложно, поэтому каждая несвободная программа снабжена т. н. «лицензионным соглашением» (license), где описаны условия, на которых её разрешается использовать, а также ответственность за нарушение этих условий. Такое лицензионное соглашение имеет большую или меньшую силу в разных странах, однако совсем недействительным не бывает. В частности, нарушение пунктов соглашения, касающихся прав собственности, в России может расцениваться как уголовное преступление.
Таким образом, положение пользователя свободной программы резко отличается от положения пользователя программы несвободной. Типичный пользователь несвободной программы — что-то вроде арендатора: он купил у правообладателя часть прав пользования, и только.
Пользователь свободной программы — полноправный собственник того экземпляра, который ему достался, неважно, загрузил ли он программу по сети, или же купил диск в коробочке с книжкой. Чтобы соблюсти букву закона, свободные программы тоже сопровождаются лицензионным соглашением, в котором пользователь уведомляется о безвозмездной передаче ему всех четырёх прав. В числе прочего это означает, что программу можно устанавливать куда угодно и раздавать кому угодно, хоть за деньги, хоть за спасибо — и оставаться в рамках закона!
Copyleft, GPL и Linux
Очень часто к четырём пунктам — правам добавляется пятый — обязанность. Суть этого пункта в том, что распространяя свободную программу или её модифицированный вариант, пользователь обязуется не нарушать всех пяти пунктов соглашения. Иными словами, если полученная программа была свободной, то и модифицированная версия должна быть свободной. Самих «четырёх свобод» это ограничение не затрагивает, оно только запрещает менять (в худшую сторону) условия распространения программного продукта и его производных. Копирайт (право определять условия распространения) при этом остаётся у автора, поэтому такое ограничение носит название «копилефт» (copyleft).
Структуру «4 свободы + копилефт» имеет весьма популярный нынче вид лицензионного соглашения — GPL (Общественная Лицензия GNU). Под этой лицензией распространяется собственно Linux — ядро операционной системы семейства GNU/Linux, подавляющее большинство программного окружения такой системы, значимая часть пользовательских приложений типичного дистрибутива на базе Linux. Из оставшихся программных продуктов, составляющих дистрибутив Linux, опять-таки большая часть — свободные программы (распространяемые под другими свободными лицензиями). Обычно несвободные компоненты конкретного дистрибутива Linux — это драйверы некоторых устройств и, реже, демонстрационные/бесплатные версии каких-нибудь несвободных программ (вот с ними надо быть осторожнее и внимательно изучать условия распространение и использования).
Пользовательские качества свободных программ
Если отвлечься от условий распространения, «потребительские свойства» программного продукта на сегодня не выводятся однозначно из того, свободный он или нет. И среди свободных, и среди несвободных программ можно встретить неряшливые или недоработанные экземпляры; и там, и там достаточно уникальных высококачественных продуктов. Любая пользовательская задача может быть решена при помощи исключительно свободных программных инструментов. В некоторых областях налицо перевес свободного ПО, в некоторых — наоборот, это уже вопрос тонкого анализа.
Резко различаются концепции «надёжности–защищённости» свободных и несвободных продуктов. Если в программе есть незаметная ошибка, она проявится в процессе эксплуатации; здесь все программы равны. Но вычитать и исправить соответствующий ошибке кусок исходного текста свободной программы может любой грамотный специалист, а в случае программы несвободной такой возможности нет, следует дожидаться благой воли правообладателя. Даже просто уведомить об ошибке гораздо проще в свободном проекте: открытая разработка предусматривает средство общения непосредственно с разработчиком, в особенности для отслеживания ошибок в ПО. В результате исправление ошибки в свободной программе идёт неизмеримо быстрее, чем в несвободной: часто на это уходит меньше рабочего дня.
Сходная ситуация и с проблемами безопасности. Вероятность того, что потенциальную уязвимость в свободной программе найдёт и исправит заинтересованный эксперт из сообщества существенно выше, чем того, что эту уязвимость найдёт злоумышленник и вдобавок придумает, как ею воспользоваться. Образно говоря, закрыть форточку на третьем этаже проще, чем посредством неё ограбить квартиру. Зачастую исправление уязвимости в свободной программе опережает публикацию самого факта этой уязвимости. Что же касается несвободной программы, то дело почти всегда начинается со «взлома», то есть с успешных действий злоумышленника.
Итак, помимо свободы распространения имеется ещё одно свойство СПО, которое наводит мост между «СПО вообще» и «СПО в высшей школе». Это свойство — открытость и связанная с ней свобода выбора.
СПО и высшая школа
Открытый способ разработки
Можно заметить, что пресловутые «4 свободы» поданы с точки зрения именно разработчика ПО, а не пользователя. В самом деле, зачем «простому пользователю» исходные тексты программы, если он не программист? Свободная лицензия защищает не только интересы пользователя или разработчика. Она позволяет сохранить открытый способ разработки, создавая тем самым возможность организовать бизнес не только на материальной, но и на любой другой заинтересованности. Исходные тексты свободной программы и инструкции по её сборке не просто «доступны», они размещены в удобной для совместной разработки форме, с использованием версионирования, учётом изменений, аннотированием и десятками других возможностей, повышающих эффективность групповой работы. Свободный разработчик заинтересован в том, чтобы к его проекту присоединилось как можно больше квалифицированных коллег. Информация о том, как принять участие в проекте и что для этого требуется делать, средства накопления и обмена информацией (почтовые рассылки, тематические сайты) — неотъемлемый атрибут любого сообщества вокруг свободного ПО.
Если человек вносит качественный вклад в общее дело, не очень важно, зачем это ему нужно: он может зарабатывать результатами своего труда или просто развлекаться, жаждать славы или тренироваться, защищать диссертацию, наконец, а общее дело — развитие программного продукта — будет неуклонно двигаться вперёд.
СПО и академическое сообщество
Здесь нельзя не усмотреть параллели с академическим сообществом. Накопление и обмен знаниями как основной инструмент (знание — сила!). Коллегиальность. Иерархия, обусловленная не должностями, а уровнем и качеством сделанного. Преемственность (с обязательной ссылкой на источник), как возможность дальнейшего исследования. Параллель не случайна. Действительно, движение СПО формировалось академической средой, оно заимствовало оттуда социальный уклад и приёмы работы. Рискнём добавить: заимствовало и усовершенствовало с учётом современных потребностей в разработке программ.
Что — с точки зрения использования ПО — отличает университетскую среду от, скажем, корпоративной? На наш взгляд — разнообразие и непредсказуемость.
Например, никогда нельзя точно определить на сколько именно рабочих мест будет установлен программный продукт. Шестнадцать компьютеров в классе? В конце года его переоборудуют — и станет двадцать. Сорок слушателей по данной специальности? В следующем семестре будет шестьдесят. Персональные компьютеры преподавателей, ассистентов, студентов — в общежитии и дома... А ведь нелицензионное копирование — в должных масштабах — это уголовное преступление. Некоторые несвободные программные продукты иногда сопровождаются т. н. «кампусной» лицензией (от слова «campus» — университетский городок), в которой эта неопределённость учтена. Некоторым ВУЗам такая лицензия по карману, и некоторые из них на неё решаются.
Со свободным ПО таких затруднений, естественно, не возникает.
Не намного лучше поддаётся исчислению набор программных инструментов, используемых при обучении, а тем более — в научных исследованиях. Спецкурсы, инженерные проекты, диссертации могут потребовать привлечения всевозможного ПО. Вполне вероятно, что конкретный программный продукт потребуется в конкретном проекте единожды. Увы, не менее вероятно, что на покупку лицензии может просто не оказаться средств. Приходится довольствоваться тем, что есть — как будто речь идёт о точных приборах или дефицитных материалах.
Между тем речь идёт о программных продуктах, которых в мире свободного ПО имеется великое множество, в особенности — используемых в научной и учебной работе. Выбор иногда слишком велик, картину портят «одноразовые» побочные продукты диссертаций, по велению моды выложенные под GPL, но, во-первых, и среди них появляются настоящие перлы, а во-вторых — это свободный выбор. Чтобы познакомиться с инструментом, не надо его покупать или использовать демо-версию, в которой самые интересные места заменены кнопкой «купить». Просмотреть два десятка, попробовать полдюжины, остановиться на одном. Как было до эпохи уголовной ответственности за копирование программ.
Вообще, свобода выбора — общее свойство как в рамках всего СПО, так и внутри конкретного дистрибутива Linux. Дистрибутив — это сборник свободных программ на все случаи жизни, написанных множеством разных людей в разное время. Эти программы адаптированы и «притёрты» друг к другу разработчиками дистрибутива. Продавать поштучно свободные программы невыгодно, размер их — в силу специфики совместной разработки — зачастую в несколько раз меньше несвободных аналогов с теми же возможностями. Поэтому количество программных продуктов (т. н. пакетов) в одном дистрибутиве зависит только от специфики дистрибутива и объёма носителя. Дистрибутив на одном CD обычно включает в себя несколько сот пакетов, на DVD — несколько тысяч.
Свободные прграммы в ИТ-подразделениях
Для специальностей, связанных с информационными технологиями, эта свобода выбора поворачивается особенно выгодной стороной. Для ИТ-специалиста дистрибутив Linux общего назначения — своеобразный конструктор со множеством похожих и непохожих деталей, гибкими правилами сопряжения элементов и, что особенно важно, мощным инструментарием создания собственных деталей и правил. Использование свободных программ — иногда единственный способ вернуть в Computer Science составляющие собственно научного, а не технологического процесса: ответственное исследование перед разработкой, ссылка на предшественников и использование их трудов, возможность не изобретать постоянно один и тот же велосипед и т. д.
Ещё одно вполне академическое свойство всякой успешной открытой разработки — возможность участия в проекте практически любого числа желающих с разными профессиональными наклонностями. Свободный проект предоставляет не только исходный текст программы, но и всю технологию разработки: информационный ресурс, технические средства, дисциплину групповой работы, отслеживание ошибок и т. п. Обычно присоединиться к свободному проекту со своими идеями намного проще, чем воспроизводить эту инфраструктуру, проще — и полезнее для самого проекта. Разворачивание такой инфраструктуры — дело, в общем-то, нехитрое, а вот сообщество, которое будет развивать проект, образуется не сразу и не по команде сверху. С другой стороны, если некий «студенческий проект» актуален и продуманно оформлен по правилам открытой разработки, у него есть все шансы стать успешным. Примеров тому немало.
Участие студента в открытой разработке полезно и с точки зрения чистой практики. Вспомним, что множество свободных программных продуктов имеют значительный успех на рынке ПО. Так что и дисциплина совместной работы, и ошибки, и нерешённые задачи оказываются самыми настоящими, не «учебно-тренировочными», не плодом фантазии научного руководителя. У студента может не хватить знаний и опыта, чтобы действительно включиться в процесс разработки. Но даже знакомство с действительными процессами разработки принесёт много пользы.
И здесь для ВУЗа открывается довольно интересная возможность. С одной стороны имеется потребность в различном ПО, нередко не существующем в готовом виде. С другой стороны ежегодно проводятся исследовательские и работы по самым разным направлениям. Использование свободного ПО — и, разумеется, грамотная инженерная поддержка — позволяет построить в своём роде «самодостаточную систему» в которой актуальные потребности в инструментах исследования закрываются широкими возможностями по разработке этих инструментов. Чтобы процесс был эффективен, необходимо нововведение, немыслимое с точки зрения корпоративной, но довольно понятное с точки зрения академической. Нужно, чтобы подразделение, выполняющее функции «службы технической поддержки» (системный администратор, его помощники, программисты, учащиеся, работающие в этой теме) выполняло не только сервисные, но и научно-исследовательские функции. Таким образом при грамотной постановке учебного и исследовательского процесса, ВУЗ сможет решать и чисто технические, внедренческие задачи.
И последнее. О таком очевидном факте, что программный продукт, гарантирующий «право на его изучение», скорее всего действительно пригодится для изучения, можно и не писать. Но отметить его всё-таки надо.
Своими глазами
Выше мы рассмотрели некоторые, на наш взгляд — наиболее значимые, свойства свободного ПО применительно к образовательной среде. СПО как инструмент имеет множество уникальных возможностей, и всестороннее его применение не только сулит определённые выгоды, но и требует перестройки если не всего учебного процесса, то как минимум подхода к его обеспечению. Было бы весьма интересно пронаблюдать, чем сама эта среда — учащиеся, преподавательское сообщество, администрация учебных заведений — откликается на этот, как сейчас модно говорить, «вызов».
Мероприятия, к которым мы имели непосредственное отношение (конференция, школа, лекторий, спецкурс) отличаются друг от друга как минимум в двух плоскостях: конференция и школа проводятся ежегодно, а лекторий и спецкурс — регулярно в течение учебного года; конференция и лекторий предусматривают (при соблюдении процедуры) активное участие любого желающего, участники же школы и спецкурса чётко делятся на слушателей и преподавателя.
Год от года аудитория, содержание и даже стиль проведения мероприятий меняется. Постараемся выявить эти изменения, воздержавшись до поры от анализа и прогнозов.
Конференция «Свободное ПО в высшей школе»
Конференция «Свободное программное обеспечение в высшей школе» проводится в Переславле-Залесском с 2006 года в дни студенческих каникул. В числе организаторов конференции — Институт Программных Систем РАН и НОУ «Университет города Переславля им. А. К. Айламазяна»; они также выступают в роли принимающих организаций, поэтому считаем своим долгом выразить им горячую благодарность за блестящую техническую и организационную поддержку.
Задача конференции вполне традиционна для подобного рода мероприятий: собрать в одно время и в одной точке как можно больше заинтересованных и активных людей, дать им возможность наладить связи друг с другом, организовать общение, которое не затруднено посторонними делами и/или непривычкой к электронным средствам связи.
Принцип формирования корпуса докладов прост: в каждом докладе должна затрагиваться главная тема, сближение свободного ПО и высшей школы. Поэтому принимаются и рассказы об успешном внедрении СПО в ВУЗах, и исследования частных проблем того или иного свободного программного продукта применительно к образовательным или научным целям, и методические рекомендации по построению учебного или плана на базе СПО. Таким образом, аудитория конференции профессионально неоднородна: на неё приезжают и начальники ИТ-подразделений, и преподаватели, и системные администраторы, и студенты.
Объединяет участников конференции принадлежность к образовательной среде и знакомство с СПО. Пожалуй, три года назад главной целью было запустить процесс создания сообщества людей, работающих со свободными программами в образовании. Уже из материалов 2006 года видно, что участники конференции в большинстве своём мало что знают друг о друге и занимаются нелёгким, подчас впрямую революционным, трудом в одиночку, не надеясь на помощь извне. И это несмотря на то, что в нашей стране существует мощное преподавательское сообщество, а свободное ПО в отрыве от сообщества пользователей и разработчиков вообще немыслимо!
В самом деле, если отсеять доклады «по случаю», темы Первой конференции разобьются на четыре части:
Общетеоретические рассуждения и обзоры. К сожалению, большинство таких докладов показывают, как «мысли на тему» бывают непохожи на действительность. Не имея опыта легко перестраховаться от невзгод вымышленных и проглядеть настоящие. Недостаток непосредственных знаний (например, об устройстве свободного сообщества) может привести напряжённо работающую мысль в края совершенно фантастические. Сказывается ли здесь специфика СПО, или же такова судьба любого отвлечённого построения, утверждать не берёмся.
Заметки об особенностях любимого свободного инструмента. Довольно интересные рассказы о том, как применять некий программный продукт в узкой, освоенной самим докладчиком. В некоторых случаях эта область довольно узкая (как, например, доклады А.В. Столярова и др.), иногда — достаточно широкая, чтобы быть предметом пристального внимания (особенно порадовал В.В. Житников с докладом о математическом пакете Maxima). К сожалению, сведений о непосредственном использовании этих пакетов в учебном процессе обычно нет.
Сообщения об использовании СПО в качестве одной из составляющих учебного (исследовательского) процесса. В 2006 году это была самая обнадёживающая тема конференции. Доклады Е.А. Чичкарева и Н.В. Назаренко (о моделях металлургических агрегатов), а также Е.Р. Алексеева и О.В. Чесноковой (о преподавании дисциплин «Информатика» и «Вычислительная математика» с использованием пакета SciLab) превзошли наши ожидания. В обоих случаях речь шла не только о внедрении СПО (в учебном процессе и даже на производстве), но и — что важнее — о внедрении, опирающемся на преимущества выбранных программных продуктов. И это — на Украине, где ситуация со свободным ПО более сложная, чем в России.
Однако именно в этих докладах наиболее очевиден общий недостаток того времени: работы ведутся в одиночку (в лучшем случае — с помощью аспирантов), никаких публичных информационных ресурсов не создаётся. На прямой вопрос: «Где добыть ваши материалы?» авторы недоумённо отвечают: «А что, разве это кому-то нужно?», а затем смущаются: «Да у меня там всё сырое, неготовое...». Контраст двух подходов — участника свободного сообщества и энтузиаста-индивидуала — к одному и тому же предмету поражает. Активный пользователь свободного программного продукта уверен в том, что результаты его трудов нужны и интересны многим, и именно поэтому он вправе ожидать помощи там, где его собственных сил не хватает. Энтузиаст-преподаватель не привык видеть рядом хоть кого-нибудь, столь же вовлечённого в процесс, как и он сам; в результате он идёт вперёд, пока хватает сил, оставляя за спиной множество материала, который не имеет смысла ни обрабатывать, ни публиковать (самому-то всё и так понятно, а больше на белом свете никого нет).
Рассказ о преподавании и изучении непосредственно свободного ПО. Подробные и толковые рассказы о том, как именно следует изучать, например, некоторый дистрибутив на базе GNU/Linux, или основы разработки ПО для него. Здесь СПО является уже не инструментом, а объектом изучения, и оттого, как ни странно, такие рассказы прибавляют не много нового к общей теме. Свободные программы приспособлены к тому, чтобы их изучали, а главный вопрос — как добиться от начальства того, чтобы Linux можно было изучать — обычно лежит за рамками доклада.
В 2007 году стало заметно, что Первая конференция не прошла бесследно. К примеру, уже знакомый нам коллектив авторов из Донецка во главе с Е. Алексеевым обзавёлся сайтом, на котором начали появляться материалы (совместная работа, к сожалению, не предусмотрена).
Что более важно: появился новый тип докладов — миграционные истории. Речь в них идёт о применении СПО, но не в качестве учебного пособия или вычислительного инструмента, а в качестве платформы, на которой организуется поддержка и учебного, и административного процесса. Таким образом, СПО выбирается в качестве основной платформы не только за программную специфику, но и за общие эксплуатационные характеристики (стоимость владения, надёжность и т. п.). Среди прочих обращает на себя внимание доклад И. А. Хахаева, посвящённый уже реализованной миграции образовательного учреждения на полностью лицензионное ПО, причём свободное ПО принимается как базовое, а несвободное выбирается только вынуждено.
Третья конференция, прошедшая в начале февраля 2008 года, собрала неожиданно внушительное количество слушателей, примерно половину всех участников (в прошлые годы аудитория практически полностью состояла из докладчиков). Конференция получилась более солидной, её не обошли вниманием «наверху» (с докладом выступил Н.А. Юренко, референт Департамента государственной политики и нормативно-правового регулирования в сфере образования МОН РФ). Впервые программный комитет конференции вынужден был отклонить довольно много докладов. Примечательно, что большинство из отклонённых докладов не имели отношения к заявленной теме (часто за свободные программы авторы принимали нечто сомнительное с лицензионной точки зрения, вроде т. н. «freeware»).
Изменилось и содержание докладов. Доклады о внедрении того или иного СПО в учебный и исследовательский процесс перестали быть жёстко привязаны к области информационных технологий. Оказались затронутыми греческий язык (М. В. Быков), филология (М. В. Пономарева), астрономия (Т. А. Воронина).
Доклады об особенностях программных продуктов приняли более выраженный сравнительный характер (И. А. Хахаев; Е. А. Чичкарев). Разговор о возможностях СПО превращается в разговор о критериях выбора среди многообразия свободных программ.
Об итогах года: материалы донецкого коллектива превратились в книгу, а Санкт-Петербургский Торгово-экономический институт получил в своё распоряжение специализированный дистрибутив, об отсутствии которого так сокрушался И. М. Хахаев. Кстати, этой характерной для СПО возможности — самостоятельному составлению сборника программных продуктов под имеющуюся методическую базу — был посвящён и доклад Е. Р. Алексеева. А. А. Панюкова под свою экзотическую задачу (десятидневный кружок в детском летнем лагере) и разработала методику, и собрала специализированный дистрибутив.
- Материалы первой конференции:
http://altlinux.ru/company_news/free_software_in_higher_education_conference.html,
http://heap.altlinux.org/pereslavl2006/
- Материалы второй конференции:
http://altlinux.ru/company_news/pereyaslavl_2007.html,
http://heap.altlinux.org/pereslavl2007/
- Материалы третьей конференции:
http://altlinux.ru/community_news/pereslavl_winter_2008.html,
http://heap.altlinux.org/pereslavl2008/
Интенсивный курс «Зимняя Школа Linux для преподавателей»
Зимняя Школа Linux для преподавателей приурочена к конференции «СПО в высшей школе» и проходит на базе Университета города Переславля в течение пяти дней (обычно перед конференцией). Форма проведения Школы — интенсивный курс на 40 часов.
Переславская Зимняя Школа — событие в ряду подобных мероприятий уникальное и вместе с тем показательное. С одной стороны, Школа — мероприятие в первую очередь обучающее: ведущий Школу находится в положении «носителя знаний», а слушатели — в положении «добывающих знания». С другой стороны, аудитория школы — преподаватели со своими запросами к операционной среде, в то время как проводят занятия профессиональные разработчики GNU/Linux дистрибутива. Столкновение этих особенностей со спецификой свободного ПО даёт поучающие результаты.
Главный результат такого столкновения — отказ от традиционной для интенсивных тренингов ориентации на привитие конечных навыков. В самом деле, когда разработчик дистрибутива обращается к системному администратору, или программисту, или начинающему пользователю, он компетентен как в инструментальной, так и в прикладной областях. В случае «далёкой» прикладной области — например, педагогики — сценарий «ваши задачи с помощью нашего инструмента надо решать так-то» становится неэффективен.
Следовательно, уместнее сделать акцент на передачу знаний об инструменте (дистрибутиве Linux) с тем, чтобы слушатель мог самостоятельно решать задачи, возникающие в его предметной области. При этом область передаваемых навыков тяготеет скорее к практике постановки и решения задач вообще (это называется «как не изобретать велосипеда»), чем к самим этим задачам. В решении конкретной задачи, например, организации и сопровождения учебного процесса, у ведущего роль консультативная: развёрнуто отвечать на наиболее важные технические вопросы.
Большинство вопросов, возникающих на стыке предметных областей нельзя решить в «одностороннем порядке», усилиями одних только инженеров или педагогов. Здесь необходим диалог, живое взаимодействие обеих сторон. Поэтому формат Зимней Школы предусматривает семинарскую часть, на которой слушатели и ведущий обмениваются мнениями, опытом, выясняют общие проблемы и вообще занимаются тем, чем принято заниматься в кулуарах.
К счастью, специфика СПО вообще и Linux в частности такова, что передаче знаний почти всегда нужно уделять основное внимание. Переход от пассивного «получения знаний» к активной «добыче знаний» необходим и для дальнейшего освоения свободного ПО: как уже говорилось ранее, свободная программа (или комплект программ) не только предназначена для того, чтобы её изучали, но и требует такого изучения от пользователя.
Например, подход к работе с текстовым документом «в стиле СПО» выглядит так. Для начала стоит изучить принципы разметки текста: основные элементы, в каких случаях применяются, какие договорённости на этот счёт имеются. Затем выбрать инструмент работы с текстом сообразно задаче и личным предпочтениям. Это может быть специализированный язык программирования (для автоматического преобразования), простой (например, wiki-подобный) или профессиональный (LaTeX) язык текстовой разметки и визуальный редактор для работы с этим языком, или WYSIWYG-среда «офисного» плана. Изучивши в достаточной степени сам инструмент можно со знанием дела браться за работу. При этом вопрос, как именно реализуется та или иная функция разметки, не особенно важен: главное — знать про неё, а остальное можно найти в документации.
Такая стратегия вовсе не отменяет возможность «быстрого старта» — подхода, основанного на формировании базовых навыков работы (допустим, с теми же текстовыми документами в рамках «офисного» ПО). Однако он менее эффективен. Во-первых, популярные свободные программные продукты очень быстро развиваются (два-три выпуска в год — это норма), причём меняется и их интерфейс. Обратная совместимость по интерфейсу — тяжёлый груз, препятствующий оформлять программу более удобно по-новому ради того, чтобы всё оставалось по-старому. Во-вторых, богатство выбора свободного инструментария (практически любая задача может быть решена несколькими принципиально различными способами) определят различие в подходах к решению задач, а каждый подход обеспечивается собственным набором базовых навыков (в предыдущем примере — программированием, работа с языками разметки, взаимодействие с WYSIWYG-средой). В-третьих, даже моделей графических интерфейсов в свободных операционных системах предлагается несколько, каждая имеет свои преимущества и недостатки, и пользователь волен выбирать то, что ему больше нравится.
Действительно базовым навыком может стать концепция «программного окружения», давным-давно сформулированная для UNIX-подобных систем. Управляющий инструмент программного окружения — работа в командной строке, взаимодействие с системой с помощью текстовых команд, которые пользователь вводит с клавиатуры или записывает в сценарий. Пространство системных объектов представляется в виде файловой системы; команды, по большей части, предназначены как раз для работы с файлами и потоками данных. Команды UNIX-подобной системы стандартизованы в POSIX, а структура файловой системы — в проекте «Filesystem Hierarchy Standard». Именно поэтому большинство современных «базовых курсов по Linux» предлагают изучать командную строку и издалека подходить к таким практическим задачам, как администрирование, программирование, офисное или домашнее использование GNU/Linux.
Текучесть интерфейса и многообразие подходов делает методические разработки в стиле «Linux за 24 часа» далеко не универсальными и весьма недолговечными. Вдобавок изложение одного какого-то подхода и одного вида интерфейса лишит пользователя очень важного преимущества свободной системы — выбора. Тем не менее для определённого класса задач, например, для офисной работы, создавать такие пособия можно и нужно. Как правило, достаточно бегло описать интерфейсные функции, более подробно остановиться на прикладных возможностях и снабдить всё это актуальными примерами. Разумеется, за соответствием пособия и упомянутого в нем ПО нужно непрерывно следить и обновлять текст с примерами по мере выхода новых версий. Свободное лицензирование и сеть Интернет позволяет решать такую задачу сообща, вовлекая в процесс создания и поддержки материала всех желающих.
Поэтому основная задача Школы, на наш взгляд, — это научить преподавателей не только разбираться в ОС GNU/Linux, но и самостоятельно устраивать себе рабочее окружение, начиная с выбора и настройки графической оболочки и заканчивая созданием и поддержкой собственных учебных курсов на базе СПО. Школа рассчитывает на пионеров направления, уже имеющих интерес к Linux. Заинтересованному преподавателю так или иначе придётся иметь дело с преподаванием на базе Linux в отсутствие готовых учебных пособий, и самому (ведь не программистам же!) эти пособия создавать. На Школе он, во-первых, может достаточно далеко продвинуться в изучении собственно Linux, во-вторых, познакомиться с коллегами-«товарищами по несчастью», и в-третьих, совместно с ними и разработчиками обсудить желаемые свойства системы. Разработчикам свободного ПО всегда практически интересно мнение активных пользователей, т. к. оно указывает направление будущего развития, а в результате очного обсуждения, да ещё в атмосфере, «заряженной» совместным участием в интенсиве, могут родиться весьма полезные идеи и решения.
Тем не менее интенсив есть интенсив. Большая часть Школы посвящена изучению упомянутого выше «UNIX-базиса», сети, обзору ПО в типичном дистрибутиве GNU/Linux, особенностям того дистрибутива, на базе которого проводится занятия. Меньшая (если не считать внеурочного времени) часть — обсуждению частных проблем, попыткам решения их «на лету».
В 2006 году слушателями «Школы Linux для преподавателей» были, как оказалось, не только преподаватели, но и работники сферы ИТ, перед которыми стояла задача частичного перевода рабочего процесса на Linux. Грамотный специалист вполне может самостоятельно разобраться с любой свободной программой, но для старта требуется основательный рывок, погружение в контекст. По всей видимости, на то время только Школа предлагала именно такую возможность.
Вторая Школа вполне соответствовала ожиданиям: на ней подтвердились и положительные, и отрицательные черты избранной нами тактики; большинство из них повторились и в 2008 году. Во-первых, действительно важным оказалось участие заинтересованных преподавателей. Как показал опыт, эффективность работы в интенсивном курсе намного выше, если слушатели знают про Linux, хотя бы отдалённо представляют себе, с чем им придётся иметь дело и заранее согласны иметь с ним дело. Уровень знаний в области СПО играет намного меньшую роль; главное — это переход от традиционной пассивной позиции «научите меня Linux» к активной «покажите, как научиться Linux», Во-вторых, подтвердилось уместность «гибкого» плана занятий: слушателей немного и обсуждение важных для каждого из них вопросов оказывается полезным всем. В-третьих, попытка проработать на Школе какую-либо не до конца готовую концепцию проваливается. Активности слушателей и опыта преподавателя недостаточно, чтобы решить задачу, с которой никто из них не мог справиться в одиночку. Так, непосредственно в результате Школы 2007 годе никакого образовательного дистрибутива создано не было (он появился позднее), а «концепция компьютерного класса», обсуждаемая в 2008 году, продолжала и по окончании Школы оставаться концепцией.
Школа 2008 года, как и конференция, выявила отчётливые изменения, особенно в плане аудитории. На этот раз среди преподавателей, которым был интересен сам Linux как инструмент обучения, появились слушатели других профессий (начальник ИТ-подразделения, методист), которым были интересны свойства Linux — эксплуатационные и методические соответственно. Очевидно, к январю 2008 года выбор места, где можно было бы получить такие знания, был весьма невелик. Это породило известную трудность: тематику Школы следовало делать шире, в то время как рассмотрение «программного окружения» шло медленнее, потому что не представляло для этой категории слушателей непосредственного интереса.
Переславская «Школа Linux для преподавателей» проводится совместно Университетом города Переславля и компанией ALT Linux. ALT Linux занимается разработкой дистрибутивов GNU/Linux, в частности, в рамках проекта ПСПО для российских школ. Аппаратная база Школы — учебные классы Университета, программная — семейство дистрибутивов ALT Linux (для индивидуальных рабочих мест и сервера). Остаётся добавить, что (по традиции — на безвозмездной основе) в Школе принимают участие также студенты Университета города Переславля.
- Материалы Школы 2007 года:
http://heap.altlinux.org/engine/Edu/Courses/WinterSchool2007
Спецкурсы на факультете ВМиК МГУ
Формат школы-интенсива навязывает довольно жёсткие ограничения на содержание: информационные блоки должны чередоваться с практическими, важна цельность подачи материала (для эффекта «погружения»), нет озможности рассчитывать на серьёзную подготовку слушателей (даже если она есть) и т. д.
В противоположность этому академический формат спецкурса — два часа в неделю — на профильном факультете ВУЗа (ф-т Вычислительной Математики и Кибернетики МГУ им. М. В. Ломоносова) позволяет варьировать содержание, однако жёстко привязан к лекционной форме.
Спецкурс в той или иной форме читается с 1999-го года. Тематика его меняется из семестра в семестр, однако «ключевое слово» UNIX (с некоторых пор — Linux) непременно встречается в названии, служа особого рода «приманкой для своих».
Чтение спецкурсов по UNIX/Linux как раз и задумывалось для того, чтобы в первую очередь собрать людей заинтересованных, дать им возможность расширить знания по интересной теме и заодно получить никогда не лишнюю положительную оценку в аттестат. Факультету же демонстрировалась научная и познавательная ценность UNIX-систем. Это было немаловажно в начале 2000-х, когда крупные ИТ-корпорации решительно взялись за ВУЗы, добиваясь ввода в учебную программу своих технологических инструментов. Такие запчасти ИТ-технологий впечатляют сложностью и многообразием, но в плане собственно изучения (а не заучивания пунктов меню или цикла производства программного продукта) они дают мало.
Курс читался (и читается по сей день) системным администратором факультета. Практической его целью было создание факультетского сообщества вокруг UNIX/Linux, во-первых, с целью взаимного обмена знаниями и опытом, а во-вторых — чтобы справляться с задачами системного администрирования не в одиночку. Стоит заметить, что чтение спецкурса было и остаётся личной инициативой одного человека, которая всё ещё не поддаётся тиражированию (например, включению в общий учебный план, параллельному чтения на нескольких потоках и т. п.).
Тематика лекций разнообразна: от реализации сетевых протоколов в UNIX-системах до общих вопросов системного администрирования и (в последние годы) структуры дистрибутива и сообщества Linux. Общая установка — изучение самой операционной системы — остаётся неизменной. К сожалению, рамки статьи не позволяют нам углубиться в пресловутую «научную и познавательную ценность» GNU/Linux систем, поэтому ограничимся только несколькими наблюдениями относительно самого мероприятия.
Наиболее примечательно изменение посещаемости лекций. В первый год на вводную лекцию пришло 150 человек. Это немало, так как спецкурс выборный, посвящённый предмету довольно-таки старому (история UNIX начинается в 70-х годах) и не обещающий никаких особых выгод, кроме ещё одной оценки в матрикуле. По всей видимости, единственным притягательным фактором было наличие «ключевого слова» UNIX в названии.
Ничего удивительного в том, что за семестр курс потерял примерно две трети слушателей, нет. Вводная лекция — показатель популярности темы, но не заинтересованности. Уже на третью лекцию приходит примерно половина, часть слушателей теряется в течение семестра — например, потому, что пропустив две «необязательные» лекции студент не находит возможности «догнать» убежавший вперёд материал.
На протяжение первых лет пяти наблюдалось более интересное соотношение: студентов, пришедших даже на последнюю лекцию, было на треть больше записавшихся на экзамен. Примерно треть аудитории ходило на лекции вообще не за оценкой! Впрочем, здесь могли играть роль правила приёма экзамена, на котором разрешается пользоваться всем, чем угодно, зато разговор идёт по всему курсу целиком. Такая тактика, на наш взгляд, прекрасно выявляет понимание материала, а именно выявление понимающих и есть общая цель мероприятия.
К концу этой «пятилетки» количество слушателей спецкурса постепенно сократилось человек до пятнадцати (до пяти-семи на экзамене). В это же время ключевое слово «UNIX» в названии спецкурсов было заменено на «Linux»: во-первых, «UNIX» как имя собственное стремительно удалялся в прошлое, замещаясь в массовом сознании набирающим популярность «Linux», а во-вторых, лектор начал сотрудничать с компанией ALT Linux, повысив тем самым компетентность в этой области.
Постепенно посещаемость стала расти, к настоящему времени обогнав показатели 1999-2000 годов. Практически исчезли студенты, которые слушали курс, а экзамена не сдавали. Мало того, на экзамен в массовом порядке стали записываться совершенно незнакомые лектору личности, благо правила сдачи это позволяют. К сожалению, большинство из этих «варягов» справляются с экзаменом плохо.
«Фильтрация своих» — практическая цель курса — работала все эти годы безотказно, давая при этом устойчивый результат: около десятой части активных посетителей лекций за два-три семестра самостоятельно преодолевали барьер «ученичества», составляя студенческое сообщество. Доля эта, как оказалось, практически не зависит ни от тематики, ни от общего количества слушателей. В следующей части статьи мы попытаемся проанализировать это явления и дать осторожный прогноз.
- Сайт семинара и лекций «UNИX»:
http://uneex.cs.msu.su
Открытый Linux-лекторий в МПГУ
Мероприятия регулярные, протяжённые во времени, обладают большей инерционностью. Кроме того, фактор случайности в них играет заметную роль, в особенности если ключевой фигурой является не организатор, а добровольный участник-докладчик. По схеме открытых публичных лекций построен «Открытый Linux-лекторий» — инициатива Центра свободного ПО в образовании.
Весной 2007 года участники Центра — компании ALT Linux и Математический факультет Московского Педагогического Государственного Университета — задумывали лекторий как курс по Linux, в чём-то аналогичный спецкурсам на ВМиК, но с учётом специфики аудитории. Курс был построен как цепочка часовых слайд-докладов, привязанных к теме «Свободное ПО и образование». Лекции должны были быть достаточно независимыми друг от друга, чтобы у потенциального слушателя была возможность в свободном формате посещать лекции по интересующей его теме.
Кроме того, по итогам каждой лекции публиковались не только сами слайды, но и план-конспект, и — что всего важнее — готовый дистрибутив ALT Linux в формате Live CD, содержащий все имеющиеся материалы. Воспользовавшись этим дистрибутивом всякий желающий мог «ретранслировать» чтение лектория. Такие ретрансляции были организованы в Санкт-Петербурге, Саратове, Тамбове и Нижнем Новгороде.
Для справки: формат «Live CD» (живой диск) — дистрибутив GNU/Linux, не требующий установки на компьютер. Операционная система и все пользовательские приложения загружаются с лазерного диска, а жёсткий диск и данные на нём остаются в неприкосновенности. Таким образом можно организовать рабочее место (или, в случае Лектория, демонстрационный стенд) на практически любом компьютере, не опасаясь повредить уже установленную систему и данные.
Лекторий-курс получился, на наш взгляд, весьма эффективным, но после анализа его результатов мы решили изменить формат. Лекторий — открытое публичное мероприятие, предназначенное для широкого круга слушателей (прежде всего — преподавателей). Унаследованная от академического спецкурса «фильтрационная» составляющая в этом случае скорее вредит основной цели, сужает предполагаемый круг слушателей. Кроме того, в случае единого курса сделать отдельные лекции совершенно независимыми друг от друга нельзя, что также противоречит исходной установке на произвольность посещений.
Наконец, сами слушатели первого Лектория, в особенности сотрудники лаборатории ТИДМ факультета, принимающей непосредственное участие в деятельности Центра, начали выступать с инициативой проведения однократных публичных лекций, ориентированных не столько на Linux, и даже не на собственно СПО, а на применение свободного ПО в учебном процессе, на методические и инструментальные аспекты темы.
На этой форме — однократных независимых слайд-докладов, каждый из которых читает кто-либо из активных участников сообщества — было решено остановиться осенью 2007 — весной 2008 годов. Материалы докладов публикуются на сайте Центра, там же есть возможность «закадрового» обсуждения докладов в форуме и в виде комментариев к материалам.
Такая форма, как уже было сказано выше, обладает куда большей инерционностью, чем спецкурс, а тем более — конференция. Описывая переславскую Зимнюю Школу, мы уже отмечали тот факт, что «массовый тренинг» в случае свободного ПО имеет ограниченную область применения, а исследовательская, передавая область, действительно востребованная преподавательским сообществом, сегодня только формируется. Тем не менее аудитория постепенно расширяется, но главное — накапливается ценный исследовательский материал, отражающий действительную, а не умозрительную ценность свободного ПО в образовательном процессе.
Кроме того, представляется правильным заложить традицию открытого, публичного изучения и обсуждения именно свободного ПО, так как такой подход более всего отражает суть предмета.
Пользуясь случаем хотим горячо поблагодарить декана Математического факультета Сергея Александровича Жданова и его коллег по лаборатории за активную — и техническую, и методическую, и моральную — поддержку Лектория.
- Материалы первой попытки в формате «Доклад + LiveCD»:
http://heap.altlinux.org/engine/Edu/Courses/OpenLectory
- Материалы Лектория:
http://fosscenter.ru/