All work that is contributed to GNUstep must be assigned to the Free Software Foundation (FSF). This means that the FSF has the copyright for (i.e. owns) the code that you contribute. First send an email to assign _at_ gnu _dot_ org saying that you would like to contribute to the GNUstep project and give some information like your physical mailing address. Within a few weeks you will get some papers to sign and send back. Please also send a message to Adam Fedor (fedor _at_ gnu _dot_ org) as well so we know you are starting the process. Ask Adam if you have any questions.
Once we receive the assignment, we can accept you code into the repository. Or, even better, we will give you write access to the repository so you can start improving GNUstep as much as you want!.
Many times, it can take a long time to get an assignment finished off. In some cases we can start accepting patches before we receive final approval, so that you don't have to wait so long to start contributing. Please talk to us about this.
Well, no, not in the legal sense (although you will still be acknowledged as the author of the code). But as part of the assignment, the FSF gives you the right to use the code you contribute as you see fit. You can even use your code in proprietary programs or release it under a different license if you like (but only your own code, not any other GNUstep code that it is a part of).
No, only the code that you actually contribute to GNUstep. That is, the code that is actually put in the GNUstep repository, not just anything you happen to write and post on a web site.
Here's some more information on your options for contributing to GNUstep.