To answer the first part of your question: Yes.
Can they clone? Yes, they can clone any public repository.
Can they create branch? Yes, they can branch any cloned repository.
Can make changes? Yes, they can branch any cloned repository.
Can do tests by rebasing on top of the current working branch? Yes, developers using git usually checkout the branches they are interested in editing before they start to work, and then generate commits on top of that, no need to rebase (yet).
Can they send pull requests? GitHub lets them create pull requests.
Then, you can either merge the pull request or reject/delete the pull request.
As GitHub documentation describes, Approvers (devs with write permissions on the main repository) can either merge the pull request from the web, or checkout the pull request and work on it (modify it, rebase it, whatever you like) and then push the accepted changes.
To answer your second part: IMO this is a good way to receive code contributions from other professionals on the internet.