Первый вклад в Open Source
Маленький проверяемый вклад, уважение к правилам проекта, review и лицензиям.
Первый вклад может быть маленьким
Open Source не требует начинать с нового алгоритма в CPython. Исправление опечатки, воспроизводимый bug report, тест для подтверждённого дефекта или уточнение примера может быть полезным вкладом. Ценность определяется правилами конкретного проекта и качеством взаимодействия.
Рабочая последовательность
- Выберите проект: проверьте область, активность, лицензию и соответствие Вашим навыкам.
- Прочитайте README: разберитесь в назначении, установке и поддерживаемых версиях.
- Прочитайте CONTRIBUTING: соблюдайте code of conduct, шаблоны и команды проверки.
- Выберите Issue: найдите небольшую подтверждённую задачу или согласуйте новую.
- Воспроизведите: запишите минимальный сценарий на поддерживаемой версии.
- Создайте fork или branch: следуйте правилам проекта и изолируйте изменение.
- Внесите изменение: держите diff сфокусированным и не смешивайте несвязанные правки.
- Выполните тесты: добавьте проверяемое доказательство и запустите локальные проверки.
- Откройте Pull Request: опишите причину, область и выполненную проверку.
- Пройдите review: отвечайте на вопросы спокойно и обсуждайте требования и компромиссы.
- Внесите исправления: обновите код и тесты; после решения поблагодарите участников.
Социальные навыки являются частью инженерии
У сопровождающих проекта мало времени. Короткий контекст, воспроизводимый пример и сфокусированный diff сокращают время на review. Несогласие обсуждайте через требования и компромиссы. Не принимайте замечание к коду как оценку личности и не требуйте немедленного ответа.
Лицензии и происхождение кода
Публично доступный код не означает разрешение копировать его без условий. Прочитайте лицензию исходного и целевого проекта, сохраняйте обязательные уведомления и не вставляйте код неизвестного происхождения. Если условия непонятны, задайте вопрос сопровождающим проекта или выберите собственную реализацию. Это учебное правило, а не юридическая консультация.