Статьи

Google Summer of Code за 10 минут: ускоренный курс

Каждый год с момента своего создания в 2005 году Google организует ежегодную программу под названием « Google Summer of Code» (GSoC), в которой студенты летом работают над проектами с открытым исходным кодом различных организаций. GSoC предназначен для учащихся старше 18 лет, а его аналог для школьников старших классов — Google Code-In .

После объявления программы на каждый год организации с открытым исходным кодом сначала подают свои заявки в Google, чтобы выбрать их в качестве организаций наставничества. После объявления наставнических организаций студенты представляют подробные предложения для работы над проектами выбранных организаций. Отобранные студенты затем пишут код в течение лета, работая со своими наставниками для выполнения своих проектов. В случае успешного участия в конкурсе Google выплачивает каждому студенту-разработчику стипендию в размере 5500 долларов США, а 500 долларов США за каждый успешный проект направляется организациям-наставникам. Я только что привлек ваше внимание?

Понимание графика GSoC 2015

Прежде чем перейти к общим рекомендациям по отбору для проекта, давайте посмотрим на график программы GSoC 2015. Я буду обсуждать события, которые имеют отношение к студентам, и подробные сроки можно найти на сайте Меланж.

  • 2 марта: список принятых наставнических организаций опубликован на сайте Google Summer of Code 2015.
  • 16 марта: начинается период подачи заявок.
  • 27 марта: крайний срок подачи заявок.

Период со 2 марта по 27 марта имеет первостепенное значение для студентов, которые хотят пройти. Это время, когда вы решаете, с какими организациями работать, связываетесь с наставниками проекта и готовите свои предложения для рассмотрения вашими наставниками. К 27 марта вы должны подать свое предложение на сайте Melange, после чего ваше предложение будет заблокировано. Однако, если вы обнаружите ошибки в своем предложении, вы можете попросить свою наставническую организацию сделать его редактируемым.

  • 15 апреля: Распределение слотов опубликовано для наставнических организаций.

Хотя наставнические организации были объявлены ранее, количество проектов для каждой организации делается позже. К 15 апреля ваша наставническая организация будет знать, сколько студентов она должна принять на лето. Эта информация не объявляется публично, но вы можете попросить своего наставника об этом узнать ваши шансы на выбор.

  • 21 апреля: первый раунд проверок дедупликации; организации работают вместе, чтобы попытаться устранить как можно больше дубликатов.

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

  • 27 апреля: на сайте Google Summer of Code 2015 объявлено о принятых предложениях для студентов.
  • 25 мая: студенты начинают писать код для своих проектов Google Summer of Code;
    Google начинает выплачивать начальные студенческие платежи при условии, что налоговые формы находятся в файле и учащиеся имеют хорошую репутацию в своих сообществах.

Время между объявлением отобранных учеников и началом периода кодирования называется «периодом связывания сообщества». Google рекомендует потратить время на знакомство с людьми из списка рассылки или IRC , чтение документации и ознакомление с тем, что происходит в организации, чтобы начать кодирование. Тем не менее, вы также можете начать кодирование в период связывания сообщества, если вы и ваш наставник решите, что это лучше всего сделать. В это время вам отправляется приветственный пакет.

  • 3 июля: срок среднесрочных оценок; Google начинает выпускать среднесрочные студенческие платежи при условии прохождения опроса студентов.

Ваша работа оценивается вашим наставником через шесть недель после начала кодирования. Если вы достигли целей, которые вы поставили в своем предложении, вы сможете легко это пройти.

  • 21 августа: твердое свидание. Наставники, студенты и администраторы организации могут начать отправлять окончательные оценки в Google.
  • 28 августа: последний срок оценки

Ваша последняя работа оценивается вашей наставнической организацией, чтобы решить, прошли ли вы программу. Сертификат об окончании и футболка Google Summer of Code будут отправлены вам по почте после успешного завершения проекта.

Как я могу быть выбран?

Я успешно завершила программу за последние два года, и люди часто спрашивают у меня секретный рецепт для принятия. Там, очевидно, нет такого секрета. Тем не менее, есть определенные правила, которым вы можете следовать, но они не применимы к каждому человеку.

Предпосылки

Я считаю, что наиболее важным фактором в получении GSoC является наличие глубоких знаний в одной технологии. Будь то PHP, Python, Ruby или JavaScript — убедитесь, что вы владеете языком, и ориентируйтесь на организации с проектами, основанными на вашей зоне комфорта.

Во-вторых, все организации с открытым исходным кодом используют программное обеспечение для контроля версий, чтобы управлять изменениями в коде из всемирно распределенной команды. Будь то git, svn или mercurial, вы должны знать основы управления версиями и чувствовать себя комфортно при его использовании.

Другим важным предварительным условием на мой взгляд является использование модульных тестов. Большинству организаций необходимо, чтобы вы написали модульные тесты для кода, который вы отправляете, и, следовательно, вам нужно уметь хорошо их писать.

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

Начать рано

Хотя уже поздно обдумывать это, но если вы планируете подать заявку на GSoC 2016, начните сейчас. Чем раньше вы начнете, тем выше ваши шансы на выбор. Но как именно вы «начинаете»?

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

Если организация заинтересовала вас, присоединяйтесь к списку рассылки ее разработчиков и общайтесь в IRC-чате. Люди с открытым исходным кодом, как правило, очень дружелюбны, и если у вас есть какие-либо проблемы, они всегда готовы помочь! Однако помните, что у наставников также есть работа на полную ставку, а открытый исходный код — это только добровольная работа, поэтому вы должны быть внимательны!

Также убедитесь, что вы вежливы, когда общаетесь в списке рассылки или IRC. В дополнение к этому, будьте терпеливы (и избегайте быть такими ).

Докажите, что вы можете внести свой вклад в кодовую базу

Вступление в список рассылки или IRC может быть недостаточно. Чтобы быть выбранным для участия в конкурсной программе, такой как GSoC, вы должны доказать, что вы один из лучших. Самый простой способ быть замеченным — это внести свой вклад в кодовую базу.

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

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

Как только вы решите ошибку, отправьте патч (или запрос на извлечение, если он есть на GitHub, GitLab или BitBucket). Затем поработайте над второй ошибкой. Затем третий и четвертый и так далее. Большинство организаций требуют, чтобы вы приняли патч в качестве предварительного условия для принятия в программу.

Делать предложение

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

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

Вот несколько рекомендаций по написанию отличного предложения .

Последние мысли

«Я учусь на последнем курсе, и я закончу обучение до окончания программы. Имею ли я право? »

«Сколько времени требуется для участия в программе Summer Summer of Code в качестве студента?»

«Считается ли Google Summer of Code работой или какой-либо формой занятости?»

Если у вас есть такие вопросы, зайдите в раздел часто задаваемых вопросов на сайте Melange . Если у вас все еще есть вопросы, не стесняйтесь спрашивать ниже!