Furthermore, as far as I understood, it would be impossible to change the Linux kernel license today because of the large number of people involved (also because some authors are dead now).
Relicensing linux is not an option, whether you believe GPL is good or not.
There are solutions to this, but you have to act in advance: for example if you want to contribute code to the clojure open source project, you have to sign and send by snail mail a contributor agreement (http://clojure.org/space/showimage/ca.pdf) which regulates the ability of the project funder some freedom in relicensing.
btw, this formality, especially the printing and snail mail thing, actually stopped me from contributing my code to clojure-contrib. You know, I just wanted to quickly share a bugfix, I don't know in advance how much involvement I will have with something which starts only as a side effect of my job
furthermore since I made the contribution during my daily job, my company itself would have to sign that contract etc etc, licensing some stuff with GPL is one thing, granting unrestricted sublicensing right is a different issue ...