Is it part of any standard (e.g. POSIX), that system files should be lower case

filenamesfilesystemsposix

My company resells an application whose brand name is mixed case, for example "ApplicationName".

The application's installer creates all paths and file names in this standard. E.g. The main directory is /opt/ApplicationName, the init file is called ApplicationName so I have to run service ApplicationName status and so on.

To me, this breaks all sensible conventions and I feel the files and directories should all be lower case (there is precedent in other applications such as MySQL, whose files and dirs are all called mysql, even applications like Apache and Tomcat do away with the preceding upper case letter).

If I raise this as a bug report, I'd like to put up a stronger argument than just "I think it's wrong". So is it dictated in something like the POSIX standard that system files like this should be lower case?

Best Answer

The POSIX standard has a section with guidelines for conforming utilities (i.e., "such as those written specific to a local system or that are components of a larger application") that says

  1. Utility names should be between two and nine characters, inclusive.
  2. Utility names should include lowercase letters (the lower character classification) and digits only from the portable character set.

[ref: 12.2 Utility Syntax Guidelines]

It's unclear to me whether the use of the words "should include" really means "should only include". (The consensus in the comments below is that it means "should only include").

An application on a Unix system that does not claim to be a POSIX conformant utility may otherwise use whatever name it wants. If it does claim to be a POSIX conformant utility that is part of the POSIX shell utilities, the text after the guidelines in section 12.2 says that "should" changes meaning to "shall".

There are no similar guideline regarding directory names as far as I know. macOS (which is a certified UNIX 03 product when running on an Intel-based Mac computer) uses /Users as the prefix for user's home directories, for example, as well as a number of other mixed-case directory names.

Related Question