Вот как это работает.
1) Скачать репозиторий.
2) Создать ветку, сделать модификации.
3) Поделитесь своей веткой с разработчиками проекта с открытым исходным кодом. (есть разные способы сделать это в зависимости от местоположения главного хранилища кода)
Если им понравятся ваши изменения, они объединят вашу ветку с master или отклонят их.
Если они отвергают их, они обычно говорят вам, почему. В зависимости от этой причины вы либо внесете дополнительные изменения, добавите его в новый проект, либо откажетесь от изменений. Если причиной разработки является участие в проекте с открытым исходным кодом, вам никогда не следует сливаться с master, если только вас не спросит сопровождающий.
Однако вы должны научиться перебазировать ветку, чтобы она не отставала от master.