That's a complicated question!
It's a controversial topic, but my views on it start from the belief that good quality, usable data takes effort to create. That effort can come from volunteerism in the form of crowd sourcing, say, as in the case of Open Street Maps; but only where it's possible motivate and engage a sufficient pool of volunteer capability. Everywhere else, the effort costs money.
(The effort might be required to improve data quality; to deploy computing infrastructures that make it available at high speed or high volumes; to add explanations and tools that help end users understand and use the data; or for any number of other purposes).
That's where we run into the paradox of open data: if the purpose of open data is to stimulate the unexpected (innovation); how do you quantify its benefits in order to justify investing time and money?
I've seen two approaches that are making progress that don't simply rely on the volunteerism approach or on a single organisation taking a "leap of faith" and making an individual forward-looking investment:
- Share an initial investment in a basic platform between organisations with shared objectives; and gradually use the proceeds of early successes to expand the platform; whilst consulting with the end-user community to understand their priorities for what should be done next;
- Exploit shared regional Cloud platforms so that information or a related tool deployed to provide benefits to one organisation can be made available at low cost to other organisations - I describe this idea in more detail in this post on my personal blog - http://theurbantechnologist.com/2012/02/02/how-to-pay-for-a-smarter-city/
There may well be other approaches, perhaps others in this community will comment and suggest them,