Простое руководство по участию

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

Сначала давайте посмотрим, почему вы можете захотеть принять участие.

Зачем вносить свой вклад в открытый исходный код?

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

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

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

Как внести свой вклад в открытый исходный код 🛠

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

Пометьте репозитории GitHub, которые вы считаете ценными ⭐️

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

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

Репозитории с открытым исходным кодом, которые чаще используются и привлекают больше внимания, обычно имеют больше отзывов и больше участников. Эти ресурсы приводят к обновлению проектов, чтобы они оставались безопасными и актуальными.

Звезды — это самый быстрый сигнал ценности, поэтому добавляйте звезду, когда она того заслуживает.

Создайте тему ⚠️

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

Допустим, вы думаете, что нашли ошибку в проекте. Во-первых, убедитесь, что вы проверили документацию и Stack Overflow, а также выполнили поиск в Google.

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

Нажмите Проблемы.

Найдите все открытые вопросы по теме. Возможно, вы не первый, кто столкнулся с этой проблемой. Если кто-то уже открывал проблему GitHub по той же проблеме или запросу функции, добавьте комментарии к существующей проблеме, а не дублируйте ее.

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

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

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

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

Включение полной трассировки стека для ошибки — это здорово. Воспользуйтесь форматированием Markdown, чтобы сделать выпуск более читабельным. Уценка похожа на обычный текст с добавлением нескольких символов для красивого форматирования. Вот краткое руководство. Небольшой совет: три обратных кавычки ``` дадут вам форматирование кода, что значительно упростит чтение трассировки стека.

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

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

Давайте посмотрим, как вы можете внести изменения напрямую.

Улучшить документацию ✍️

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

Затем вы можете настроить файл Markdown в браузере.

Если вы меняете форматирование в документах, вы, скорее всего, будете использовать Markdown. Некоторые репозитории написаны в reStructuredText (.rst). Я бы не советовал сначала приступать к работе с документацией, так как изучить этот Markdown немного сложнее, но если вы хотите научиться сначала, вот руководство.

После внесения изменений в браузере вы можете создать запрос на извлечение.

Если вы работаете не только с одним файлом, вам нужно разветвить репозиторий и клонировать его на свой компьютер.

Если вы ищете файлы документов, они часто находятся в папке docs. Рекомендации по содействию, если они существуют, могут помочь вам узнать, где найти файлы. Обычно они находятся в папке docs.

Затем вы будете работать в текстовом редакторе, фиксировать изменения и отправлять их в репозиторий. Наконец, вы откроете запрос на извлечение.

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

Хорошо, давайте обратимся к нашему последнему сценарию — добавлению некоторого кода.

Исправить ошибку в коде 🧑‍💻

Планка немного выше для добавления кода в репозиторий. Вам нужно:

  • владеть используемым языком программирования
  • создать среду разработки — должна быть инструкция
  • потратьте время на понимание кодовой базы
  • писать тесты

Вот несколько советов, которые помогут вам на вашем пути.

Как найти хороший первый проект 🚀

Начните с малого

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

Убедитесь, что проект активен

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

Как найти хорошую проблему для решения 📝

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

Различные проекты управляются немного по-разному. Если в проекте есть теги проблем, такие как good first issue, это может быть полезным местом для поиска.

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

Как объединить ваш запрос на извлечение ✅

Следуйте руководству по стилю

Во многих проектах есть руководство по стилю. Если да, то, скорее всего, он будет в файле Contributingdocs. Используйте строки документации, а если вы используете Python, используйте подсказки типов. Следование инструкциям составляет большую часть игры. 🙂

Пишите тесты

Написание тестов — отличный способ сделать ваш код надежным. Тесты и анализ стиля кода, как правило, должны пройти, прежде чем ваш PR будет принят.

Если вы добавили новые функции, обязательно добавьте инструкции в документы.

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

Создать PR

Нажмите зеленую кнопку Новый запрос на вытягивание и создайте PR.

Опишите, что делает ваш запрос на извлечение, когда вы его открываете.

Когда вы отправляете запрос на вытягивание, тесты и форматирование, скорее всего, будут выполняться в облаке.

Что теперь?

Возможно, ваш пиар сразу же будет принят. Потрясающий!

Есть неплохая вероятность, что вы потратите немного времени на ожидание того, что кто-то свяжется с вами. Будьте терпеливы.

Если прошло несколько недель, а никто не прокомментировал ваш PR, не попросил внести изменения или не объединил его с веткой Main, можно вежливо спросить, может ли кто-нибудь взглянуть на него.

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

Если вас попросят внести изменения, сделайте это или обсудите в ветке комментариев GitHub.

Сворачивать

Вы видели, как начать вносить свой вклад в открытый исходный код! Для процветания сообществ с открытым исходным кодом требуется виртуальная деревня. Своим вкладом вы присоединяетесь к сообществу. 🎉

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

Если вы хотите принять участие в Префекте, мы облегчаем людям задачу, устраивая случайный #зимнийджамбори — что-то вроде #хактоберфеста, но круче. Возьми? 😉 Ознакомьтесь с некоторыми хорошими первыми выпусками в репозитории Prefect GitHub для вдохновения и отправьте свой PR, чтобы получить немного хабара от Prefect!

Счастливый вклад!