OSS contribution requirements are managed by the upstream projects. So in order to contribute changes to an OSS project the corresponding requirements of that project remain valid.
The link list below provides pointers to the contribution requirements for a few OSS projects:
As a short summary, keep in mind to have the following correct (details are all project-specific):
- license agreements is valid (between developer/employer and project)
- coding style matches (many projects have scripts that can be used to check a patch)
- patch size is appropriate and not too large (use more patches of smaller size instead of a single large patch)
- commit messages (headline, body with what? and why?, additional information as needed by project)
- tests (all code must be tested to save your future self and other time)