Comparision Google services - OSM
First of all we must remind ourselves of the fundamental difference between OpenStreetMap and Google...
Open access to raw underlying map data
OpenStreetMap is an open data project. We release maps in their most raw form, for free with an open license. The raw underlying data data which makes up a map, is known as "vector" data. The coordinate positions of roads, classifications of linear and point features (Elements)
This is hugely powerful. Developers (in large corporations, or in universities, or in bedrooms) are offering a exploding range of exciting products, services, and experiments which would simply not be possible without access to raw map data.
There is a tendency, even among technical developer communities, to focus on downstream map services (particularly the rendered view of the map) as such, Google maps is widely regarded as a very open mapping platform, but there is a growing realisation that raw map data, and the ability to download the entire Planet.osm can unleash a new wave of innovation not possible on google's restricted platform. That is the point of OpenStreetMap.
Nonetheless downstream services are important (particularly if a massive XML file is of no interest to you!) OpenStreetMap has downstream services echoing many of those seen within google's offerings. Some are provided on "core" OpenStreetMap Foundation funded servers, however most are provided by third parties as part of growing ecosystem. There are also many exciting and innovative map related services which have no parallel within google's offerings
The view of the map is a "downstream" service
The view of the map is a "downstream service". The map is generated through a process called rendering which is a one-way conversion, "vector" to "raster". Various style choices are baked into the image and it is chopped up into many square images called tiles, which are then served as a tiled map service out to the web and to mobile devices. This is the case in both OpenStreetMap and Google Maps.
You can make a direct comparison between Google's tile service and OpenStreetMap's tile service. OpenStreetMap's default map style is quite similar to Google's. It shows some interesting features exhibiting our unique data set, rich with locally gathered information in some areas. Some find the style too cluttered. In fact it's designed this way (at least partly) to show and encourage contributions from mappers. Our tile server (a single machine in a cupboard) renders map tiles on-the-fly, allowing contributors to see their changes on the final map within minutes. This is quite a technical feat, and something you don't get when contributing to Google. Meanwhile Google's tile service runs on many powerful servers in worldwide distributed data centres. Although we do benefit from a fast university internet connection (thanks UCL and Imperial College!), perhaps we're not going to out-do Google in terms of server horsepower any time soon. This might mean that our tile service is a little slower than Google's (see if you can notice the difference. It's not very noticeable most of the time). BUT.. All of this is missing the point...
The view of the map is a "downstream service" built on the underlying data. In the case of Google there is no reason you would be aware of this. The underlying data is hidden away. A closed-data system. In the case of OpenStreetMap, anyone and everyone has access to the underlying data, and anyone can run their own rendering and tile serving systems using free open source rendering software. In truth, running a popular worldwide on-the-fly rendering service will require a powerful server and fat bandwidth. This may not interest you if you just want to view a map, until you consider the nature of the open data ecosystem that OpenStreetMap is creating. There are an increasing number of other providers all running their own tile services and configuring custom rendering styles. See for example MapQuest OSM tiles, thunderforest.com, and MapBox. There's nothing unique about the "main" OpenStreetMap tile server. Although we are offering a tile service... it's not really the point.
Other downstream services
Google offers a raft of other services nicely bundled up as part of "Google Maps". Very slick. Very tidy. Very corporate. All of these stem from Google's underlying geodata. Did we mention that this is kept closed?
OpenStreetMap gives developers access to the data. In particular we offer all the data as a single Planet.osm download, and Planet.osm/diffs allow a tool to keep in sync with changes to the map every minute. It is usually these facilities which get used by developers. OpenStreetMap has a rich and varied (and perhaps a little confusing) developer ecosystem, with involvement from students and bedroom coders alongside companies large and small. All of their creations can be thought of as "downstream services" sprouting forth from the open data. Among these are some services which have parallels in the Google Maps arena. For example an open source developer created a tool named Nominatim which consumes raw open data and provides search functionality. The open development and running of this service is now funded by a company, Mapquest, and it is this which powers the search box on the OpenStreetMap homepage. How does Nominatim search compare with Google Maps search? Try it for yourself, but remember... it's not really the point.
The point is that OpenStreetMap is open in ways Google will never be. With access to the raw data the developer ecosystem (particularly with the help of some forward thinking companies) can start to offer services matching those of Google, or perhaps more interestingly, services like Overpass API which present filtered map data in a way which Google never will.