Firstly, "geocoding" is the name of the task you're trying to achieve (might help with future Googling).  The <a href="http://geocommons.com/help/Geocoding_Data">Geocommons geocoder</a> is one example of an open-data-driven geocoder; I think they mostly use US Census data.

(As that example illustrates, a lot of this kind of data is country-specific, so a bit more detail in your question may produce better results.)