Основные проблемы вовлечения студентов в Open Source (Евгений Синельников, OSEDUCONF-2022)
Материал из 0x1.tv
- Докладчик
- Евгений Синельников
Доклад посвящён позитивным и негативным сценариям вовлечения студентов в разработку проектов с открытым исходным кодом.
В докладе рассмотрены возможности и препятствия к использованию открытых технологий, как основы для обучения будущих разработчиков. Представлены особенности и ограничения подходов к разработке с привлечением студентов. Изложены варианты развития данного образовательного направления.
Содержание
Видео
Презентация
Thesis
«Открытые технологии» в контексте рассматриваемого вопроса вовлечения студентов в Open Source разработку — это технологии, распространяемые по свободным лицензиям. Целевой аудиторией в рассматриваемом вопросе являются студенты большинства российских вузов (не только классических и не только столичных). Основная задача такого вовлечения состоит в подготовке будущих кадров для разработки системного и прикладного программного обеспечения под свободные операционные системы. Прежде всего, под различные Linux-дистрибутивы и для различных аппаратных платформ.
Практика преподавания информационных технологий для различных дисциплин инженерных специальностей (прикладное и системное программирование, архитектуры операционных систем и др.), анализ реализации студентами практических задач и обратная связь от студентов дают основание рассмотреть возможности и препятствия к использованию открытых технологий в современном учебном процессе.
В сложившемся подходе к преподаванию программирования основными, наиболее значимыми препятствиями и главными ограничительными противоречиями вовлечения студентов в развитие открытых технологий, являются следующие ключевые моменты:
- Отсутствие практики коллективной работы в рамках выполнения основных практических заданий, включая отсутствие знакомства с соответствующим инструментарием, прежде всего, с системой контроля версий git;
- Ориентация типовых учебных заданий на повышение навыков написания простых, однофайловых проектов без освоения различных систем сборки (make, cmake, autotools и т. д.), а также минимального оформления архитектуры, разрабатываемых проектов;
- Отсутствие нацеленности типовых учебных заданий на повышение навыков чтения исходного кода чужих программных проектов различной степени сложности.
Среди технических ограничений, в данном случае, стоит также отметить отсутствие стандартных, полностью согласованных с соответствующими системами сборки, сред разработки, позволяющих понизить порог вхождения, а среди не технических — отсутствие актуализированной русскоязычной технической документации.
Возможности для развития и требования к подготовке
Одной из важнейших возможностей для развития студентов, как будущих разработчиков, при их вовлечении в открытые технологии, заключается в доступности к изучению оригинальных программных и технических решений в том виде, в котором эти технологии используются на практике. Ряд проприетарных компаний-разработчиков также предоставляют такие возможности (например, Microsoft или Oracle) только в ограниченном, хотя и достаточном для изучения объёме.
При этом перед студентом возникает ряд неявных требований к его подготовке:
- письменный английский язык — большая часть актуальной документации, комментарии в коде, включая имена переменных, функций, классов и т. д., комментарии к зафиксированным изменениям в системах контроля версий, публичное общение осуществляются, в основном, на английском;
- готовность и умение читать и вникать в чужой исходный код;
- иметь доступ или возможность развернуть у себя в домашних условиях учебную инфраструктуру, включая комплект подобранных инструментов для обучения: конкретный вариант дистрибутива плюс конкретные средства разработки.
Конкретные детали в тех или иных ограничениях зависят от решаемой задачи и стека технологий, выбранных для её решения. Таким образом, можно сказать, что возможности для развития студента в области открытых технологий имеются, но порог вхождения оказывается сильно завышен, по отношению к проприетарным технологиям. В этом есть и свои плюсы, поскольку такие условия обеспечивают автоматический отбор наиболее выдающихся кадров. С другой стороны, это означает, что критическая масса необходимого числа разработчиков в сфере открытых технологий не накапливается. И последнее, в свою очередь, приводит к накапливанию проблем в инструментарии и документировании.
Дальнейшее развитие разработки в области открытых технологий и свободного программного обеспечения, в частности, следует начинать с преодоления вышеозначенных ограничений. Преодоления за счёт снижения порога вхождения не только на техническом, но и на организационном уровне.
Для разработки под операционные системы семейства «Альт» соответствующие ограничения также имеют определённую специфику, связанную с тем, что большая часть сообщества ALT Linux Team преимущественно общается и взаимодействует на русском языке. Поэтому встроенный инструментарий для разработки и документирование средств разработки необходимо развивать согласованно на двух основных языках — русском и английском. Кроме того, специфичный стек средств разработки для сборки пакетов, например «из git в rpm с помощью gear» требует детальной методической проработки.