It involves making code changes/bugfixes, implementing new features in such a way that it can be contributed and merged upstream. This will also require constant communication with the upstream to ensure that the code quality is excellent.

How and why is this useful?

(8/n)