We use git (bitbucket) internally at my company to manage code development. We trust each other, so we branch and merge back to master as we see fit following the procedure laid out in my earlier post. But managing an open source project with developers you do not know is a little different.
I’m using github to manage an open source project. In that environment, I add Collaborators (under Settings tab) to a project to give them full privileges to branch and merge back to master as they see fit. I can ask people to use the Pull Request feature but there’s nothing stopping anyone from merging back into master as they see fit or just developing directly on the master branch and pushing changes in.
In an open source environment though, we may way more control. As such, we should allow people to fork our project. When they want to merge their fork back, they must submit a Pull Request at which time I can verify the changes.