Based on five design principles extracted from a survey of location systems, we present the Location Stack, a layered software engineering model for location in ubiquitous computing. Our model is similar in spirit to the seven-layer Open System Interconnect (OSI) model for computer networks. We map two existing ubiquitous computing systems to the model to illustrate the leverage the Location Stack provides. By encouraging system designers to think of their applications in this way, we hope to drive location-based computing toward a common vocabulary and standard infrastructure, permitting members of the ubiquitous computing community to easily evaluate and build on each other’s work.