Часто вижу возмущения, что чей-то PR в опенсорсный проект не смерджили, и некоторые даже говорят, что такие мейнтейнеры не понимают, что такое опен-сорс. Решила внести свои пять копеек в то, что опен-сорсем является, а что нет
- Проект опен-сорсный, значит, его разрабатывают энтузиасты бесплатно
Нет! Многие опен-сорс проекты разрабатываются компаниями, которые платят зарплату разработчикам. Я вот контрибьютила в Redpanda и мне за это вполне платили зарплату. Обычно это значит, что часть репозиториев компании открыты, часть закрыты. Установить систему и попробовать продукт может каждый, но за enterprise фичи уже надо платить
- Проект опен-сорсный, значит, мой "правильный" PR обязаны смерждить
Даже если PR делает то, что описано в issue и компилируется, это не значит, что его смерждат. Большая часть работы разработчика — это не написание кода, а уточнение требований, согласование и прояснение неясных моментов. Описания в issue часто неполные, и почти всегда оставляют пространство для разных способов реализации. И вам, как человеку не из проекта (и, следовательно, без доступа к PM), часто эти требования прояснить невозможно, а писать реализацию вслепую — это лотерея.
Некоторые проекты, например SQLite, open-source, но не open-contribution. То есть посмотреть на исходный код можно, но изменения принимают только от ограниченного числа людей.
Так как же сделать так, чтобы твой PR смерждили?
Самый надежный способ — это быть пользователем проекта. Если ты много используешь проект и нашла баг в каком-то нестандартном сценарии, то PR c фиксом и инструкцией, как воспроизвести баг, обычно залетит на ура! Если хочешь новую фичу — смотри политику contributing.md, но если ты правда пользователь, то обычно сможешь предложить что-то более адекватное и нужное проекту. Например, политика contribution в язык Zig говорит, что самую большую пользу можно принести, если писать свой проект на Zig.
Почему опен-сорс мейнтейнеры такие снобы?
Опен-сорс проекты существуют для того, чтобы они работали, а не для того, чтобы удовлетворять чье-то тщеславие. Представьте, что в ваш дом каждый день приходят толпы студентов-дизайнеров и пытаются все поменять в вашем доме, потому что им в дипломе нужна строчка, что они внесли изменение в ваш дом. Звучит неприятно! Так вот, люди, которые будут чинить баги после того, как вы запишете себе строчку в резюме "контрибьютил в опен-сорс" — это и есть мейнтернеры проекта. Тот факт, что вам дали право смотреть на дом, не означает, что ваше предложение снести капитальную стену должны принять. Относитесь к жильцам с уважением!
- Проект опен-сорсный, значит, его разрабатывают энтузиасты бесплатно
Нет! Многие опен-сорс проекты разрабатываются компаниями, которые платят зарплату разработчикам. Я вот контрибьютила в Redpanda и мне за это вполне платили зарплату. Обычно это значит, что часть репозиториев компании открыты, часть закрыты. Установить систему и попробовать продукт может каждый, но за enterprise фичи уже надо платить
- Проект опен-сорсный, значит, мой "правильный" PR обязаны смерждить
Даже если PR делает то, что описано в issue и компилируется, это не значит, что его смерждат. Большая часть работы разработчика — это не написание кода, а уточнение требований, согласование и прояснение неясных моментов. Описания в issue часто неполные, и почти всегда оставляют пространство для разных способов реализации. И вам, как человеку не из проекта (и, следовательно, без доступа к PM), часто эти требования прояснить невозможно, а писать реализацию вслепую — это лотерея.
Некоторые проекты, например SQLite, open-source, но не open-contribution. То есть посмотреть на исходный код можно, но изменения принимают только от ограниченного числа людей.
Так как же сделать так, чтобы твой PR смерждили?
Самый надежный способ — это быть пользователем проекта. Если ты много используешь проект и нашла баг в каком-то нестандартном сценарии, то PR c фиксом и инструкцией, как воспроизвести баг, обычно залетит на ура! Если хочешь новую фичу — смотри политику contributing.md, но если ты правда пользователь, то обычно сможешь предложить что-то более адекватное и нужное проекту. Например, политика contribution в язык Zig говорит, что самую большую пользу можно принести, если писать свой проект на Zig.
Почему опен-сорс мейнтейнеры такие снобы?
Опен-сорс проекты существуют для того, чтобы они работали, а не для того, чтобы удовлетворять чье-то тщеславие. Представьте, что в ваш дом каждый день приходят толпы студентов-дизайнеров и пытаются все поменять в вашем доме, потому что им в дипломе нужна строчка, что они внесли изменение в ваш дом. Звучит неприятно! Так вот, люди, которые будут чинить баги после того, как вы запишете себе строчку в резюме "контрибьютил в опен-сорс" — это и есть мейнтернеры проекта. Тот факт, что вам дали право смотреть на дом, не означает, что ваше предложение снести капитальную стену должны принять. Относитесь к жильцам с уважением!