Ahmed Moustafa said:
Is there a convention to what to include (folders and files) in an
open source package?
At least the source code
I would suggest you e.g. go to the fsf web site and have a look at some
GNU packages and their organisataion. I personally like tar files (for
java that would be zip/jar archives) with the following structure:
All stuff start under one directoy in the archive, containing the name
and the version of the software, and then some easy to identify text
files and subdirs. A simple package layout might look like:
<name>-<version>/README - ASCII file explaining the package and
providing contact details, installation
instructions etc.
INSTALL - If the build and installation procedure
is more complex and isn't in the README.
I don't like it too much. I prefer to
have everything in the README
COPYING - The license if you use the GPL or a
similar file like COPYRIGHT or LICENSE
containing your license.
ChangeLog - What has changed between versions
Makefile - Root file of the build system. If you
don't use makefiles then something
specific to your build system (ant).
If you want to be nice to your users,
DON'T use anything fancy which requires
any additional installation. DON'T use
non-standard or the latest features of
the build system. It should work with
the oldest version of the build tool
one can imagine.
src/ - source code
doc/ - documentation
examples/ - guess what
test/ - test programs
For Java you might consider to deliver an additional package that
contains a pre-compiled version (.class class files) of your software.
That package should blend-in well with the source distribution (can be
installed in the same directory, so should not overwrite each other's
files), also contain the license and a pointer to the source
distribution.
If your software relies on other libraries, non-standard build tools,
etc. (anything that requires additional downloads), consider offering a
complete package for download, too.
Harald