Context-aware applications pull data from devices spread throughout the environment to power novel applications. The literature focuses on how to organize data streams and hardware to complete goals for a single interest, but it ignores the agency problem when devices are owned by multiple parties. We believe that the traditional view limits the usefulness of ubiquitous computation. An individual user may not have enough devices on hand to complete her tasks, but a population of users can share informational and computational resources to harness greater functionality. We investigate service sharing among self-interested agents with hard constraints in a ubiquitous computing environment. An application might require several devices, owned by multiple parties, to expend capacity to complete a user's task. A device that donates service to others builds a reputation for service and an expectation that the service's consumers will return favors in the future. The interesting features of this interaction is that efforts made by devices are complementary, and that devices' utilities are uncorrelated. We pose the problem as a two-person repeated game and analyze several strategies.