Az RFC 8174 ("Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words") az IETF szabványa (2017), amely pontosítja az RFC 2119 követelményszavait: a MUST, SHOULD, MAY és változataik csak nagybetűvel, egyértelmű normatív kontextusban hordoznak technikai követelményszintet. Kisbetűvel (pl. must, should, may) ugyanazok a szavak közönséges angol szöveget jelentenek. A két dokumentum együtt alkotja a BCP 14-et.
Az RFC 2119 1997 óta definiálja a követelményszavakat, de a gyakorlatban gyakran visszaéltek velük: a szerzők hol nagybetűvel, hol kisbetűvel, hol vegyesen használták a szavakat — néha ugyanabban a dokumentumban is. Így előfordult, hogy egy must véletlenül úgy nézett ki, mint egy normatív MUST, vagy fordítva: egy komoly követelményt kisbetűvel írtak le, és az olvasó nem tudta, kötelező-e vagy sem.
Az RFC 8174 (szerző: Barry Leiba) ezt a bizonytalanságot szünteti meg azzal az egyértelmű szabállyal, hogy a különleges jelentés kizárólag a dokumentum "Requirements Language" szekciójában felsorolt nagybetűs alakokhoz kapcsolódik:
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
A kulcsmondat: "when, and only when, they appear in all capitals, as shown here" — azaz akkor és csak akkor, amikor nagybetűvel, a bemutatott formában jelennek meg.
MUST, SHOULD NOT stb.).MUST-ként írd le.Az RFC 2119 a követelményszavak jelentését adja meg (mi a kötelező, mi az ajánlott, mi a választható), az RFC 8174 pedig azt, hogy mikor érvényes ez a jelentés (csak nagybetűvel, normatív kontextusban). Ezért a kettő együtt idézendő — a modern specifikációk Requirements Language szekciója ezért hivatkozik általában így: "as described in BCP 14 [RFC2119] [RFC8174]". Részletek a másik cikkben: RFC 2119 (MUST, SHOULD, MAY – követelményszavak).
Mi az az RFC 8174? Az IETF 2017-es szabványa, amely tisztázza: az RFC 2119 követelményszavai csak nagybetűvel, normatív kontextusban jelentenek követelményszintet.
Mi az a BCP 14? A Best Current Practice 14 az RFC 2119-ből és az RFC 8174-ből áll — a kettő együtt a követelményszavak teljes szabályrendszere.
A félkövér vagy dőlt betűs MUST is normatív? Igen: a jelentésen a kiemelés nem változtat. Csak a kisbetű/nagybetű különbség számít.
Megváltoztatja az RFC 8174 a MUST jelentését? Nem. A kötelező/ajánlott/választható jelentések változatlanok — csak a használati szabály lett explicitté téve.
Mit kell idézni egy specifikációban? A szabványos sablont: "The key words ... are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here."