This is the usual, but valid, argument that as apps move to the cloud, we get a new kind of vendor lock-in.
The first step you can take is to use the Affero GPL instead of the old GPL:
"... version differs from the version of the GNU GPL on which it is based in having an additional provision addressing use of software over a computer network. The additional provision requires that the complete source code be made available to any network user of the AGPL-licensed work, typically a web application."
This doesn't solve all problems, as it doesn't cover software developed from-scratch by the big players.