I'm a developer that's making open-source projects, this ranges from little Java libraries to my personal websites. In the future, I'm hoping this will include games.
Generally my libraries are under the Apache 2.0 license, while websites / applications are under the GPL/AGPL 3 license.
I've been reading into copyright and licensing recently and have learned that all contributors retain copyright of the contributions, and that if I hypothetically wanted to change license later I would need all copyright holders (contributors) consent to do so.
I generally don't have problems with this, but I've been thinking it could be nice if people wanted to voluntarily hand over copyright for their code they should be able to do so. It could reduce future headache should I ever want to change license, or update to a later version of the existing license.
Is it normal or at least appropriate to make an optional CLA, where anyone can commit, but they can optionally sign the CLA and send it in which may reduce the number of "owners" and require less copyright holders to consent (or have to remove contributions) from should I ever desire to change/update license of the project?
This seems optimal to me as it grants contributors the choice to hand over copyright while not obligating them too just to support the project, but I've failed to see such a thing done on another project which has concerned me.
Edit: I apologize for my ignorance, I also see now that a CLA does not pass copyright, but rather acts as a non-exclusive copyright license. However, I think this question is still valid, just correcting this statement.