The purpose of a license is to grant rights under conditions to those who would otherwise have no rights to use or modify the software at all.
As the copyright owner, you already have full rights to use the code you wrote the way you want, so you do not need to enter a license agreement with yourself to gain rights that you already have. And so you are not subjected to the license; the license is between you as the copyright owner granting rights to others who are NOT the copyright owner.
As far as public contributions to the GPL'd code (such as Neo4j Community Edition), usually there are agreements that are made (contributor license agreements or copyright transfer agreements) prior to merging the contributed code that resolve issues of relicensing and usage.
This answer on StackExchange provides some good detail.
https://opensource.stackexchange.com/questions/2077/so-the-g...