Firstly, "geocoding" is the name of the task you're trying to achieve (might help with future Googling). The Geocommons geocoderGeocommons geocoder 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.)