Как готовился конкурс и зачем он был нужен?
Идея запустить конкурс среди школьников и студентов по open source пришла к Алексею Федосееву, президенту Ассоциации участников технологических кружков, ещё в 2021 году. В России очень развита IT-культура в молодежной среде, но open source – достаточно узкая сфера, и было непонятно, интересна ли она начинающим программистам. С коммерческой разработкой все более-менее понятно: подаёшь заявку, проходишь тестовое задание и собеседование, получаешь оффер. С open source все иначе: здесь нужно самому искать идеи или вкладываться в уже существующие проекты, быть открытым к взаимодействию и не рассчитывать на быстрый результат. Поэтому получается, что open source сообщество во много держится на энтузиастах-разработчиках, которые считают код и продукт ценностью.
Проект Image Background Removal Tool от Никиты Селина
— На этапе проектирования Конкурса у нас было очень много неизвестных: сколько участников будет, насколько школьники и студенты заинтересованы в open source, как отреагируют на это компании, которых мы хотели привлечь к экспертизе и проведению конкурса, — вспоминает Юлия Холкина, координатор конкурса. — В России до этого никто раньше не запускал подобные мероприятия. Естественно, мы не могли опираться ни на статистику, ни на опросы и какую-либо другую информацию. В итоге мы просто бросились в эту идею с головой — и для первого раза получилось неплохо.
Параллельно с этим Министерство цифрового развития, связи и массовых коммуникаций тоже взяло курс на развитие open source, запланировав проведение нескольких тематических мероприятий для школьников и студентов в разных городах России. В итоге, в сентябре 2021 года было принято решение о проведении первого Всероссийского конкурса open source проектов школьников и студентов.
При подготовке конкурса в такой сфере важно было заручиться поддержкой партнёров и экспертов. Изначально их привлечением занимался президент Ассоциации участников технологических кружков Алексей Федосеев. Так в экспертном совете и оргкомитете появились представители компаний Яндекс, Роббо, Postgres Professional, Astra Linux, Базальт СПО и др. Потом эксперты стали делиться с коллегами информацией о конкурсе, и в какой-то момент количество участников экспертного чата выросло с 15 до 40 человек.
— Open source уже не менее двадцати лет является одним из важнейших мировых технологических трендов в области IT, — считает Иван Панченко, председатель экспертного совета конкурса и заместитель генерального директора Postgres Professional. — Практически всё программное обеспечение в мире сейчас содержит компоненты open source или базируется на них. Каждый может прикоснуться к мировой сокровищнице программистской мысли и внести туда свой вклад. Мы проводили конкурс, чтобы напомнить об этой прекрасной возможности, а также наградить лучших и привлечь внимание экспертов к их работам.
Как проходил конкурс?
Конкурс запустили в начале марта, объявив приём работ в двух номинациях. В треке «Создатели» ждали open source проекты молодых разработчиков, трек «Контрибьюторы» же был для тех, кто принимает активное участие в доработке проектов других участников сообщества — они должны были представить экспертам свои доработки чужого проекта, принятые автором кода. Также участникам отдельно предложили выполнить кейсы от компаний-партнёров конкурса: Яндекса, Сбера, Ростелекома, Astra Linux, PostgreSQL, Фонда содействия инновациям и других.
Так выглядит geekr — проект Владислава Екушева
В итоге за почти два месяца приема заявок на конкурс пришло примерно 400 команд.
— Мы решили включить в конкурс элемент P2P (peer to peer) оценки: участники могли оценить работы друг друга, — говорит Юлия Холкина. — Проще говоря, выбирались ещё лидеры зрительских симпатий. По итогам таких оценок формировался лидерборд в порядке убывания рейтинга. Но на возможность экспертной оценки он никак не влиял: заявки выбирались экспертами самостоятельно, и расположение в лидерборде влияло только на то, насколько заметен будет проект.
В треке «Создатели» члены жюри оценивали как идею проекта и его социальный эффект, так и качество технической реализации: код, документацию и т.д. В работах, поданных на трек «Контрибьюторы», эксперты оценивали важность вклада в развитие проекта, качесто кода, а также уровень сложности и актуальность самого проекта. В итоге было выбрано по пять победителей и призеров в треке «Создатели» и один победитель и два призера в треке «Контрибьюторы».
Над какими проектами работали участники?
Расскажем про несколько победивших проектов трека «Создатели». Никита Селин (Приморский край, ДВФУ) подал проект Image Background Removal Tool. Никита любительски занимается видеомонтажом, и ему довольно часто приходилось вручную монотонно обрезать различные объекты с фотографий и видео и удалять оттуда фон. Это могло занимать часы, поэтому однажды Никита решил это автоматизировать. Поначалу он взял форк сегментационной нейросети, используемой для удаления фона — проще говоря, кодовую базу другого программного проекта в качестве старта для своего, но этот форк работал очень медленно и некачественно на изображениях большого размера. Никита сначала попытался исправить код, а потом и вовсе заменил все составные части на совершенно другие. В итоге получился фреймворк, полезный для разработчиков фото- и видеоредакторов, маркетплейсов, фотографов, дизайнеров, и вообще всех, кому нужно быстро и просто обрезать объект с фотографии. А ещё разработчики сервисов могут использовать разработанный Никитой инструмент как составную часть своего ПО за счет commercial use allowed лицензии.
Владислав Екушев (Санкт-Петербург, Университет ИТМО) сделал проект Geekr — это программа-клиент для Хабра, которая решает проблемы официального сайта, добавляет максимальную кастомизацию и новый дизайн, а также повышает скорость работы.
— Есть официальное приложение Хабра под Android — быстрое и с кэшированием статей для просмотра их оффлайн, — пишет Владислав в описании своей заявки. — Но года четыре назад оно сломалось из-за неправильного отображения картинок, да и разработчики давно забыли про проект. Тогда у меня возникла идея сделать «свой» Хабр с темной темой. Так и появился проект habra. («с пафосной точкой в конце,» — как написал сам создатель в своей статье, опубликованной Хабром). Позже проект был переименован в Geekr. Многие пользователи жаловались на новый дизайн официального сайта Хабра, так что Geekr может стать для них прекрасной альтернативой.
Родион Гудзь (Архангельская область, Гимназия №3) представил на конкурс проект Android-Tool, который упрощает взаимодействие с консольными утилитами adb и fastboot для управления Android-смартфоном. Родион любит кастомизировать свой смартфон: с момента покупки он разблокировал на нём разгрузки, что позволяет установить кастомное рекавери** — оно дает возможность ставить кастомные прошивки и всячески менять смартфон под свои нужды. Android-Tool была создана для упрощения тестирования приложений и прошивок, отладки, а также прошивки телефона, и сейчас успешно используется многими людьми. Программа помогает отключить или удалить ненужные предустановленные системные приложения, показывает параметры и характеристики устройства, перезагружает его во все режимы работы и т.д. Android-Tool будет полезна для пользователю, который несильно разбирается в консоли и утилитах в ней, но хочет улучшить и настроить операционную систему на своем смартфоне.
Android-Tool от Родиона Гудзя
Программа стажировок «Код для всех» и будущее конкурса
Иван Панченко, председатель экспертного совета Всероссийского конкурса open source проектов, заинтересовавшись проектами участников, предложил организовать продолжение Конкурса в виде программы стажировок «Код для всех».
В рамках этой программы четыре партнёра — Яндекс, CyberOK, Postgres Pro и БЕЛЛСОФТ — представили восемь направлений для стажировки. Старшеклассники и студенты подавали заявки на оплачиваемую стажировку в open source проекты партнёров программы. В итоге в программу заявились порядка 600 участников, из которых компании отбирали лучших (отдельное внимание, конечно же, обращали на победителей и призеров конкурса). Стажировки проходили в августе-сентябре в дистанционном формате и с менторской поддержкой.
В первом запуске конкурса организаторы подготовили для участников небольшую образовательную программу: онбординг для всех при подаче заявки, пару полезных статей на Хабре, отсняли несколько видеолекций с экспертами.
— Мы не просто хотели сделать конкурс как отбор лучших — мы хотели заинтересовать участников Кружкового движения темой open source, стимулировать их взаимодействовать с другими, не только делать свой проект, но и показывать его широкому сообществу, добиваться от него реакции, — поясняет Евгения Венина, одна из организаторов Конкурса. — Open source сообщество хорошо для такого взаимодействия. Мы понимали, что многие участники не имеют ни опыта технической работы с платформами (GitHab и GitLab), ни ценностного опыта: они не знакомы с движением open source и не знают, в чем его крутость. Они могли не знать, как в целом вести проект, привлекать аудиторию, как искать участников в команду посредством сервисов и фич на open source платформе и т.д. Так что мы представили себе студента, который не знаком с open source, но делает по нему курсовую работу — и постарались под это сделать образовательную программу.
На второй запуск Всероссийского конкурса open source проектов школьников и студентов, который запланирован на осень-зиму 2022 года, Кружковое движение усилит образовательную составляющую: будет ещё больше полезных материалов и вебинаров (а ещё есть желание собрать их в итоге в курс для участников и в курс для наставников). Также участников нового конкурса ждет доработанная механика проведения и, конечно же, новые кейсы. Следите за новостями и участвуйте в следующем конкурсе!
* Open Source — это программное обеспечение, распространяемое с открытым исходным кодом. Такое приложение можно доработать (изменить, дополнить) под свои задачи без нарушения авторских прав разработчиков, а также изучить на наличие уязвимостей, использовать для разработки других программ и т.д. Является частью движения свободного и открытого ПО, подробнее тут https://en.wikipedia.org/wiki/FOSS
** Recovery (река́вери) — программное обеспечение в устройствах Android, используемое для диагностики аппаратного обеспечения, восстановления системы и создания резервных копий.