- Build a community around a specific free thing.
- With that community’s help, design some products that people want, and return the favor by making the products free in raw form (source code).
- Let those with more money than time/skill/risk-tolerance buy the more polished version of those products. (That may turn out to be almost everyone)
- Do it again and again, building a 40% margin into the products to pay the bills.
(Adapted slightly from The time/money formula of free).
That pretty much summarizes the business model for sleepycat, MySQL, etc. You could also call it the “provide free lunch for volume, with a fractional but large up-sell” model.