スタンダードの話
2006年12月27日
標準関連の文書を大量に読んだら、大量のコーヒーが必要になるだけではなく、特定の言葉の過剰な意味に注意する必要があります。
標準では、完全に必須のもの (または「do not」の場合は完全に禁止) を示すときに **shall** が使用されます。**shall** に違反すると、標準に準拠していません。**required** または **must** は同義語です。
**should** という言葉は弱いです。**should** は推奨事項を示します。標準ではそれに従うことを推奨していますが、従わなくても標準に違反したことにはなりません。**recommended** は同義語です。
**may** はオプション機能を示します。機能があってもなくても、実装で正常に動作できる必要があります。
上記の詳細バージョンは RFC 2119 でご覧いただけます。
**normative** なものは標準の一部です。**non-normative** なセクションは、背景情報や解説などの内容です。標準の概念を明確にするのに役立つため、非規範的なセクションに実装手法の提案が含まれる場合がありますが、著者は実装者を制約したくありません。