2) How to keep proper backups? Should I manually save them on my Computer (in ZIPs, ..)?
I have 2 hard disks in my computer, one for use, and one for backup. This doesn't protect against theft or fire but in that case I have bigger problems than a few lost copies of open source repositories
3) How to provide a documentation for my software?
There are many different options that I found, but what would you recommend? Is there an industry standard?
I use Doxygen for C++ to document the code. I do that near implementations, so code and documentation is always together.
I found it the best solution to increase the chance that both get updated.
If I either don't understand code or documentation, the first thing I do is fix that. I don't want to decode anything more than once. Too much risk making stupid mistakes.
Edit:
I also build the documentation regularly. Not so much for use, but for checking the generated warnings about missing/wrong docs