By now many are either familiar with Skyhook Wureless or have seen a demonstration of the service they offer. They provide cell tower and network based location information for mobile phones and portable computers (the iPhone uses Skyhook for its data provider). I came across an alternative to Skyhook Wireless that is open source named OpenCellID (http://OpenCellID.org). The concept is fairly simple, run the client on your phone and as you move from tower to tower your phone contributes to the database. If you write an application that makes use of location services you can make use of OpenCellID to get location data if a GPS signal is not available.
Unfortunatly the client for updating the database is JavaBased, so as much as I would like to I won't be running it. But the service itself is web based so any application can make use of the data.
Update [12/26/2008] - Update, looks that I will be using it. Though it is not a proper service proxy I've managed to create something that allows me to interact with the service from within a .Net application.