Guillaume Lebleu has written an insightful analysis of how to determine how or if to open source one's software. Basically, he suggests that one should segment a market into those able or interested in paying money for software, and open source accordingly:
By elaborating on the simple notion of "why giveaway something you can charge for", I developed [a methodology] to help me discuss the decision with my colleagues. The idea is to not view open source as an all or nothing strategy, but rather as a marketing technique to segment your market and maximize revenue, except that in the open source case, the revenue is mostly intangible.
He then proceeds to move beyond the overly simplistic "Don't charge small companies, do charge big companies" methodology to introduce a third component: Those who have no budget to spend but can provide other value. It's a useful thought, and one that jibes well with Fabrizio's contention that one should not upsell a community.
As MySQL is demonstrating, more thought needs to go into open-source licensing models for commercial open-source vendors. It's not just a matter of selling support.