Yeah, it's the "nobody is ever going to pay for bash, vim, top, netcat, ..." problem.
Apple has found a good middle ground though. Pay developers millions of dollars internally (infinitely growing stock) then they release what they work on as open source code. It solves the (reasonable) compensation problem for individuals while letting new software spread purposefully throughout the world.
We're just missing a middle ground where you can write open source software while not being owned by the most valuable company in the world.