More realistic market...
In reply to the comment about 11,000 lines of code... Sure, kernels years ago were smaller, but a LOT of that code in linux is driver code required to support all kinds of different hardware and several entirely different architectures...
As for aiming towards $1 billion companies, is that really a good thing?
For one thing the current software market is unrealistic, economies of scale mean that by the time you've sold a few thousand copies all of your investment has long since been recovered and you could churn out additional copies for $0.01 and still make a profit. Sooner or later the masses will wake up to this and demand lower prices.
Also consider, when you have huge companies they become too powerful, and use their power to distort the market - ultimately to the detriment of customers. You also get situations where companies are "too big to fail" and end up receiving bailouts from the government... Companies like this make massive profits one year, which go into the back pockets of those high in the company who jump through whatever hoops necessary to avoid paying tax on it, and the following year they don't do so well and take money from the taxpayers... Privatised profits, nationalised losses...
So companies staying small, and having to compete on an open market against other small companies is a good thing.