Quick question: I would like to publish a software under a self-written BSD-like license, and under the GPLv3. So far so good.
If somebody would fork said project according to the GPL, I would, in my understanding, have the right to use the code of the fork as GPLv3 in return. But I would not have the right to use that part in my BSD-version, even if my software is still available as GPLv3, am I right? So I would have to disable features I got from the fork.
So, what if I would only license my software under the GPLv3, provided that they too would let me access this fork under a BSD-style-license? I would not modify the GPL license per se, just add a condition to the header, like that:
Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3 as published by the Free Software Foundation. Additionally, if you choose to use (part of) this program in you own works, you grant me the right to use the source code of the program under -my BSD-style license-.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
The clause is of course not water-proof, but I think you get the idea.