I have a question that what is the difference between following statements.
- You have to do this.
- You should do this.
I am confused.
This type of wording is often used in requirements manuals, specifications, policies, and procedures. Each such document should clearly define its terms to avoid ambiguity.
If this is from a policy manual that you need to adhere to, you should clarify the exact meanings of these terms.
A somewhat "famous" set of specifications for geeks of the world is the RFC specifications used for the Internet specs and include typical definitions for these types of terms. Here's an excerpt from https://www.ietf.org/rfc/rfc2119.txt, for "MUST" and "SHOULD".
MUST - This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification. [This is the equivalent of your "have to". - CoolHandLouis]
SHOULD - This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
The RFC defines the following words/phrases: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL".
"Have to" implies the necessity behind the requirement of doing a particular task.
''Should'' finds usage to refer to an ethical responsibility.
While ''have to'' sounds more like a compulsion to which there may even be penalty / punishment, ''should'' signifies the onus of doing something that may display how responsible someone is.
From what I interpret, use of the two differs on the basis of responsibility and compulsion.
We use 'have to' when something is an obligation, it is necessary to be done. As in: We have to win this match to qualify for the next round. 'Should' is used to