GPL allows to charge for copies of software (binary or source),
it obligates the distributor of the binaries to also provide source code,
the source code purchase/transfer price may not be higher than that of binary form,
the receiver of binary copy(client 1st rank), and then source, receives the right to distribute the binaries,
but he(client 1st rank) is not obligated to do so (for clients of nrank),
but if he(client 1st rank) distributes the binaries (for clients of nrank), targeted or public manner, he is also obligated to supply source,
the original distributor may not use any NDAs, restrictions etc on price and will of the binary/code receiver (client 1st rank).
Pay attention, GPL3 disallows copyright holder (distributors) to withdraw the license to use his work.
GPL2 does not disallow it. Linux is stupidly not GPL3, so the developers may withdraw license everywhere.
Also, because of the protection, there is no need for any CLA/Copyright assignments for GPL3 projects. As submitter may not revoke the license, but at same time, the client nrank may not remove copyright of submitter.
GPL3 also provides patent trolling protection (GPL2 not) and tiviozation protection(GPL2 not).
Overall, this case shows how stupid the decision was to limit Linux with GPL2.