요약

  • RFC 3967은 모든 예외를 보이지 않는 지름길로 취급하는 대신, 낮은 성숙도의 규범적 의존성을 IETF Last Call 단계에서 가시화했다.
  • 이후 RFC 4897과 RFC 8067은 일부 사례에서 대기 방식을 주석 표기와 IESG 재량으로 옮겼으나, 어느 쪽도 참조되는 문서의 성숙도를 높이지는 않았다.

표준은 자체가 충분히 성숙해 그 아래 편안하게 놓이기 전부터 유용한 의존성을 물려받을 수 있다. 구현체는 Informational RFC에 기술된 알고리즘을 필요로 할 수 있다. 마이그레이션 표준은 구형 프로토콜과의 공존 방식을 설명해야 할 수 있다. IETF 사양은 IETF가 단순히 더 높은 지위로 재출판할 수 없는 외부 또는 독점 시스템을 가리킬 수도 있다. 곤란한 질문은 참조의 존재 여부가 아니다. 표준으로 제시되는 문서가 규범적 의미에서, 자체 지위가 더 적은 검토나 안정성을 신호하는 무언가에 의존하는가 하는 것이다.

RFC 2026의 통상 규칙은 이 구분을 읽기 쉽게 유지하려는 것이었다. 표준 트랙 사양은 통상 다른 표준화 기구의 표준을 제외하면, 더 낮은 성숙도의 표준 트랙 작업이나 비표준 트랙 사양에 의존하지 않아야 했다. 2004년 12월 BCP 97로 발표된 RFC 3967은 이 우려를 명료한 제도적 언어로 설명한다. 독자에게 표준이 실제보다 더 성숙하다는 인상을 주어서는 안 된다는 것이다. 성숙도는 절차적 표지이지 기술적 우수성의 직접적인 점수가 아니다. 그러나 규범적 의존성이 중요한 이유는, 참조하는 사양을 완전히 구현하는 데 필요한 정보를 담을 수 있기 때문이다. 그 의존성이 불안정하거나 이용 불가능하거나 오해된다면, 참조하는 문서는 자립하지 못할 수 있다.

대안은 성숙도 규칙에 비용이 없는 것처럼 가장하는 것이 아니었다. RFC 3967은 하향 참조가 때로 필요하다는 점을 인정하고, 가시적인 예외 경로를 규정했다. Standards Track 또는 Best Current Practice 문서는 통상적인 IETF Last Call을 거쳐 진행할 수 있으되, Last Call 공지에는 하향 참조를 명시해야 했다. 그것이 적절한지에 대한 커뮤니티 의견은 IESG의 심의에 들어갔다. 영역 디렉터(Area Director)는 커뮤니티가 이미 여러 번 확인했고 AD가 그 사용이 해당 기술 영역에서 수용되었다고 판단한 경우에 한해, 같은 문서이며 같은 버전에 대해서만 이후 공지를 면제할 수 있었다.

이것은 경계를 갖는 공개 메커니즘이었다. RFC 3967은 한 번 언급되면 모든 하위 수준 참조가 수용된다고 말하지 않았다. 참조되는 문서를 적절한 범주로 옮기는 것이 올바른 조치라면 이 절차를 사용해서는 안 된다고 경고했다. 또한 예외를 승격으로 바꾸지도 않았다. 대상 문서는 자체 지위를 그대로 유지했다. 요점은 커뮤니티가 출판 전에 의존성을 보고 이의를 제기할 수 있도록 하는 것이지, 성숙도 불일치를 합의인 것처럼 위장하는 것이 아니었다.

3년 뒤 RFC 4897은 다른 비용을 지목했다. 서론에서 이전 규칙이 때때로 매우 긴 출판 지연을 낳았고, 일부 사람들은 이를 문서 진전의 주요 장애물로 여겼다고 말한다. 다만 이 근거는 신중하게 읽어야 한다. 감사의 글은 저자가 일부 불만의 타당성을 확신하지 못했고, 이 제안이 그것을 검증하는 방법이기도 했다고 밝힌다. 이는 규칙이 얼마나 많은 시간을 잃게 했는지를 실증한 연구가 아니라, 절차적 논쟁에 대한 기록이다.

RFC 4897은 이미 발표된 더 낮은 성숙도의 Standards Track 및 BCP 대상 문서에 대한 처리 방식을 바꿨다. 대상 문서가 진전될 때까지 새 문서를 보류하는 대신, 저자는 규범적 참조에 주석을 달 수 있었다. 대상이 덜 안정적일 수 있으므로 주의해서 사용하라는 내용과, 그 의존성이 왜 적절한지 설명하는 노트를 함께 두는 방식이었다. IESG는 여전히 언제 지연할지에 대한 지침을 마련할 수 있었고, 커뮤니티도 문서의 수명 주기 내내 이의를 제기할 수 있었다. 문서 자체와 분리된 별도의 검토는 없었다. Standards Track 밖의 대상 문서에 대해서는 RFC 3967의 절차가 그대로 유효했다. RFC 4897은 적절한 경우 진전시키는 쪽이 바람직하다고 밝혔으며, "주석을 달고 넘어가기"가 새로운 보편적 규칙은 아니었다.

2017년의 RFC 8067은 공지 요건을 다시 조정했다. Last Call 메시지에 하향 참조를 명시적으로 나열하는 것은 의무가 아니라 강력히 권장되는 사항이 되었다. 담당 영역 디렉터는 여전히 하향 참조의 존재를 확인해야 했다. Last Call이나 IESG 검토 중에 참조가 발견되면, IESG가 추가 Last Call이 유용한지 판단할 수 있었다. 반복을 생략해도 대상 문서의 성숙도는 변하지 않았고, 그 참조가 다시 사용된다면 하향 참조 절차의 규율을 그대로 받았다. 누락에 대한 기록은 Datatracker에 남겨져야 했다.

세 개의 BCP 97 문서를 함께 읽으면, 절차가 제도에 요구하는 바가 무엇을 감당하게 하는지가 어떻게 이동했는지 보인다. RFC 3967은 IESG가 결정하기 전에 불일치를 커뮤니티 앞에 내놓았다. RFC 4897은 선별된 참조가 지위 승격을 자동으로 기다리는 대신 명시적 경고와 함께 이동할 수 있게 했다. RFC 8067은 놓친 참조가 재협의를 요하는지에 대한 재량을 IESG에 주되, 성숙도 신호와 그 선택의 기록은 보존했다. 그 전환은 대체로 절차적 지연에서, 공개·검토·주석·판단을 더 명시적으로 배분하는 방식으로의 이동이었다.

이 변화는 실제로 출판이 빨라졌는지, 보안이 나아졌는지, 예외가 얼마나 자주 사용되었는지를 알려주지는 못한다. RFC들은 규칙과 저자들의 이유를 진술할 뿐, 전후 비교 데이터를 제공하지 않는다. 지속되는 역사적 요점은 더 좁다. 표준 체계는 의존성과 문서 성숙도가 항상 함께 움직이지 않음을 인정하면서도, 참조가 스스로 얻지 못한 권위를 조용히 물려받는 일은 여전히 거부할 수 있다는 것이다.

출처:RFC 2026,RFC 3967,RFC 4897,RFC 8067,RFC 7841.