Consider the space we're in. For game development you're going to have a lot of developers with a lot of different ideas about how to make a game, all utilizing the same engine. If the engine doesn't come with a feature I need, I'll probably have to code it myself, but seeing as the whole purpose of me making this feature is for my game, then it makes sense that I should be able to keep my game's feature private/proprietary without the need to push that feature back to engine which might not even want my feature to begin with. This is why GPL is not a good choice for game engines.
GPL doesn't require you to push a feature/change/etc back to the engine devs, it only requires you to make it available to others. You can just keep your changes in a ZIP file alongside your game's data - which is what a bunch of games built on the GPL releases of id Tech already do.