Re: Ignoring the big issue
> agree not to redistribute GPL source code
Nobody has the right to redistribute source under the GPL. More "permissive" licenses are not copyleft thus its a non-issue, RH can do what it likes with those and everyone else can too. Only the GPL uses copyright in the form of "copyleft" to provide source code.
BUT, you only have the right to source code if you have the corresponding binary. Never the other way around. The GPL makes sure that you can get the source for the binaries you have.
The GPL protects your rights to distribute binaries, and anyone getting it from you also get those rights.
Thus RH gives the customer binaries, as they paid for access to said binaries they have source code access. If they leave the support agrement, the GPL states they still have rights to the source from RH, but ONLY for that binary, thus not a future version. If they want a new version, they must re-subscribe.
A customer of RH has rights under the GPL to distribute binaries, but RH can terminate the support contract should they do so, they may not bother to do so, its up to them. The former customer still has the binaries and still can get source for those versions, but no support contract. They may be former customers but RH cant stop them running GPL'd binaries they already have. Like I said for the non-copyleft licenses, RH could stop them running those, and the customer has no right to source code for BSD code etc anyway.
Anyone getting the binary from the customer, should the RH customer distribute it, also gets the right to the source code for THAT VERSION from RH. Now, RH will want to muck about and play silly buggers with granting source access to former and non-customers but they have done so before and that would be a GPL violation. But remember, you only have the right to the source for THAT BINARY YOU HAVE.
There is no provision in the GPL for redistributing source code. It concerns itself with distribution of binaries and giving access to the source code. Thus RH are well able to tell the customer NOT to distribute the sources, even if the customer distributes the binaries it is RH that must give access to the source.
The GPL allows access to the source because it allows you to modify and study the code. Should the custmer modify a RH binary, then distribute it, THATS when they are responsible to grant access to the modified source when REQUESTED.
Baiscally its this:
1. You get the GPL binaries from RH.
2. You only get that with a paid for contract.
3. You get the sorces for that and future versions easily.
4. You want to leave the contract? OK, no future versions or updates for you. Good luck. You want the source? Well you have that right and we might play silly buggers etc.
5. Or you want to distribute the GPL binaries? Go ahead, but we RESERVE the right to cancel the contract should we decide to do so, thus see point 4. You are not being stopped, just asked to decide to follow the rules of the contract or not.
6. Anything not GPL'ed may or may not be, now or in the future, legal for you to run or distribute, such is the freedom we (RH) are given by these permissivle licenses, sorry about that.
If anything this shows that there are great ways to make money off Free Software, gone will be the days of people crying out that it cant work, well here we are. And also it shows just how horrible persissive licenses are as the GPL protects you and your rights even when you are out of contract with RH.