Skip to content

Why are namespaces tied to DNS (or repository hosts)?⚓︎

Question⚓︎

If I want to publish to Maven Central, why do I have to prove ownership over a domain name or a repository host account beforehand? If a namespace is not claimed, why am I not able to claim it directly?

Answer⚓︎

Namespaces perform many important purposes for Maven Central. Primarily, they allow publishers to develop a collection of associated libraries and present them to users in a way that makes it clear which libraries are first-party and can be expected to inter-operate smoothly. Relevant to this question, namespaces serve as brand representation of existing projects and organizations. For example, users can expect that anything published under the org.apache namespace was published to Maven Central by an authorized person from the Apache Software Foundation.

We have historically delegated the original responsibility to DNS providers and repository hosts. Our logic is that if someone is able to act on behalf of an organization to such a degree, it is very likely that they are also authorized to publish to Maven Central. If a third-party were to misrepresent themselves as an organization and if we did NOT have these controls, the authoritative organization could submit a trademark/copyright violation notice to us asking for the removal of components published without valid organizational permission. As the Central team has limited time and resources, we would have to divert our efforts from continue improving the experience for both our publishers and the community at large to handle these kinds of requests.