Most libraries I see have this complicated package naming,
specifically including com/org. Is there a convention for these or is
a permutations package enough?
There are recommendations from Oracle on how to name your packages. The reason for this naming convention is to minimize duplicates. If everyone simply used short, simple names, it becomes more likely that a project will include two permutation
packages. If one class name was the same, there would be naming conflicts. Things can get confusing for the developer, if there are't naming conflicts that prevent resolution of the classes.
If you have a domain name, I would suggest using that. If you are hosting on a service such as GitHub or Sourceforge, using the path to your project would be sufficient as well. Regardless, be explicit to prevent conflicts or confusion.
Is there a specific format to publish these? Should I include separate
WARs for source code / javadoc?
There's no specific format. At the very least, source and a convention build script (Make, Ant, Maven). It's nice to have precompiled JARs or WARs, but not essential. Some projects include the Javadoc in the library, others might produce two JARs (one with Javadoc and one without). It might also be a good idea to simply publish your Javadoc on the Internet if your project hosting solution allows for it.
I have the files on a GitHub repository. I guess I can serve the files
there, but how do I get people to find my repo?
Advertise it. Start by showing it off to a few friends. Blog about it. Share a link on the Internet. Find someone who has a problem that they can solve using this library (but make sure you disclose that you made the library).
amirrachum.util.permutations
might be good.