Repository 1 (R1) is public and contains Ansible roles (if you don't know Ansible, it's fine, it basically contains code).
Repository 2 (R2) is private and contains Ansible playbooks (if you don't know Ansible, playbooks are basically combinations of the roles from R1 to do something).
Right now, R2 (private) has R1 (public) as a submodule. However, I need to be able to create branches on R2 (private) that are, essentially, feature branches. The problem is that the code changes actually need to take place on R1 (public), but I can't branch R1 (public).
Can I make R2 (private) a fork of R1 (public) and then use pull requests to merge changes back into R1 (public)? Is there a better approach I'm not considering?