I am an advocate of OSS, and I also think a programmer should keep some rights over their code. Some of the best OSS projects keep all the code in one location, allow you to download it, and if you find something you can fix, you submit a patch and get credit for your addition to the code, but at the same time, the author still has control over the code.

This works wonderfully untill the author for some reason, takes a break. I personally intend to do any software I release this way.