A standard way to license something under the GPL, is to grant a license to the "GPL version 3 or later", meaning that the recipient receives a license under the license terms of the GPLv3, or at their choice any later version of the GPL.
I have been told that in the EU, or at least Germany this is impossible because the license constitutes a contract, and it's not lawful to enter into a contract that has terms that are unknown to you at the time of entering it. Is this correct?