Communication in heterogeneous multi agent systems is hampered by the lack of shared ontologies. Ontology negotiation offers an integrated approach that enables agents to gradually build towards a semantically integrated system by sharing parts of their ontologies. This solution involves a combination of a normal agent communication protocol with an ontology alignment protocol. For such a combination to be successful, it must satisfy several criteria. This paper discusses the goals and requirements that are important for any ontology negotiation protocol. Furthermore, we will propose some implementations that are constructed according to these criteria.