Взгляд изнутри на Google Summer of Code (Андрей Савченко, OSEDUCONF-2019)
Материал из 0x1.tv
- Докладчик
- Андрей Савченко
Программа Google Summer of Code существует уже 15-й год и является хорошим способом для студентов присоединится к разработке разнообразных свободных проектов, получить богатый технический и социальный опыт. Проекты в свою очередь получают новых разработчиков и решение своих задач. В данной работе рассказывается о том, как устроен этот процесс глазами ментора и администратора одного из таких проектов в рамках GSoC, даются практические рекомендации по участию в программе.
Содержание
Видео
Презентация
Thesis
Что такое GSoC
Программа Google Summer of Code (GSoC) предоставляет студентам возможность заняться летом разработкой СПО за разумную стипендию вместо иных подработок.
Основные цели программы:
- Привлечение новых разработчиков в сообщество СПО.
- Способствование разработке СПО проектов.
- Предоставить студентам опыт реальной разработки и взаимодействия с сообществом.
Заявка
Принять участие в качестве организации может любой активно развиваемый СПО проект, имеющий в наличии хотя бы двух менторов (разработчиков, готовых быть наставниками для студентов, участвующих в организации).
Программа GSoC нацелена на диверсификацию участников: ежегодно количество участвующих организаций возрастает. При этом никому не гарантируется ежегодное участие: даже организации-ветераны могут не взять, чтоб дать возможность поучаствовать другим, например, Mozilla не приняли в 2015 году.
Сейчас самое время подать заявку! Окно открыто до 6 февраля 20:00 UTC.
Если нет желания или возможности принять участие в качестве самостоятельной организации, можно попроситься к одной из «зонтичных» организаций, берущих под своё крыло различные проекты по определённым тематикам. Доступен неофициальный список таких организаций по 2018 году.
Каждая организация подготавливает идеи работ для студентов и наставников студентов для данных работ. Но, кроме этого, у студентов есть право выдвигать собственные проекты. Это сложнее, поскольку требует проработки идеи со стороны самого студента и не всегда возможно найти наставника для таких проектов, но, как показывает практика, если студент предложил свою идею — он по уровню существенно выше среднего.
Список принятых организаций будет доступен 26 февраля. Заявки студенты могут подавать с 25 марта по 9 апреля. Рекомендуется заранее связываться с проектами, в которых студент заинтересован для того, чтоб освоится с проектом, его сообществом, инфраструктурой.
Отбор студентов осуществляется организациями на конкурсной основе. Обычной практикой в дополнение к рассмотрению заявки студента являются небольшие задания, цель которых в проверке знаний студента и навыков работы с инструментарием. Традиционный способ: попросить исправить ряд багов.
Каждая организация запрашивает интервал слотов и самостоятельно распределяет по ним желаемые студенческие заявки. Google не назначает принятых студентов, но может отклонить назначенную организацией заявку; обычно это происходит из-за проблем с документами, например, если студент не предоставил документы, что он является студентом на момент объявления результатов конкурсного отбора (в 2019 году это будет 6 мая).
Самая важная часть студенческой заявки — это детально проработанный план работ, именно по нему проводится экспертиза соответствия студента и проекта. Желательно, чтоб план содержал понедельный список планируемой работы. Кроме того, заявка должна содержать обоснование необходимости проведения работ и планируемый результат. Так же важно указывать контакты, часы доступности (поскольку разные участники проекта обычно из разных временных зон) и дни планируемого отсутствия (например, экзамены).
Студенты пишут заявку самостоятельно, но могут предоставлять наставникам черновики для комментариев. Хорошую заявку сложно написать с первого раза, поэтому процесс, обычно, итерационный и начинать его рекомендуется заранее.
Для всех участников очень важно соблюдать установленные сроки подачи заявок и отчётов. Они известны заранее ещё до начала GSoC. При несоблюдении сроков заявка или отчёт приниматься не будут со всеми вытекающими последствиями. Исключений нет и не будет ни для кого ни при каких условиях и ни по каким причинам. Поэтому настоятельно рекомендуется подавать все документы заранее.
Участие
Официально период написания кода начинается 27 мая и длится до 26 августа. По обоюдному согласию между организацией, наставником и студентом возможно начать работу раньше, например, для компенсации времени, выпадающего из-за сдачи экзаменов.
Важной частью работы является регулярное общение между наставником и студентом. Обычно это ежедневные краткие ответы на вопросы и детальное общение в чате еженедельно.
От студента ожидается полноценная работа (30-40 часов) 5 дней в неделю с обязательными еженедельными отчётами о проделанной работе, кроме того, многие организации практикуют краткие ежедневные отчёты: итоги за день и план на завтра.
Затраты времени наставника сильно варьируются в зависимости от уровня подготовки и самостоятельности студента (поэтому не следует брать слабых студентов!), но обычно находится в интервале от 4 до 10 часов в неделю. Поэтому редко когда наставник может вести двух и более студентов.
Основной этап работ делится на три части с ежемесячными отчётами студентов и наставников — они взаимно оценивают работу друг друга и при неуспеваемости студента он может быть исключён из программы. При необходимости по обоюдному согласию наставников и студентов план работ может быть скорректирован для учёта возникших сложностей или прорывов.
Итоги
В результате выполнения работ должен быть сформирован репозиторий с созданным кодом под СПО лицензией. Организация не обязана принимать его в основной репозиторий, но это рекомендуется. Всячески приветствуется закрепление студентов в проектах и продолжение их вклада в будущем — в этом основная цель программы.
Примечания и ссылки
- [1] Google Summer of Code https://summerofcode.withgoogle.com/
- [2] Google Summer of Code 2019 Timeline https://developers.google.com/open-source/gsoc/timeline
- [3] List of GSoC Umbrella Organizations https://nikhita.github.io/list-of-gsoc-umbrella-orgs
Plays:52 Comments:0