In Iceberg you currently can:
1) Download a project using metacello github:// protocol
2) Use Iceberg to make it "writable" (i.e. transform it to an Iceberg repository, pointing to the same remote repository), this is just one step.
3) Commit and push using the new repo, etc.
What it is not done yet is the integration with github (or whatever) fork/pr capabilities, it is in the roadmap but not just now because those are not standard git operations, so it will involve communicating directly to the github rest api (and others, we will not be attached to git nor github).
So you should add two extra steps which are forking and pull requesting from outside Pharo (or requesting access to the respository to commit right there).
This should be a normal flow for contributing to a tool you are using, right now is partially supported to be done from a git(hub) repository, I intend to extend it to be done also from tools installed from smalltalkhub, etc. Should be the same thing.
About the discussion between commits and PRs... I've seen both models working right, I think that both have their advantages and I would like to build tools to support both schemas. Personally, I prefer to give people the possibility to commit, but even so I am used to work with PRs, because it really helps the code review. Yes you can have your own branch, and I can see the changes introduced by any commit, but usually is a PR that moves people towards looking to the code, and I think that it is a nice model that works well in practice.��
In other projects, you have to fork, commit there, then PR, if two people want to work together in an issue is not obvious how to do it... it adds more bureaucracy, it might be necessary for a large project like Pharo, but normally I prefer to avoid it.