It is well known that Google Maps is one of the most (or the most) famous mapping service used around the net and it starts the web GIS revolution some years ago but hopefully it is not the only API we can use. Bing and the discontinued Yahoo Maps, are great competitors but this post is related to open source alternatives you can find to create your web mapping applications.
Please, don’t confuse the API with the imagery you are using. Google will charge you by the imagery usage so if you use an alternative API but continues consuming Google tiles you are in a similar situation.
OpenLayers is probably the most famous open source web mapping project. I want to think so because two factors: first it is the older project presented on this post and second because it is the most complete and, because this, the most complex.
OpenLayers is close to OGC standards, it separates between geometries, features and styles. You can load raster tiles layers from Google, Bing, OpenStreetMaps, etc or vector data from GML, KML or GeoJSON formats.
OpenLayers is not only restricted to spherical mercator, you can use almost any projection you know (plus many others), you can load data from WMS or WFS servers and most important, you are not limited to visualise data, you can create and edit new features sending them to the WFS server.
What we mean by vector-tiled data? Since GoogleMaps everybody knows about raster-tiled layers, where each zoom level contains more tiles with more resolution.
A vector-tiles layer is similar, in the sense every zoom level has more resolution, but the data of every tile is not an image but vector data is rendered using SVG. This means you need a SVG compliant browser to use Polymaps.
Leaflet is a lightweight library specially oriented to make tile-based maps for desktop and mobile web browser.
It is really easy to use and offers the basic things everybody needs for a typical web mapping application: access to tile-based imagery, markers, popups, polygons, points, etc. Believe me, put an eye on this project, it has many more to say.
As a note, I would like to say Leaflet is a project from CloudMade and it is close to their Web Map API.
And what about imagery?
Google Maps is not the unique imagery provider and there are other alternatives like Bing or Yahoo imagery, but the question is: where can I found real open imagery I can use for commercial applications and not limited by their usage?
I think the most famous open source alternative is OpenStreetMap. Their data is maintained by the community, anybody can add data or improve it. It demonstrates its quality and usefulness in the Haiti disaster because their information was more accurate than any other provider.
In addition, some time ago there was a similar project called OpenAerialMap, currently discontinued, that tries to create something similar than OpenStreetMap but with aerial images. The problem in this case is that obtain aerial data isn’t as easy as get vector data with a GPS. If you have a plane and a good camera and want to share your imagery then contact with OpenAerialMap author.
Finally, I would like to mention one more service provider. Yes it is not completely open source, but it is close. CloudMade (yes the creators of Leaflet and other free tools) is a company based on OpenStreetMap data. Among other great tools they allow to configure the style of the tiles you can later add to your map in a similar way Google Style Maps doesn but they do some year before Google.