So far, the best answer to How can open source companies make money? seems to be that of providing services - typically training, support and general consultancy. There's another approach, involving dual licensing, but this is more problematic in some ways, and there's also evidence that it may only be a transitional approach on the way to a full service model.
Against this background, Irving Wladawsky-Berger has an interesting post on his blog about services, beginning with this observation:
If you look at IBM's business last year, services revenues were roughly 55%, while systems (hardware) and software revenues were around 25% and 20% respectively. But services constituted around one-third of the company's profit, for a very simple reason. Systems and software products leverage technology assets and apply engineering principles to improve quality, scale-up capacity, and achieve higher productivity and profit margins. Services, on the other hand, have historically been significantly more labor-based, less prone to economies of scale, subject to higher quality variations, and generally less productive and profitable.
Services - and analyses of them - will clearly be moving to the foreground in years to come, and not just in open source. The latter will, however, be a trailblazer in this respect as in many others. Another reason for those outside the world of free software to pay close attention to it.