Re: What are com.blah or org.blah?
Chris Uppal wrote:
It makes no difference how you name your packages if they are only used within
your own organisation (living room, whatever). The only constraint is that
you avoid "inbound" clashes (as it were) which you can do by, say, putting all
your stuff under "local" (local.mystuff.whatever) since "local" isn't a TLD and
is unlikely to become one. If, on the other hand, you /do/ want to make your
code more generally available then you almost certainly are going to put it
somewhere with an associated global URL -- in which case you can use that for
the root of the package names.
In fact, the use of non-standard TLDs solves the "people's rights against the
fatcat capitalists!" rave. You only have to pay for domains under ICANN
hegemony, and then only if you intend them to be visible on the 'Net. You are
not forbidden to use, say, 'com.exxon.whatever' for your own package names,
except insofar as you publish them in a way that conflicts with someone's
intellectual property or trademark rights.
But 'folk TLDs' avoid even that problem. You could even use your name itself
as a domain:
doe.john.m.somepackage
or we could as a society agree that 'local' or 'indiv' or some such is the
global free TLD, and just risk collisions. After all, if by some fluke both
John M. Q. Doe, IIIs wrote Java(tm) code, what are the chances that their
package and class names will collide in the same project? If it did in my
project, I'd probably contact both Does to ask their help.
package indiv.doe.john.m.q.iii.somepackage;
- Lew