Subject: "gnu" as Java package prefix Date: Tue, 28 Apr 1998 19:56:10 -0700 From: Per Bothner I've gotten some complaints that "gnu" violates Sun's recommendation for Java package names. Since GNU has domain-name "gnu.org", if we were to follows Sun's recommendation, we should use packages like "org.gnu.math", which would be in a directory org/gnu/math. Here is my response for why we use plain "gnu". Feel free to edit this for the GNU Java web page, save it for future use, or just ignore it. --Per The GNU movement uses plain gnu as the top package for its Java code, at my recommendation, which I stand by. The purpose of a package system is to avoid accidental clashes. There is no measurable benefit of using org.gnu instead of gnu. I refuse to be concerned over anybody who might use gnu as a package prefix without co-ordinating with gnu.org - that's their problem, not ours. Using the reverse domain name is an arbitrary convention, that uses a specific property of an organization to generate a unique name. This property is no more intrinsic to the software than the home telephone number of the principal engineer, longer to type, and almost as ugly. What happens if the domain name of a company changes, or a ownership of a package is transferred to another company? Then people will still have to change their package names. Scattering globally unique names throughout a program is plainly a bad idea. Unique names should at most be in a few header or configuration files, where they can be easily modified, and where they don't annoy people. --Per Bothner Cygnus Solutions bothner@cygnus.com http://www.cygnus.com/~bothner Note: the text of this mail has been used to formulate the policy on GNU package names. The policy is now clearly stated on the package registry page: packages.html Nic Ferrier - May 2001