Основные проблемы вовлечения студентов в Open Source (Евгений Синельников, OSEDUCONF-2022) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (→Thesis) |
||
== Thesis ==
«Открытые технологии» в контексте рассматриваемого вопроса вовлечения студентов в Open Source разработку — это
технологии, распространяемые по свободным лицензиям. Целевой аудиторией в рассматриваемом вопросе являются студенты
большинства российских вузов (не только классических и не только столичных). Основная задача такого вовлечения состоит
в подготовке будущих кадров для разработки системного и прикладного программного обеспечения под свободные
операционные системы. Прежде всего, под различные Linux-дистрибутивы и для различных аппаратных платформ.
Практика преподавания информационных технологий для различных дисциплин инженерных специальностей (прикладное и
системное программирование, архитектуры операционных систем и др.), анализ реализации студентами практических задач и
обратная связь от студентов дают основание рассмотреть возможности и препятствия к использованию открытых технологий в
современном учебном процессе.
В сложившемся подходе к преподаванию программирования основными, наиболее значимыми препятствиями и главными
ограничительными противоречиями вовлечения студентов в развитие открытых технологий, являются следующие ключевые
моменты:
* Отсутствие практики коллективной работы в рамках выполнения основных практических заданий, включая отсутствие знакомства с соответствующим инструментарием, прежде всего, с системой контроля версий git;
* Ориентация типовых учебных заданий на повышение навыков написания простых, однофайловых проектов без освоения различных систем сборки (make, cmake, autotools и т. д.), а также минимального оформления архитектуры, разрабатываемых проектов;
* Отсутствие нацеленности типовых учебных заданий на повышение навыков чтения исходного кода чужих программных проектов различной степени сложности.
Среди технических ограничений, в данном случае, стоит также отметить отсутствие стандартных, полностью согласованных с
соответствующими системами сборки, сред разработки, позволяющих понизить порог вхождения, а среди не технических —
отсутствие актуализированной русскоязычной технической документации.
=== Возможности для развития и требования к подготовке ===
Одной из важнейших возможностей для развития студентов, как будущих разработчиков, при их вовлечении в открытые
технологии, заключается в доступности к изучению оригинальных программных и технических решений в том виде, в котором
эти технологии используются на практике. Ряд проприетарных компаний-разработчиков также предоставляют такие возможности
(например, Microsoft или Oracle) только в ограниченном, хотя и достаточном для изучения объёме.
При этом перед студентом возникает ряд неявных требований к его подготовке:
* письменный английский язык — большая часть актуальной документации, комментарии в коде, включая имена переменных, функций, классов и т. д., комментарии к зафиксированным изменениям в системах контроля версий, публичное общение осуществляются, в основном, на английском;
* готовность и умение читать и вникать в чужой исходный код;
* иметь доступ или возможность развернуть у себя в домашних условиях учебную инфраструктуру, включая комплект подобранных инструментов для обучения: конкретный вариант дистрибутива плюс конкретные средства разработки.
Конкретные детали в тех или иных ограничениях зависят от решаемой задачи и стека технологий, выбранных для её решения.
Таким образом, можно сказать, что возможности для развития студента в области открытых технологий имеются, но порог
вхождения оказывается сильно завышен, по отношению к проприетарным технологиям. В этом есть и свои плюсы, поскольку такие
условия обеспечивают автоматический отбор наиболее выдающихся кадров. С другой стороны, это означает, что критическая
масса необходимого числа разработчиков в сфере открытых технологий не накапливается. И последнее, в свою очередь,
приводит к накапливанию проблем в инструментарии и документировании.
Дальнейшее развитие разработки в области открытых технологий и свободного программного обеспечения, в частности, следует
начинать с преодоления вышеозначенных ограничений. Преодоления за счёт снижения порога вхождения не только на
техническом, но и на организационном уровне.
Для разработки под операционные системы семейства «Альт» соответствующие ограничения также имеют определённую специфику,
связанную с тем, что большая часть сообщества ALT Linux Team преимущественно общается и взаимодействует на русском
языке. Поэтому встроенный инструментарий для разработки и документирование средств разработки необходимо развивать
согласованно на двух основных языках — русском и английском. Кроме того, специфичный стек средств разработки для сборки
пакетов, например «из git в rpm с помощью gear» требует детальной методической проработки.
{{----}}
[[File:{{#setmainimage:Основные проблемы вовлечения студентов в Open Source (Евгений Синельников, OSEDUCONF-2022)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->
<references/>
[[Категория:OSEDUCONF-2022]]
[[Категория:Draft]] |
Версия 20:09, 25 февраля 2024
- Докладчик
- Евгений Синельников
Доклад посвящён позитивным и негативным сценариям вовлечения студентов в разработку проектов с открытым исходным кодом.
В докладе рассмотрены возможности и препятствия к использованию открытых технологий, как основы для обучения будущих разработчиков. Представлены особенности и ограничения подходов к разработке с привлечением студентов. Изложены варианты развития данного образовательного направления.
Содержание
Видео
Презентация
Thesis
«Открытые технологии» в контексте рассматриваемого вопроса вовлечения студентов в Open Source разработку — это технологии, распространяемые по свободным лицензиям. Целевой аудиторией в рассматриваемом вопросе являются студенты большинства российских вузов (не только классических и не только столичных). Основная задача такого вовлечения состоит в подготовке будущих кадров для разработки системного и прикладного программного обеспечения под свободные операционные системы. Прежде всего, под различные Linux-дистрибутивы и для различных аппаратных платформ.
Практика преподавания информационных технологий для различных дисциплин инженерных специальностей (прикладное и системное программирование, архитектуры операционных систем и др.), анализ реализации студентами практических задач и обратная связь от студентов дают основание рассмотреть возможности и препятствия к использованию открытых технологий в современном учебном процессе.
В сложившемся подходе к преподаванию программирования основными, наиболее значимыми препятствиями и главными ограничительными противоречиями вовлечения студентов в развитие открытых технологий, являются следующие ключевые моменты:
- Отсутствие практики коллективной работы в рамках выполнения основных практических заданий, включая отсутствие знакомства с соответствующим инструментарием, прежде всего, с системой контроля версий git;
- Ориентация типовых учебных заданий на повышение навыков написания простых, однофайловых проектов без освоения различных систем сборки (make, cmake, autotools и т. д.), а также минимального оформления архитектуры, разрабатываемых проектов;
- Отсутствие нацеленности типовых учебных заданий на повышение навыков чтения исходного кода чужих программных проектов различной степени сложности.
Среди технических ограничений, в данном случае, стоит также отметить отсутствие стандартных, полностью согласованных с соответствующими системами сборки, сред разработки, позволяющих понизить порог вхождения, а среди не технических — отсутствие актуализированной русскоязычной технической документации.
Возможности для развития и требования к подготовке
Одной из важнейших возможностей для развития студентов, как будущих разработчиков, при их вовлечении в открытые технологии, заключается в доступности к изучению оригинальных программных и технических решений в том виде, в котором эти технологии используются на практике. Ряд проприетарных компаний-разработчиков также предоставляют такие возможности (например, Microsoft или Oracle) только в ограниченном, хотя и достаточном для изучения объёме.
При этом перед студентом возникает ряд неявных требований к его подготовке:
- письменный английский язык — большая часть актуальной документации, комментарии в коде, включая имена переменных, функций, классов и т. д., комментарии к зафиксированным изменениям в системах контроля версий, публичное общение осуществляются, в основном, на английском;
- готовность и умение читать и вникать в чужой исходный код;
- иметь доступ или возможность развернуть у себя в домашних условиях учебную инфраструктуру, включая комплект подобранных инструментов для обучения: конкретный вариант дистрибутива плюс конкретные средства разработки.
Конкретные детали в тех или иных ограничениях зависят от решаемой задачи и стека технологий, выбранных для её решения. Таким образом, можно сказать, что возможности для развития студента в области открытых технологий имеются, но порог вхождения оказывается сильно завышен, по отношению к проприетарным технологиям. В этом есть и свои плюсы, поскольку такие условия обеспечивают автоматический отбор наиболее выдающихся кадров. С другой стороны, это означает, что критическая масса необходимого числа разработчиков в сфере открытых технологий не накапливается. И последнее, в свою очередь, приводит к накапливанию проблем в инструментарии и документировании.
Дальнейшее развитие разработки в области открытых технологий и свободного программного обеспечения, в частности, следует начинать с преодоления вышеозначенных ограничений. Преодоления за счёт снижения порога вхождения не только на техническом, но и на организационном уровне.
Для разработки под операционные системы семейства «Альт» соответствующие ограничения также имеют определённую специфику, связанную с тем, что большая часть сообщества ALT Linux Team преимущественно общается и взаимодействует на русском языке. Поэтому встроенный инструментарий для разработки и документирование средств разработки необходимо развивать согласованно на двух основных языках — русском и английском. Кроме того, специфичный стек средств разработки для сборки пакетов, например «из git в rpm с помощью gear» требует детальной методической проработки.