Tuesday, January 31, 2006

Software Distribution Making

An important process in software development is the making of the distribution.
Here are some good practices:

  • Make sure tarballs always unpack into a single new directory (not the current directory!).
  • Include a README with:
  1. A brief description of the project.
  2. A pointer to the project website (if it has one).
  3. Notes on the developer's build environment and potential portability problems.
  4. A roadmap describing important files and subdirectories.
  5. Either build/installation instructions or a pointer to a file containing same (usually INSTALL).
  6. Either a maintainers/credits list or a pointer to a file containing same (usually CREDITS).
  7. Either recent project news or a pointer to a file containing same (usually NEWS).
  8. 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.
These tips come from Eric's Raymond excellent book "The Art of Unix Programming".
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


Post a Comment

Read more about Software Quality at the <<Software Quality Weblog Home