Unix

Quality Software

  1. All software must be free software.
  2. Follow open standards that are in wide use
  3. Follow the UNIX philosophy:
    1. Do one thing and do it well
    2. Use text as an interface
    3. Avoid feature creep
    4. Try to design the output of one program to be the input of another
    5. Avoid interactive input when not needed
  4. Achieve tight integration with the OpenBSD operating system
  5. Prefer languages native to OpenBSD: C, korn shell, perl
  6. Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.
  7. Prefer BCHS web apps
  8. Prefer software that is endorsed by the suckless project
  9. Prefer OpenBSD or suckless style guidelines
  10. Avoid unnecessary, 3rd-party dependencies
  11. Prefer software that has a long history of being reliable and stable
  12. Prefer permissive, 2-clause BSD or MIT license over the GPL
  13. Prefer software with better documentation
  14. Prefer software that can be easily audited and forked