Как владельцы должны управлять вкладом в проект с открытым исходным кодом?

12

При управлении проектом с открытым исходным кодом (с использованием сервиса, такого как GitHub), как можно было бы реагировать на следующее:

Кто-то любезно предоставил патч для добавления новой функции или решения проблемы. Возникает любая из следующих ситуаций:

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

Q1. Является ли приемлемым для меня изменить представленный источник? (это возможно на GitHub?)

Q2. Должны ли все такие представления быть отклонены в соответствии с руководящими принципами представления?

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

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

Леа Хейс
источник

Ответы:

7

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

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

Джереми Хейлер
источник
Я думаю, что у ядра Linux есть какая-то область «изменений, которые требуют улучшений» для этого сценария.
seppo0010
1
В конечном счете, это принесет пользу проекту и сообществу в целом, если вы заставите людей улучшать свои собственные представления. Но это абсолютно нормально, если вы сами внедрили эту функцию, если вы вежливы.
Дэвид Шварц
1
Я видел довольно много проектов, которые автоматизируют некоторые из этих вещей, когда вы запрашиваете тягу.
Эндрю Финнелл
Просто примечание для тех, кто использует GitHub: если вы назовете документ, на который есть ссылки выше CONTRIBUTING, то ссылка на этот документ будет отображаться при отправке запроса на извлечение. Это может помочь сэкономить время, если люди могут самостоятельно решить общие проблемы.
Майкл Миор
2

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

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

Если вы поступите так, ответы на вопросы Q1-Q3 будут такими:

  • Q1: Да, отредактируйте представление в последующем коммите
  • Q2: Неприменимо (я предположил, что вы еще не написали никаких руководящих принципов)
  • Q3: Скажите спасибо и перепишите его :-) (Возможно, бессмысленно вообще применять патч, если в следующем коммите вы его полностью переписаете)
KajMagnus
источник