OPEN is an ontology-based programming framework for rapid prototyping, sharing, and personalization of context-aware applications. Unlike previous systems that provide programming support for single group of users, OPEN provides different programming support for users with diverse technical skills. According to the programming requirements of different users, several cooperation patterns are identified, and the mechanisms to facilitate resource sharing and reuse are built into the framework. Three corresponding programming modes are elaborated by showing how a context-aware game has been developed with the support of the OPEN framework, and the usability of our system is validated through an initial user study. Keywords Context-aware computing Á Cooperation Á End user programming Á Semantic web