I've met several Drupal companies lately and am finding it hard to believe that so many companies don't contribute back. When asked, most of them express how much they'd like to contribute back to the community, but simply don't know how to make it work financially. They feel that they don't yet have the time or resources. In other words, while they have an objective, they've consistently failed to translate it into an executable strategy. An objective without strategy, or a strategy without execution remains a dream.
At the end of the day, using cost as a reason to not to engage in community activities isn't sufficient justification, because there are also costs in not engaging in the community. Think about all the things you could do for the community: contribute to module development, improve documentation, help organize a local meet-up, or take part in a code sprint. Then, think about all the things the community can do for you: provide feedback (i.e. your employees get free training), confer visibility and credibility (i.e. your company gets extra sales), impart a sense of "something larger" (i.e. your business is informed by a strategic vision). It's fun and rewarding to work closely with the smartest people in the Drupal community (i.e. it helps employee retention). Simply put, the more you give back, the more you get back.
For many of these companies, Open Source and online communities are still new — perhaps that's why some of them are still stuck in the "standard mode of operation". It may only take a little creative thinking to begin giving back to the Drupal project in a cost-effective way.
One strategy that I've seen some companies use, is to offer all your customers the option to pay an extra 15% that is then invested back into the Drupal community. Make it a line item on your invoice, and use your customer proposal to explain (i) the value your customers receive from other contributors, and (ii) the positive impact community investment has on reducing risk, increasing maintainability, and providing long term support. In other words, make the business case for the community ROI.
That's just one example, but I'm sure there are many more. Do you have your own example? Please share it in the comments.