Current sharing-based applications combine new computing devices with smart spaces to provide content-level ubiquity, i.e., the possibility to exchange and move content freely in a ubiquitous environment. However, due to the environment complexity and lack of infrastructure platforms, most of the work in the area is repeatedly built from scratch using raw techniques, such as socket and rpc, to express content sharing. Aiming to provide an infrastructure for the development of this kind of applications, we propose Content Sharing for Smart Spaces (C3S), a middleware that offers a high-level programming model using primitives that are based on a set of content sharing semantics. They express a set of behaviors, move, clone, and mirror, which serve as a building blocks for developers to implement sharing and content ubiquity features.