Software Distribution Making
Here are some good practices:
- Make sure tarballs always unpack into a single new directory (not the current directory!).
- Include a README with:
- A brief description of the project.
- A pointer to the project website (if it has one).
- Notes on the developer's build environment and potential portability problems.
- A roadmap describing important files and subdirectories.
- Either build/installation instructions or a pointer to a file containing same (usually INSTALL).
- Either a maintainers/credits list or a pointer to a file containing same (usually CREDITS).
- Either recent project news or a pointer to a file containing same (usually NEWS).
- Project mailing list addresses.
- Respect and follow standard file-naming practices
- README: The roadmap file, to be read first.
- INSTALL: Configuration, build, and installation instructions.
- AUTHORS: List of project contributors (GNU convention).
- NEWS: Recent project news.
- HISTORY: Project history.
- CHANGES: Log of significant changes between revisions.
- COPYING: Project license terms (GNU convention).
- LICENSE: Project license terms.
- FAQ: Plain-text Frequently-Asked-Questions document for the project.
- filenames with all-caps names are human-readable metainformation about the package
- Design for upgradability. use version-numbered directories
- Under linux, provide RPMs
- Provide checksums.
Read also my other posts on this book:
- Basics of the Unix Philosophy
- Good Development Practices for Open-Source Developers
- Design Rules for Textual Data Formats
Digg this story