Multi-Agent Systems (MAS) where the agents are developed by different parties and serve different interests, are often classified as 'open'. The specification of open MAS is largely seen as a design-time activity. Moreover, there is no support for run-time specification modification. Due to environmental, social, or other conditions, however, it is often required to revise the MAS specification during its execution. To address this requirement, we present an infrastructure for 'dynamic' open MAS specifications, that is, specifications that may be modified at run-time by the agents. We adopt a bird's eye view of an open MAS, as opposed to an agent's own perspective whereby it reasons about how it should act. The infrastructure consists of well-defined procedures for proposing a modification of the 'rules of the game', as well as decisionmaking over and enactment of proposed modifications. We evaluate proposals for rule modification by modelling a dynamic specification as a metric space, and by considering the effects of accepting a proposal on system utility. Furthermore, we constrain the enactment of proposals that do not meet the evaluation criteria. We employ the action language C + to formalise dynamic specifications, and the 'Causal Calculator' implementation of C + to execute the specifications. We illustrate our infrastructure by presenting a dynamic specification of a resource-sharing protocol.