Open Source Routing Machine
The Open Source Routing Machine or OSRM is a C++ implementation of a high-performance routing engine for shortest paths in road networks. Licensed under the permissive 2-clause BSD license, OSRM is a free network service. OSRM supports Linux, FreeBSD, Windows, and Mac OS X platform.

Overview
It combines sophisticated routing algorithms with the open and free road network data of the OpenStreetMap (OSM) project. Shortest path computation on a continental sized network can take up to several seconds if it is done without a so-called speedup-technique. OSRM uses an implementation of contraction hierarchies and is able to compute and output a shortest path between any origin and destination within a few milliseconds, whereby the pure route computation takes much less time. Most effort is spent in annotating the route and transmitting the geometry over the network.

Since it is designed with OpenStreetMap compatibility in mind, OSM data files can be easily imported. A demo installation is sponsored by Karlsruhe Institute of Technology and previously by Geofabrik. The screen shot image shown is since September 2015 out of date with loss of attendant routing service features.

OSRM was part of the 2011 Google Summer of Code class.

Features

 'Click-to-drag' dynamic routing, in the manner of Google Maps
 Alternative routes
 Free-to-use API
 Free and open-source under the simplified two-clause BSD license

See also
 GraphHopper

References

Further reading

External links
 Project homepage
 Demonstration from the project's homepage
 
 

Free software programmed in C++
OpenStreetMap
Route planning software
Web mapping
Software using the BSD license