That may work for small code modifications to core modules, but doubt many professional developers would do so for modules they created themselves.
It is more common for developers to retain their rights, and even if the client paid to have something custom developed to only grant them a license.
Why?
Well, it prevents the developer getting sued, if he ever does a similar looking project for another customer.
Would personally rather see that Blesta stopped using their own propitiatory modules for things like handling payments, and switched to using something more standard like the Omnipay library.
There is no way Blesta or any other billing system can properly test modules for gateways they are not using themselves. So using something used by more projects makes sense.
And yes, that would mean the competition could use the exact same set of modules. But so what, find something else to compete on...