I feels as though the world has soured on the GPL in recent years, but whenever I see this type of sentiment—that open sourcing work is just a gift from small developers to big tech companies, or something thereabouts—I think, wouldn't the GPL solve that problem?
Sure, big companies can still use GPL'd code, but they're forced to give back as much as they take, which is exactly the outcome you want.
(This doesn't necessarily apply to the situation with AppGet, however.)
Perhaps a variant of CC-BY NC would be better, but it is not tailored to code.
AGPL addresses that by putting code distributed as a web application in the same category as compiled code.
GCC is written specifically to prevent this sort of firewalling of the compiler to prevent it from being plugged into another piece of software and avoid GPL requirements.