Obviously, you don't know what GPL is. Please read and understand it.
GPL like a pac-man , you must open your source once you use GPL
source code unless you use it "as-is" and distribute your program
independently.
Gemini can't do any extension without modifying the CVS source code
which is totally GPL licenced. In fact, Gemini change many aspects of
CVS in order to achieve those extension. So you do change GPL code,
and change it heavyly because you can't distribute your program
without enigma like plugins. These modification and tightly
distribution is prohibited by GPL totally and clearly without a fully
open of your source.
As to ATI linux driver, it just use linux source code as interfaces,
these interfaces don't be binary just for history reason, and more
important, it can be distributed independently. This kind of closing
source code is permitted by GPL.