The customers for a particular open source product generally identify themselves: they search for the product in a directory of open source software, and then they download and test the software. If tests are successful, they deploy it. Thus they gain a continuing interest in the product. At that point if they desire additional features to the product, they have an incentive to become co-developers of the software they are using.
The companies that join open source collaborations are seeking to use the software in a non-differentiating, cost-center role. Their profit-centers are things other than software, and software is for them an enabling technology. In order to continue to operate their profit-centers, they must make some investment in their cost centers. In the case of differentiating software, they have little choice but to make use of the in-house or contract development paradigm, because they need to prevent their differentiators from falling into the hands of their competitors. For their non-differentiators, they have the choice of the retail or open source paradigms.