Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017)

Материал из 0x1.tv

Аннотация

Докладчик
Денис Силаков.jpg
Денис Силаков

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


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

Видео

on youtube

Слайды

Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf Преподаватель ВУЗа как посредник между студентами и разработчиками СПО (Денис Силаков, OSEDUCONF-2017).pdf

Тезисы

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

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

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

Для каких курсов это подходит?

Присоединение студентов к разработке незнакомого им продукта всегда требует определенного времени. Поэтому давать такие задачи разумно только в рамках долгосрочных дисциплин — например, курсовых или дипломных работ либо предметов наподобие «Программного проекта» НИУ ВШЭ (который подразумевает работу команд студентов в течение нескольких месяцев над проектами конкретных заказчиков, в роли которых как раз и могут выступать различные СПО-сообщества).

Во многих ВУЗах студенты проходят двухнедельную производственную или технологическую практику. На наш взгляд, давать в рамках такой практики задачи, связанные с помощью некоторому свободному проекту можно только в том случае, когда студент сам неплохо знаком с этим проектом и готов ему помочь.

Как выбрать проект?

Чтобы выбрать проект, в который отправить студентов, преподавателю необходимо самому ориентироваться в мире СПО. Идеальными кандидатами являются проекты, в разработке которых преподаватель сам принимает участие, либо которыми он хотя бы пользуется. Поэтому первым делом познакомиться с проектом должен именно куратор со стороны ВУЗа — иначе возникнут трудности с точной формулировкой задачи, а впоследствии — с оценкой достигнутых результатов.

Например, в продуктах Virtuozzo используются открытые компоненты — в частности, ядро Linux, гипервизор KVM в связке с QEMU и множество других программ и библиотек для Linux. Неудивительно, что студенты, выполняющие задачи под руководством сотрудников Virtuozzo (например, в рамках прохождения курсов на соответствующей кафедре МФТИ), работают над этими продуктами и нередко их наработки отправляются в апстрим. В бытность автора сотрудником компании «РОСА», студенты выполняли немало задач для одноименных дистрибутивов Linux.

Если же говорить о выборе проекта, не имеющего непосредственного отношения к деятельности преподавателя, то следует обратить внимание на следующие аспекты:

  • «адекватность» апстрима — существует немало проектов, внедриться в разработку которых человеку со стороны не очень просто, особенно если этот человек не имел подобного опыта;
  • наличие у проекта внятного списка задач для реализации, среди которых есть такие, которые можно смело отдать студентам. Как правило, мы выбираем потенциально интересные для проекта задачи, к реализации которых долгое время никто не приступает.

Мотивация студентов

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

Не секрет, что многие учащиеся слабо знакомы с программированием под Linux и не очень-то жаждут исправить эту ситуацию (несмотря на то, что работа над открытым проектом даст им много навыков помимо собственно программирования — например, опыт работы в команде, использования популярных сервисов типа GitHub и так далее). Нынешние студенты гораздо охотнее занимаются веб-разработкой либо созданием приложений для мобильных устройств. Здесь их можно понять — рынок мобильных приложений существенно превосходит рынок настольных Linux-систем.

Однако следует помнить, что мир СПО вовсе не ограничивается традиционными Linux-приложениями. Например, в мире существует немало открытых программ для Andoid, а также мобильных версий популярных приложений для десктопа.

Примеры

Приведем примеры работ, предлагавшихся в 2015—2016 гг. студентам НИУ ВШЭ в рамках дисциплины «Командный проект»:

  • Менеджер Bluetooth для LXQt;
  • Android-клиент для системы сборки ABF;
  • Универсальный инструмент подключения к облачным хранилищам (rosa-cloud-connector);
  • Перевод QtRsynct на Qt5;
  • Переиспользование учетных записей в Remmina;
  • Веб-интерфейс для Koji на основе Bootstrap;
  • Расширение форматов файлов, поддерживаемых QMMP;
  • Инструмент локализации desktop-файлов с использованием online-сервисов автоматического перевода.

Среди указанных примеров (да и не только них), интерес вызвали только задачи, имеющие отношение к веб- или мобильной разработке. Из прочих проектов до стадии отправки в апстрим дошел только менеджер Bluetooth для LXQt. С учетом такой тенденции, в будущем мы планируем при выборе целевых проектов сместить акцент с приложений для рабочего стола на мобильные продукты и веб-сервисы. Надеемся, что в итоге подобные задания для студентов принесут пользу как самим обучающимся, так и сообществу СПО.

Примечания и отзывы






Youtube:2 Vimeo:11