Эстебан, сделай эти шаги: я буду говорить на языке Mercurial, но все это можно сделать и в git.
- клонировать свой проект
- сделать вашего клона их проекта подпунктом в вашем проекте
Это дает вам лучшее из всех миров. Вы можете редактировать код в своем проекте и их проекте, не обращая внимания на то, что есть, и когда вы фиксируете изменения в своем коде, идите в репозиторий вместе с указателем на новый набор изменений в вашем клоне их проекта. Затем, когда вы захотите обновить свой клон своего проекта, вы можете сделать это на месте и просто объединить.
Так что это в значительной степени то, что вы сказали в '1', но нет необходимости делать форк или хост, который делает репо публично. Просто отредактируйте их клон в качестве вложенного репо вашего проекта и никогда не нажимайте (что не сработает, так как у вас нет прав на запись в их репо).
Основной недостаток вашего второго варианта заключается в том, что по мере того, как они изменяют и улучшают свой проект, от которого вы зависите, у вас будет трудное время вносить свои улучшения и объединять их с вашим.