Some additional recommendations:
* Start with small changes, in case the maintainer doesn't like it.
* Bug fixes are good starting points. New features may be in the roadmap of the maintainers or in the opposite direction.
* Remember that bug reports with clear reproduction steps are very helpful too! You can take a look at the fix and get some ideas about how to fix a similar problem in the future.