Guidelines for packaging java programs?