One of the main features GitLab has is a self hosted version, you may not need the feature just yet.

GitHub is mainly set up so you can't break things. You don't change a project's code directly but instead make your fork (a copy) where you make a change. Then you propose the change back to the main project for review, this is called a Pull Request (PR).

If the project maintainers have time they will accept, reject, or give you feedback on your code.

It's fun to contribute to an open source projects, but it can be discouraging to have a rejected. So I would advise doing some planning first. You can look at previous pull requests to make sure that the project is active and that they want community contributions. You can also look at the readme, code style, and any contributor guides. Finally you can make an issue to ask if they want a particular change.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence