A good read to complete here also: https://people.debian.org/~bap/dfsg-faq.html (more technique though)