Hacktolive software guidelines
From hacktolive.org
Revision as of 16:24, 24 August 2011 by Hacktolive (Talk | contribs)
This is a draft and work in progress!
Inspiration
- The Art of Unix Programming
- The Cathedral and the Bazaar
- FSF
- other sources
Features
Desirable features in software:
- gratis (available without cost)
- open-source (in the sense that the source-code is freely available)
- the source-code is documented (comments in the code, other documentation detailing the abstract functions of the program)
- Code for humans, not machines: the source-code should be as clear, as simple and as organized as possible for human interpretation, even if that comes at a small cost in performance
- as much cross-platform/portable as possible (use of open, free and publicly-documented standards/protocols/formats is a good step in that direction)
- A script is usually better than a binary (compiled) program, because this way the source is always included with the program (the source IS the program), and also makes it easier and more flexible to change the program, and makes it more cross-platform (unlike a binary, a script is not necessarily "tied" to any platform)
- having both CLI and GUI offers more freedom/flexibility
- translation in as many languages as possible
- documentation in as many languages as possible