Простое руководство по участию
Начало работы с программным обеспечением с открытым исходным кодом может показаться пугающим, но это не обязательно. В этом руководстве вы узнаете, как внести свой вклад в открытый исходный код, независимо от уровня вашего опыта.
Сначала давайте посмотрим, почему вы можете захотеть принять участие.
Зачем вносить свой вклад в открытый исходный код?
Есть много причин участвовать в проектах, использующих доминирующую модель разработки программного обеспечения. Вот несколько причин, чтобы отдать должное сообществу, от чего мы все получаем пользу:
- решить проблему для себя или других пользователей
- решить проблему с безопасностью
- создать новую функцию
- помочь пользователям понять, как что-то работает
- развивать свои навыки
- показать другим людям, что вы можете сделать
Итак, участие — это одна из тех вещей, которые вы действительно должны делать. Но незнание того, как начать, может парализовать. Давайте составим дорожную карту, чтобы упростить задачу.
Как внести свой вклад в открытый исходный код 🛠
Есть много способов, которыми вы можете внести свой вклад в открытый исходный код, независимо от вашего уровня навыков. Давайте начнем с того, что каждый может сделать прямо сейчас.
Пометьте репозитории 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!
Счастливый вклад!