We're all familiar with the Java package name convention of turning the domain name around. I.e. www.evilcorp.com
would, by convention, chose to have their java packages com.evilcorp.stuff
.
Increasingly I'm getting fed up with this. As a commercial programmer, I encounter time and again that the software package name is completely irrelevant due to some rebrand, acquisition or similar.
In the opensource world there's less name changes so there it makes sense. However it seems to me the shelf life of many pieces of (commercial/internal) software are much longer than that of the organisation making them.
The problem is often made worse by software projects taking the marketing department's lead to use the name du jour they use refer to a certain project. A name that will, without fail, change 3 months down the line to make the emperor's new clothes feel fresh and new.
Because of this, I've mostly stopped using the reverse domain as package name. Granted, if this is done on a large scale, there's risk of name collisions, but surely this is mitigated by either using "unique" software names, avoiding generic words, or use the reverse domain for projects intended to be sold/released as libraries.
Other thoughts?
We're all familiar with the Java package name convention of turning the domain name around.
- um..no we're not... :)com.java.etc.etc
. Apache (at the site Apache.org) names their packagesorg.apache.etc.etc
. You see the pattern.