Если вы никогда не участвовали в открытом исходном коде (и не знаете, с чего начать), вот пошаговое руководство.

ВОТ ЧТО МЫ РАССМОТРИМ:

  1. Удаление блокировщиков вашего фактического вклада
  2. Выбор проекта, который подходит именно вам
  3. Как подготовиться к вашему первому вкладу
  4. Как попрактиковаться на реальном проекте с реальными проблемами — без риска
  5. Выполнение запроса на слияние
  6. Обращение с критикой
  7. Следующие шаги — используйте открытый исходный код для получения новых рабочих мест

НАЧИНАЯ

Вы слышали, что вклад в открытый исходный код отлично подходит для вашей карьеры.

Это правда.

Вы можете сделать переносимую учетную запись GitHub доказательством того, что у вас есть все необходимое для успеха:

  • У вас есть технические навыки
  • У вас есть навыки общения с людьми

Кроме того, он прекрасно себя чувствует.

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

Если вы не знаете, как использовать командную строку git, исправьте это сейчас. Это не сложно. Вот два ресурса, которые вам нужны:

  • Термины, поясняемые в этом Глоссарии GitHub
  • Краткое руководство по git (отлично!).

Открытый исходный код нуждается в вас, и в некотором смысле вам нужен открытый исходный код. Я уже упоминал об этом, но это еще не все. Держись! Не сдавайся. Это создает реальную безопасность работы, потому что вы создаете репутацию. В этом сила активной истории коммитов.

УДАЛЕНИЕ БЛОКИРОВЩИКОВ, КОТОРЫЕ ВАМИ ДЕЙСТВИТЕЛЬНО СОТРУДНИЧАЮТ

Не знаете, с чего начать, — это не ваша вина, и мы сейчас вас вытащим.

Что-нибудь из этого звучит знакомо?

  1. Как или где мне начать?
  2. Я не вижу много проблем новичков.
  3. Многие проекты выглядят слишком пугающими или сложными.
  4. Что, если я зафиксирую ошибку, а потом не смогу это сделать?
  5. Каков на самом деле пошаговый процесс для вклада?

Обратимся к каждому.

С чего начать?
Продолжайте читать. Я решаю это шаг за шагом.

Я не вижу много проблем для новичков.
Вы можете игнорировать эту проблему. Это нереально. Отложите свое неверие, если вам нужно, но когда вы следуете плану, который я изложил ниже, это не имеет значения.

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

Что, если я зафиксирую исправление ошибки, а затем не смогу это сделать? Вы связываетесь с сопровождающим проекта и сообщаете им, что больше не будете работать над этим исправлением ошибки. Автор проекта будет благодарен. Вы не исчезли, и теперь они могут попросить кого-то еще заняться этим вопросом. Без проблем.

Что на самом деле представляет собой пошаговый процесс внесения вклада?
А теперь пошаговая инструкция…

ВЫБОР ПОДХОДЯЩЕГО ДЛЯ ВАС ПРОЕКТА

Я уверен, вы слышали стандартный совет: «работайте над проектами с открытым исходным кодом, которые вы уже используете». Не самый полезный совет.

Вместо этого поищите в Google «лучшие проекты с открытым исходным кодом на [языке или фреймворке]». Не раздумывайте, какой язык использовать. Идите с тем, что вы знаете лучше всего.

Посмотрите на более крупные проекты с четкими документами об участии и работе с ними. Если сопровождающие проекта не активны и открыты для новичков, это не для вас.

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

КАК ПОДГОТОВИТЬСЯ К ВАШЕМУ ПЕРВОМУ ВКЛАДУ

Настройте среду разработки, если вы этого не сделали. (Получите Visual Studio для работы над проектами DotNet; получите Eclipse для работы с Java и т. д.)

Затем разветвите репо на свою учетную запись GitHub.

Затем клонируйте его на свою машину для разработки.

Затем просмотрите файл Contributing.md и найдите документ по началу работы.

Что делать, если вы не найдете его?

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

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

Если участник согласится, что это что-то ценное, бум! Покопайтесь в коде, отладьте его, задокументируйте, что вы делаете, и отправьте запрос на вытягивание вместе с документом.

Но я забегаю вперед.

Итак, вы получили код. И теперь вы знаете, как им пользоваться. Как ты себя чувствуешь?

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

Но что, если вы еще не чувствуете себя полностью готовым?

КАК ПРАКТИКОВАТЬСЯ НА РЕАЛЬНОМ ПРОЕКТЕ С РЕАЛЬНЫМИ ПРОБЛЕМАМИ — БЕЗ РИСКА

Не беспокойтесь, если вы еще не совсем готовы. Вот как повысить уверенность в себе прямо сейчас.

Посмотрите закрытые вопросы по выбранному вами проекту.

Затем потяните фиксацию кода прямо перед регистрацией исправления. Для этого:

  1. Щелкните ссылку коммита, исправляющего ошибку.
  2. Скопируйте первые 6 букв коммита SHA
  3. Перейти к списку всех коммитов
  4. Найдите коммит в списке и скопируйте SHA коммита непосредственно перед исправлением ошибки.
  5. Выполните команду git checkout с этим shaw. Теперь у вас есть исправление ошибки в коде, и вы готовы сделать свое собственное исправление. (см. видео ниже)

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

Затем потренируйтесь исправлять ошибку.

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

Кроме того, вы можете заниматься этим видом практики столько, сколько захотите.

И вот, вы готовы.

ВЫПОЛНЯЕМ ЗАПРОС НА ПОДЪЕМ

Шаги такие же, как описано выше.

  1. Разветвите репозиторий в своей учетной записи GitHub (поскольку у вас нет разрешения на создание ветки в их учетной записи GitHub)
  2. Клонируйте репо на свой компьютер
  3. Возьмите открытую проблему или откройте новую проблему (если вы вносите что-то, что не является исправлением ошибки)
  4. Сделайте ветку для своей работы
  5. В то же время вы болтаете с сопровождающим проекта о работе, которую делаете.
  6. Отправьте запрос на вытягивание. Для ознакомления со скриншотами загляните сюда: механика создания запроса на включение

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

ОБРАЩЕНИЕ С КРИТИКОЙ

Не все идеально в мире OSS. Вы имеете дело с нормальными людьми, которые являются добровольцами.

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

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

Но хватит негатива. Давайте посмотрим на общую картину.

СЛЕДУЮЩИЕ ШАГИ — ИСПОЛЬЗУЙТЕ ОТКРЫТЫЙ ИСТОЧНИК, ЧТОБЫ ПОЛУЧИТЬ НОВУЮ РАБОТУ

Хотите создать репутацию?

Делать разовый вклад и больше ничего не годится.

Очень спорадические взносы вам тоже не подойдут.

Вместо этого сосредоточьтесь на одном технологическом стеке и активно вкладывайтесь в этот стек, чтобы стать известным.

Возможно, вы даже захотите начать свой собственный проект с открытым исходным кодом.

Ключ здесь прост. Быть последовательным. Оставайтесь на нем. Продолжайте делать пулреквесты. Развивайте более глубокие отношения с сопровождающими проекта. Это так просто.

Когда вы это сделаете, вы начнете замечать две вещи:

Во-первых, с вами свяжутся рекрутеры. Там нет ничего нового. Рекрутеры постоянно контактируют с разработчиками. Но на этот раз это будет из-за вашего профиля на GitHub (а не из-за вашей учетной записи LinkedIn). Это делает эти соединения более качественными, поскольку они уже видят, что вы можете сделать.

Во-вторых, если вы ищете новую работу, вы можете указать свою учетную запись GitHub. Ваш профиль докажет, что вы много работаете. Это докажет, что вы знаете свое дело и являетесь командным игроком (из-за того, что все эти запросы на включение были приняты). Бум! Деньги.