When a plugin.xml is loaded, the parser checks the FQCNs of the factories with the regular expression
which enforces that the first package name starts with a lower-case letter. While this is in tune with the JLS (see http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf, p. 124: "The first component of a unique package name is always written in all-lowercase ASCII letters and should be one of the top level domain names, such as com, edu, gov, mil, net, or org, or one of the English two-letter codes identifying countries as specified in ISO Standard 3166."), it is not enforced by popular tools like Eclipse. Still, plugins referring to classes defined in the default package or within a (top-most) package named with an upper case as first character will not be loaded.
The error message will look like:
This may lead to confusion and seems too restrictive.
Credit: this issue was found by Lucio Tolentino (University of Iowa).