IMO the general understanding had been that you could charge but had to share code with the people you distributed to, but they were free to re-share it. Red Hat punishes customers who do this and even generally reserves the right to sue them, which seems pretty anti-GPL.
The re-sharing was always a risk of trying to sell GPL software and requires a compelling reason why your product is better than the alternative to attract customers.