I'd like to publish a small open-source library in Java. I wonder what package name should I choose? I'm not a company and I don't have a domain that I could use as the basis for naming the package according to the naming conventions. Still I'd like to somehow follow the naming conventions to prevent an accidental conflict and to keep things standard.
closed as primarily opinion-based by user40980, Bart van Ingen Schenau, user22815 Dec 4 '15 at 22:07
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
Your profile on Software Engineering implies that you control
petr.pudlak.name, which gives
name.pudlak.petr.exampleproject as a possibility.
Another technique to ensure uniqueness is to base it on the means through which the program is distributed to the public. If the username associated with your GitHub repositories is
petrpudlak, something like
com.github.petrpudlak.exampleproject should avoid collision. The same is true of SourceForge projects:
Why not make use of your surname? Something like
If you don't have a domain name, you can still use that naming convention and name it
(org\com\net\whatever).projectname. The package name doesn't necessarily need to be the domain name you expect the project to be found at, although it does make things easier. Some projects end up moving domains and don't have their package names renamed for compatibility reasons.