要約

  • RFC 269は1971年にFOOとBARを交換可能なファイル名として使った。RFC 3092は後に、約212件、当時のRFCのおよそ7%が同系統の語を十分な説明なしで使ったと記した。
  • RFC 3092が慣行を発明したわけでも、唯一の語源を証明したわけでもない。先行する実践を可視化し、日付のある用例と複数の伝承を分け、後の検証済み正誤表に開かれた記録を作った。

例文は読者の予備知識に依存した

RFC 269の付録には、FOOを削除、送信、取得し、BARへ改名する操作が並ぶ。プロトコル上、その名前である必要はない。実在のファイルを指さずに操作だけを示す空の器だった。

慣れた読者には便利だが、初見の読者には予約語や必須値にも見える。短い例は説明を省いたのではなく、説明を文化的な前提へ移したのである。無意味な名前は再利用しやすく、反復が次の反復を呼び、私的な速記が公開文書の読解条件になった。

採用は刊行より前に起きていた

RFC 3092は、RFC 269以降およそ212件のRFCがfoo、bar、foobarをメタ構文変数として使ったと述べる。全体の約7%であり、英語を母語としない人を含む新規参加者が由来を理解しにくかったとも明記した。

2001年4月1日の時点で、慣行はすでに数百の文書で動いていた。同RFCはInformationalで、インターネット標準を定めない。したがって刊行は採用命令ではなく、既存の編集実態の記録だった。

それでも説明には効果がある。暗黙の語彙に名前を与え、一覧を作り、古い文化を共有しない読者にも入口を開く。記録は現実の起点ではないが、現実を持ち運びやすくする。

確認できる用例と語源説は別の証拠である

RFC 269の命令は確認できる。RFC 1037はFOOを「File open for output」のエラーコードとして使い、RFC 1639はFOOBARを「FTP Operation Over Big Address Records」と展開する。いずれも実在する用例だが、メタ構文用法の唯一の起源を示さない。

RFC 3092は、漫画Smokey Stover、軍隊俗語、foo fighters、FUBAR、英国の落書き、1959年のTech Model Railroad Club辞書、DECのマニュアルを並べる。中国の置物とfuを結ぶHolmanの回想も紹介する。

日付のある出現、記憶、もっともらしい影響、後付け略語は同じ重さではない。「RFCが伝える」「資料は示唆する」と書くべきで、一本の系譜を確定してはならない。

架空名でも実在のDNSへ出ていく

付録にはドメイン名の例が多い。foo.comは任意名のつもりでも、実際に委任され得る形式である。コードへコピーされれば、例は文書を離れて第三者へ問い合わせを送る。

RFC 2606は1999年、.test、.example、.invalid、.localhostと、example.comなどを予約した。これは共有名前空間との衝突を防ぐ仕組みであり、fooという社会的なプレースホルダーとは別の制御である。RFC 3092は利用が減る可能性を述べただけで、減少を測定してはいない。

説明する側の文書も訂正された

公開時の表は212で終わった。検証済みErratum 1454は順序を直し、末尾を213へ更新した。2026年のErratum 8748は「Forward Observation Observer」を「Forward Observation Officer」へ改めた。

原文と訂正を共に残すことで、2001年の概算と現在の修正表を混同せず読める。RFC 3092の成果は語源論争の決着ではない。内輪の常識を検査・翻訳・修正できる公開記録へ変えたことにある。

出典

  1. https://www.rfc-editor.org/info/rfc3092
  2. https://www.rfc-editor.org/rfc/rfc3092.html
  3. https://www.rfc-editor.org/rfc/rfc3092.txt
  4. https://datatracker.ietf.org/doc/html/rfc3092
  5. https://datatracker.ietf.org/doc/rfc3092/references/
  6. https://datatracker.ietf.org/doc/rfc3092/history/
  7. https://www.rfc-editor.org/errata_search.php?rfc=3092
  8. https://www.rfc-editor.org/rfc/rfc269.html
  9. https://www.rfc-editor.org/rfc/rfc1037.html
  10. https://www.rfc-editor.org/rfc/rfc1639.html
  11. https://www.rfc-editor.org/rfc/rfc2606.html
  12. https://www.rfc-editor.org/rfc/rfc2821.html
  13. https://www.rfc-editor.org/rfc/rfc5741.html
  14. https://www.rfc-editor.org/rfc/rfc8729.html