Хорошая работа над проектом с открытым исходным кодом

27

Пора.

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

Но это не сработает с существующими разработчиками.

Вам, наконец, нужно раскошелиться на код.

Как вы это делаете и остаетесь в наилучших возможных условиях с существующим проектом? Как вы не говорите, « О , да? Вилка вы! »

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

Конкуренция? Ресурс истощается? Браконьер?

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

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

-Адам

Адам Дэвис
источник

Ответы:

20

Вы хотите поработать над собственным форком кода или вы хотите фрагментировать сообщество?

Мы внутренне разработали несколько проектов. Мы вносим изменения, отправляем их владельцам, они говорят «нет, спасибо», и мы пожимаем плечами, приносим это изнутри и поддерживаем сами.

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

Мы просто не призывали «продвигать» наши изменения более публично, чем список рассылки dev.

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

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

Источник должен быть использован, поэтому используйте его.


источник
8

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

И это имеет смысл только: «вилки» по своей природе являются потенциальными конкурентами, в то время как «тематические ветки» - по крайней мере, по замыслу - должны быть в конечном итоге объединены / внесены обратно в проект.


источник
5

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

Затем создайте свою вилку. Конечно, вы ответственный разработчик, поэтому вы ставите весь код под контроль версий. Используйте Launchpad или SourceForge или Google Code или что-то еще.

Какое-то время лежите тихо и работайте над этим самостоятельно. Затем попросите кого-нибудь, кому вы доверяете, «взглянуть» на то, что вы создали. Тогда еще один кто-то. Через некоторое время создайте простой веб-сайт проекта, где бы вы ни находились.

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


Re комментарий codelogic:

Правильно; Я предполагал, что люди, которых ОП хочет оставить, не способны самостоятельно поддержать проект.

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

Однако в открытом исходном коде иногда правда, что ни у кого нет воли, таланта и времени для запуска проекта без основателя.

Билл Карвин
источник
ИМХО, последняя часть вашего ответа слишком самонадеянна. Нередко популярный проект просто теряет активность из-за разветвления.
Предполагая, конечно, что рассматриваемый проект не был в первую очередь работой одного разработчика, который решил раскошелиться.