Почему пакеты в java принято называть в обратную сторону доменного имени?

1,00
р.
То что это делать надо именно так, везде написано. Но почему люди договорились называть именно так? Может быть в этом есть какое-то неочевидное удобство?

Ответ
Уникальные имена в глобальном масштабе исключают конфликты имен между библиотеками из разных источников. Вместо создания новой центральной базы данных глобальных имен используется реестр доменных имен.
Java Language Specification (JLS):
The suggested convention for generating unique package names is merely a way to piggyback a package naming convention on top of an existing, widely known unique name registry instead of having to create a separate registry for package names.
Представь, что у тебя есть например четыре важных пакета и ты напишешь их так:
package controller.mysite.org package model.mysite.org package service.mysite.org package dao.mysite.org
Это означает, что существует основной пакет, подраздел которого относится к твоей компании (имя твоего ресурса), а подраздел этого пакета называется пакетом org, который ты фактически используешь и он есть уникальный. Но если написать так:
package org.mysite.controller package org.mysite.model package org.mysite.service package org.mysite.dao
Эта запись имеет больший смысл. Из всех пакетов из организаций (org) ты, смотришь на имя своей компании, и у нее есть четыре подпакета: controller, model, service, dao.