RFC2119, "key words to use in RFCs to Indicate Requirement Levels". Dokumen ini menjelaskan beberapa kata kunci yang mendeksripsikan "tingkatan keharusan" pada suatu dokumen spesifikasi teknis.

Biasanya, dokumen spesifikasi teknis diawali dengan pernyataan sebagai berikut :

The use of “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” is per the IETF standard defined in RFC2119.

Definisi mengenai beberapa keyword di atas dapat dilihat pada dokumen RFC2119 :

  • MUST, REQUIRED, SHALL : Absolute requirement of the specification
    • Bersifat wajib
  • MUST NOT, SHALL NOT : Absolute prohibition of the specification
    • Bersifat larangan
  • SHOULD, RECOMMENDED : 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.
    • Sebaiknya dikerjakan, meskipun ada kasus-kasus spesifik tertentu ketika hal ini bisa dihindari. Kalau benar benar ingin menghindari, harus paham betul konsekuensinya bagaimana.
  • SHOULD NOT, NOT RECOMMENDED : There may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing this behavior.
    • Sebaiknya tidak dikerjakan, meskipun ada kasus-kasus spesifik tertentu ketika hal ini bisa dikerjakan. Kalau benar-benar ingin dikerjakan, harus paham betul konsekuensinya bagaimana.
  • MAY, OPTIONAL : Truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product, while another vendor may omit the same item. An implementation which does not include it MUST be prepared to interoperate with another implementation which does include the option, and vice versa.
    • Boleh dikerjakan atau boleh tidak dikerjakan, bebas. Tetapi, sistem yang mengerjakan hal ini harus bersiap-siap untuk berkomunikasi dengan sistem yang tidak mengerjakan hal ini. Begitupun sebaliknya, sistem yang tidak mengerjakan hal ini juga harus bersiap-siap untuk berkomunikasi denagn sistem yang mengerjakan hal ini.