Specification languages are useful for expressing what a program or system should do. But what if specifications are assembled by fragments from different contributors? This is necessary in reality, where systems are under the control of several stakeholders. This paper characterises languages (by their features) that are useful for this purpose, because their users can control how they are manipulated by the contributors; they are METAspecifications.