FreeBSD и Google Summer of Code
Google Summer of Code (GSoC) — это ежегодное мероприятие, спонсируемое компанией Google Inc. Оно позволяет участникам провести от 8 до 22 недель летом, работая в качестве стажёров над проектами с открытым исходным кодом. Работа выполняется под руководством одного или нескольких наставников, а труд вознаграждается стипендией. FreeBSD участвует в программе каждый год с 2005 года и вновь получила место в качестве наставляющей организации в 2024 году с одиннадцатью проектами.
Если вы интересуетесь разработкой операционных систем, тажировка в такой давней и успешной ОС с открытым исходным кодом, как FreeBSD — это прекрасная возможность. Основанная в 1993 году, FreeBSD представляет собой современную операционную систему для серверных, настольных и встраиваемых платформ. Она предлагает передовые сетевые возможности, впечатляющие функции безопасности и высокую производительность. Она лежит в основе многих коммерческих продуктов, включая Sony Playstation, Nintendo Switch, OnTap/GX от NetApp, ОС Junos от Juniper и стала отправной точкой для создания ядра Apple OS X. Проект состоит из сотен коммиттеров и множества других участников, имеющих опыт работы в различных частях операционной системы. Многие из наших бывших студентов GSoC впоследствии стали разработчиками FreeBSD. После окончания лета Google или FreeBSD Foundation могут спонсировать участие участников в конференциях для представления своей работы. Это открывает отличные возможности для профессионального нетворкинга!
Важные шаги
-
Узнайте, соответствуете ли вы требованиям для участия в GSoC.
-
Следите за сроками проведения.
-
Найдите проект и наставника.
-
Подайте заявку в Google.
Поиск проекта и наставника
Ключевой шаг — выбрать подходящий проект и наставника. Если вы хотите добиться успеха, начните поиск заранее. Список идей для проектов — хорошая отправная точка, но не ограничивайтесь только этими проектами. Вы можете написать техническим контактам, указанным для проекта, и/или отправить письмо в рассылку hackers@FreeBSD.org. Представьтесь и опишите свои интересы и опыт. Это может заинтересовать одного или нескольких разработчиков, которые смогут предложить проект и наставника.
Мы также ведем более общую страницу идей. Эти проекты менее подходят для Summer of Code, так как их объем может быть больше или меньше летнего проекта, или для них может не быть четко определенного наставника. Если вы решите предложить один из них, мы рекомендуем написать в нашу рассылку hackers@FreeBSD.org за помощью. Эти страницы существуют, чтобы помочь найти вдохновение. Еще одним местом для поиска идей о предстоящих проектах разработки в FreeBSD являются Отчеты о состоянии FreeBSD. Участники также могут и даже приветствуются, если они предлагают собственные идеи; и если предложение убедительно, мы постараемся подобрать вам наставника!
Прошлые проекты
Рекомендации по составлению заявки
Участники несут ответственность за написание заявки и её отправку в Google до окончания срока подачи заявок. Следующая структура была адаптирована из The Perl Foundation. Цель заявки — определить, что должно быть сделано, объяснить, почему это необходимо, и убедить нас в том, что:
-
Вы квалифицированы для выполнения этого проекта. Это означает как наличие необходимого опыта, так и демонстрацию общего понимания проблемы.
-
У вас есть необходимые ресурсы (особенно время!) для завершения проекта в течение рабочего периода Summer of Code.
Сильная заявка включает (как минимум):
Общая информация
-
Имя
-
Адрес электронной почты
-
Телефон
-
Мессенджер/IRC
-
Доступность
Сколько часов в неделю вы сможете уделять этой работе? Сколько — другим делам? Какие еще обязательства (работа, учеба, отпуск, свадьбы и т.д.) у вас есть на это лето? Будьте как можно конкретнее: когда проект начнется и закончится? Вы должны быть готовы составить ежедневный график до начала программы.)
Обратите внимание: участие в Google Summer of Code требует значительных временных затрат, и вам не следует подавать заявку, если у вас уже запланирована другая полноценная работа на лето.
-
Биография
Кто вы? Какими навыками вы обладаете для этого проекта? Каким было ваше прошлое участие в проекте FreeBSD? (Предыдущее участие не требуется, но в идеале вы хотя бы установили FreeBSD и, возможно, исправили одну-две ошибки) Если ваш проект включает программирование на определенном языке, таком как C, или в определенной среде, например, в ядре или на встраиваемой платформе, какой у вас есть опыт работы в этой области? Вы знакомы с системами контроля версий или используете их? Вы проходили курсы, которые будут актуальны для вашей идеи проекта? Что, по вашему мнению, вам нужно будет изучить для завершения этого проекта?
-
Возможный наставник
Необязательно, но настоятельно рекомендуется. Не указывайте здесь имя, если вы с ним не связались.
Информация о проекте
-
Название проекта
Не более сорока символов о том, что вы предлагаете сделать.
-
Описание проекта
Несколько абзацев, описывающих ваш проект. Прямые копии со страницы идей будут отклонены — заявки должны показывать, что вы провели некоторое исследование проблемы и её решений. Включите как то, что вы будете делать, так и почему это хорошо для проекта FreeBSD.
-
Результаты
Список измеримых результатов и соответствующих этапов разработки кода. Мы предлагаем как минимум два этапа до промежуточной оценки и два после. Там, где это уместно, этот график должен включать несколько точек для коммита или релиза, чтобы люди могли получить выгоду от вашей работы и/или протестировать её как можно раньше.
-
План тестирования
Какие части вашего кода нуждаются в тестировании и как вы планируете их тестировать? Это может включать как функциональное тестирование, так и тесты производительности.
-
График проекта
Сколько времени займет проект? Когда вы можете начать работу?
Взаимодействие и открытость
Мы ожидаем, что работа над проектом будет вестись в git, и требуем регулярной выкладки изменений в публичный репозиторий. Обеспечение публичного доступа способствует сотрудничеству, позволяет архивировать проект и помогает наставникам и сообществу поддерживать и отслеживать текущую работу. От участников также попросят вести и обновлять вики-страницы о своей работе. Электронная почта (включая списки рассылки), IRC, мгновенные сообщения (Matrix, Slack и др.) и видеоконференции — вот некоторые из способов, которыми участники и наставники общались в прошлом. Участникам также рекомендуется использовать эти и другие методы для взаимодействия с широким сообществом FreeBSD.
Часто задаваемые вопросы
-
Где можно найти список сроков?
График GSoC является авторитетным источником подробной информации о расписании.
-
Где мне зарегистрироваться?
Все участники должны зарегистрироваться и подавать заявки через домашнюю страницу Google Summer of Code.
-
Какой совет вы дадите участнику, который хочет подать заявку?
Опыт показывает, что самые сильные заявки поступают от участников, которые связываются с разработчиками FreeBSD и потенциальными наставниками задолго до подачи заявки, запрашивают отзывы о своих идеях и пишут заявки, отражающие время, потраченное на изучение и понимание проблемной области. Даже если разработчик(и) FreeBSD, с которыми вы свяжетесь, не станут в итоге наставником проекта, их отзыв может оказаться бесценным.
-
Могу я подать несколько заявок на проекты в проект FreeBSD?
Да, но обязательно уделите достаточное время каждой заявке. Мы не можем принять более одного проекта от одного участника, поэтому вам может быть лучше потратить больше времени на одну-две детальные заявки, чем подавать много менее подробных.
-
Примет ли проект FreeBSD более одного участника для одной и той же идеи?
Как правило, мы принимаем только одного участника для любой данной идеи, поскольку большинство идей в нашем списке рассчитаны на одного участника на летний проект. Это веская причина подумать о том, чтобы предложить собственную идею или, по крайней мере, убедиться, что ваша заявка на одну из наших идей отражает ваш уникальный вклад и точку зрения. Если вы планируете подать несколько заявок, рассмотрите возможность подачи одной с идеей из списка, а другой — с оригинальной идеей.
-
Что, если мою заявку не выберут в процессе отбора? Я все еще могу участвовать?
У нас всегда больше хороших заявок, чем мест для участников, но это не значит, что вы не можете выполнить проект в любом случае. Проект FreeBSD всегда приветствует новых добровольцев для работы над проектами и, как правило, рад предоставить наставничество и поддержку участникам, чьи заявки не были отобраны, чтобы позволить им все равно работать над своим проектом. Вам нужно будет поработать с администраторами GSoC проекта FreeBSD, чтобы найти возможного наставника. Однако Google не будет финансировать такое участие.
-
Как я могу узнать больше о FreeBSD?
Домашняя страница проекта FreeBSD — лучший способ узнать больше о проекте — оттуда вы можете перейти к Руководству FreeBSD, Руководству разработчика FreeBSD, архивам рассылок проекта, регулярным отчетам о состоянии проекта и многому другому. Если у вас есть вопросы по конкретным идеям проектов, пишите техническим контактам для этих идей. Если у вас есть общие вопросы по GSoC, связанные с FreeBSD, например, если вы не можете связаться с техническим контактом проекта, вам нужна помощь в поиске документации или вы хотите знать, с кем можно поговорить о вашей идее, отправьте их на soc-admins@FreeBSD.org.
-
Где я могу связаться с людьми, чтобы обсудить идеи заявок или другие темы, связанные с FreeBSD и GSoc?
Вы можете связаться с нами в канале IRC FreeBSD Summer of Code, написать в рассылку hackers или отправить письмо на soc-admins@FreeBSD.org.
-
Где я могу найти больше информации от Google?
Дата последнего изменения: 2 декабря 2025 г. выполнил Vladlen Popolitov
