JUNETとfjの記念碑

JUNETとfjの具体的な資料や実際の記事を発掘して、 往時の雰囲気や潮流を示すことを試みます。

_ 1. JUNET記念日

後に「JUNET記念日」と呼ばれる1987年の7月1日、 日本中のあらゆるサイトでニュースの記事の配送が突然停止してしまった事件。

経緯

7月1日の日本時間午前9時以降、突然に記事が流れなくなった。 他サイトから流れてきた記事、自サイトで投稿されたものの処理、 いずれも失敗するようになった。

当時使われていたニュース配送システムは、Bnews と呼ばれるものである。 しかし、 オリジナルのままでは日本語が通らなかったので、 JUNETのサイトではパッチがあてられたものが利用されていた。 このパッチを提供していた加藤朗さんの小さな typo が原因であった。 パッチ部分が原因なので、日本国内・JUNET内のみの事故であった。

問題のJUNET用Bnewsはfj.sourcesにも投稿されていて、 上の記事がそれの一部である。 1406行目に問題の"July"のコードがみつけられる。

折り悪く7月1日にはjus(日本ユニックスユーザー会)の第9回UNIXシンポジウムが開かれており、 当時の UNIX hacker やサイト管理者の中には、それに出席するために出払っていた人も多かった。

第一発見現場の活動記録

nttsplは、普段から時計が9時間進んだ状態で運営されていた。

時計のずれのため、他のサイトより9時間早く問題が発生した。 ここから復旧作業が開始し、事故発生と修正の情報が伝わっていく。

事故後しばらくは未修正のサイトがあることを考慮し、 記事を確実に流通させるために、 Date:フィールドを手で6月や8月に修正するというとりあえずの対症療法も使われた。 上記記事もその一例である。

呼称の由来

7月1日を何と呼ぶかについては、当時他にもいろいろな案が出された。 その中から、誰かが決めたり一つを選んだりしたわけではないのだが、 翌年の当日には「JUNET記念日」と呼ばれていて、これだけが定着した。 その「JUNET記念日」と書いた上の高田さんの記事は、 当時話題になっていた俵万智の「サラダ記念日」をもじったものである。

_ 2. The Internet Worm

1988年11月2日発生のThe Internet Wormに関連する記事。

国内第一報

対策例

worm 対策をした NEWS-OS 用の sendmail のバイナリの投稿。 この記事を投稿した Michael Knight(入江英夫)さんは、既に故人となられた。

国内での影響例

日本に直接 worm が侵入したわけではなかったが、 米国のサイトが落ちたせいで、何日も海外とのメールのやりとりが滞った。

_ 3. 営利利用の禁止

JUNETは営利目的の利用が禁止されていた (Appendix C. JUNETの再編の研究報告) 。 これは、ネットニュース(fj)に限ったことではなく、 メールやファイルの伝送も含むネットワークとしてのJUNET全体について禁止されていた。

発足時に営利利用の禁止を定めた際の経緯は明らかではない。 しかし、以下のようなことを考えると、一定の合理性があったと考えられる。

一方で、このルールに現状としては従いつつも、 絶対なものとはしない考え方も少なくなかった。

商用ネットワークの勃興以降は、 NetNewsにおいても営利利用が可能なニュースグループがfjの外で発生した。 tnn.*やjapan.*ニュースグループは、これの代表的なものである。

_ 4. メール事情の変遷

1980年代は、サイト同士が常時接続されていたわけではなく、 低速のモデム(9600bps程度)による間歇的なUUCP接続で情報交換が行なわれていた。 この状況では、本質的に遅延が必ず存在し、安定性の向上も困難であった。

1990年代には、 WIDEプロジェクトによる常時接続のIPネットワークが稼動し、 さらには商用のネットワークプロバイダも一般に利用できるようになる。 これを契機に、メール配送の安定性や速度が格段に向上した。

メールアドレスの表記表現等

これは村井純先生自ら投稿の記事。 この記事の当時はまだ漢字は通らないので、英語での投稿である。 海外とのやりとりなど、!を使って経路を陽に指定した UUCP 形式もまだまだ残っていた。

余談:Message-Id: の先頭に 130 という数字がみられる。 clapton というサイト上に Bnews がインストールされて以来 130 番目に投稿された記事であると推測できる。 マシン名にしても、ギタリストでもある村井純先生らしいといえる。

上は1987年当時の手引き記事。 存在しないドメイン宛てにメールを送ろうとした場合、 Internetの普及以前は、メールが長旅をして徒労の末に帰ってくることが起きていた。 ほとんどのドメインでは、 自分と直接つながっていないドメイン宛てのメールは、単に上流に送ることで処理されていた。 存在しないドメイン宛のメールは、途中のサイトのどこでも処理しようがなく、 最上流(JUNETマスター)まで実際にメールが送られてしまう。 さらには、そこからエラーメールが送り返されてくるのである。 現在の、DNS に問い合わせた時点で存在しないドメインとわかる状態と比較されたし。

海外とのメールのやりとり

海外との接続には高額な料金がかかり、これを誰が負担するのかは大問題である。 当時、海外には誰でも気軽にメールを出すことができる状況にはなく、 INET-CLUBへ参加するなど特別の手続きが必要であった。

国内の大学と海外とのメールのやりとりを引き受けてくれていた東大では、 この記事の時点で「すでに負担は8ケタ」に達していた。

バックボーンサイトへのメールの集中

メールの流通経路は、 バックボーンと呼ばれる少数の枢軸サイト群から、多数の末端サイト群へと、 樹の枝が伸びるような構造が基本となっていた。 バックボーンは、末端サイト同士のメールを中継する役を負うのだから、 どうしてもトラフィックが集中することになる。 メールの量が増大するにつれ、配送遅れが目立つなど、深刻な問題となった。

幸いにも、この頃にタイミングよく WIDE を始めとする IP 網の整備が始まる。 Internet 接続と DNS の仕組みによって、 流通経路が分散し、無駄な中継が排せられ、 危機とカオスを迎えることはなしに済んだ。

他ネットワークとの相互乗り入れ

他のネットワークとの接続や、メールの相互乗り入れは、 技術的に興味深いテーマである。

個人UNIXユーザのネットワーク JUICE との交換は、 早い時期から始まっていた。

JUNET発足と同じころ、 アマチュア無線の世界ではパケット通信 を用いたネットワーク(ampr.jp)が発足していた。 アマチュア無線はJUNETと同じく非営利目的でもあり、 相互に接続したいという要求はあった。 しかし各種法令等の規定も障害となって、接続されることはなかった。 ただし、 JUICEとampr.jp間のメールゲートウェイ が実験的に設けられて、 これがJUNET側からも利用できるようになっていたという例はある。

1990年代になってWIDEプロジェクトによるIP接続が生まれると、 商用BBSとWIDE参加組織との間でメールの交換が始まる。 これは、上記のように段階的に拡大されていく。 ただし、BBS側では受けられるメールの量に制限があったり、 いわゆる半角かなの扱いがぎこちなかったり、 両者の参加者の文化的違いの大きさによる軋轢など、 いろいろな問題が生じた。 また、これはあくまでJUNETの外の世界の出来事であり、 メールの交換が可能なのはWIDEプロジェクト参加組織のみで、 WIDEに参加していない組織と商用BBSの間ではメールが流通しないよう注意がもたれていた。

JUNETと商用ネットワークのデータ交換は、最後まで実現することはなかった。 1990年代終盤までには、 ほとんどあらゆる組織がインターネットに接続するようになり、 プロバイダ同士での自由なデータの交換(自由なポリシーやIXの存在)という形で、 JUNETの外の解決方法によって迂回的に決着をみた。

_ 5. .jpへの移行

トップレベルドメイン .junet から .jp への移行に関して。 1989年の10月頃に移行が行なわれた。

事前アンケート

Mailconfの対応

技術面で最重要なのは、sendmail の配送ルール(sendmail.cf)に .jp の枠組みを取り入れることである。 当時、日本のほとんどのサイトでは、sendmail.cf の生成に mailconf というプログラムを用いていた。

ここで挙げたのは代表的な1件のみ。

第一段階

.junet を主に用いつつも、.jp でメールを出しても正しく届く状態にする。

第二段階

主に .jp の方を用いるようにする。

当初は1989年9月1日をもって移行と予定していた。

移行の延期

多少の積み残しはあるが、見切り発車の形で10月1日を持って移行する。

_ 6. 漢字や日本語の扱い

1985年末の、NetNewsで日本語を扱う環境に関するsurvey。 端末、入力方法、編集や表示、伝送路、OSやアプリケーションの機能不足など、 さまざまな困難が存在した。

JUNETの開始から1986年中盤までは、 漢字を表現するのに、 JIS C 6228:1975に基づいたつもりの漢字コードが用いられていた。 具体的には、

ESC $ @ で漢字に入り、ESC ( Hで漢字から出る。
注:「出る」「入る」とは正しい表現ではないが、 当時の議論で実際に使われていた表現のママ。

というエスケープシーケンスを用いる方式である。 しかし実はESC ( Hはスウェーデン名前文字の指示であり、 これを漢字から出る指示に用いるのは正しくない。 なお、このコードは、 当時広く一般に「旧JISコード(のエスケープシーケンス)」として広まっていた 一般的なもので、JUNET独自のものではない。

この記事の和田先生とは、日本最初のハッカーと言われている和田英一先生のこと。 本来の規格に沿わないESC ( Hが世に広まってしまった経緯が記述されている。

JIS C6228-1975が制定されたとき、 JIS C6220の片仮名とローマ字のFはそれぞれ4/7と4/8になると予想してそう記述してしまったからである。 制定のときには4/6までしかきまっていなかったからだ。 一方片仮名とローマ字のFを貰うべく登録手続きをしたのだが、 その頃同じく登録手続き中であったスウェーデン基本コードとスウェーデン名前用コードが4/7と4/8を貰い、 日本の片仮名とローマ字は4/9と4/10になった。 そこでJIS C6228−1975には正誤表をつけて頒布したが、このことは徹底しなかった。 JIS C6228−1984の解説15ページには正しい表がでているが、 JISハンドブックには解説がないからそれだけ見たのではわからない。

和田先生のこの解説と新方式の提案がきっかけとなり、 じきに新しい合意が形成される。 すなわち、JUNETでは規格どおりのコード、

ESC $ @かESC $ Bで漢字に入り、ESC ( BかESC ( Jで漢字から出る。

が用いられることになった。 この和田先生の記事は、 「JUNET利用の手引」に永い間そのまま載ることになる。

_ 7. とにかく古い記事

上記の接続テスト記事は、手持ちのNetNewsの記事の中で Date:が最も古い記事。

テスト以外の意図のある記事としては、上のものが最も古い。

その他、1985年に投稿された記事、あるいは1980年代に投稿された記事を検索すれば、 黎明期の最も古い部類の記事が見つかると思われる。 Unified fj NetNews archiveの全文検索 で、

+yyyymmdd:/^1985/

のような検索式を試されたし。

_ Appendix 関連資料

_ A. JUNET利用の手引

JUNETの概観を得るためには、 「JUNET利用の手引」 の説明が包括的で詳しい。 ただし、変化の激しいコンピュータネットワークの世界のことであり、 時期によっては記述があてはまらない部分もある。

当初JUNET利用の手引きは、 JUNET利用の手引作成委員会によって随時更新されていた。 しかし、意思決定機関が存在しないJUNETでは、 内容について合意がとりにくく、 厳密な記述がしにくい。 JUNETの拡大により入門書の必要性は増大していったが、 それとは相反して手引きの編集は次第に行われなくなっていく。

JUNET利用の手引(第1版)は、 近代科学社から書籍としても1988年に発行されて1600円で発売されたが、 まもなく廃版になった。

_ B. 私家版fj.*の歩き方

編集が行われなくなった「JUNET利用の手引き」に代わって、 入門書の必要性を補ったのが、「 私家版fj.*の歩き方 」である。 1994年ごろに最初の版が発表された。 私家版と名乗っている通りに非公式なものであり、 これをルールとしては用いないよう自ら注意書きを含んでいる。

私家版fj.*の歩き方は、 若干の変更を経て、 「fjの歩き方」 としてオーム社から書籍として1995年に発行された。

_ C. JUNETの再編の研究報告

WIDEプロジェクトの1992年度研究報告書 第3部 ネットワークに関する社会科学的検討 の「第7章 JUNETの再編」では、1990年代初頭におけるのJUNETの状況が概観されている。

また、新規参加組織への案内の文面案として、以下のJUNETの規約が収録されている。

[2] JUNET 参加規約
JUNET に参加する個人および組織は以下の約束を守って下さい。
(a) 接続および中継における無報酬性
JUNET に参加する組織は、 JUNET に参加する他組織との接続や組織間に跨るメイル・ニュースの中継を無報酬で行 なう。
(b) 営利目的利用の禁止
JUNET に参加する個人および組織は、JUNET を営利目的に利用しない。 また、営利目的を連想させるいかなる行為も行なわない。
(c) 不特定の利用の禁止
JUNET は、ネットワークに接続するサイトに独自のアカウントを有する個人のみが利用する。 JUNET を不特定の利用に供することは行なわない。
(d) 発言の個人責任
JUNET のメイルやニュースでの発言は個人の責任において行い、また個人の意見として解釈する。
(e) 不当な投稿制限の禁止
JUNET に参加する組織は、JUNET に参加する個人の行なうメイルやニュースへ投稿を不当に制限しない。
(f) 反社会的行為の禁止
JUNET に参加する個人は、メイルやニュースにおいて、法に違反したり、違法行為を容認または教唆する内容の投稿を行なわない。
(g) メイル中継における通信の秘密
JUNET のメイルを中継するサイトの管理者は、メイルの内容や発信人アドレス、受信人アドレス等の個人情報に対する通信の秘密を守る。

規約の出自や正統性を示す証拠もしくは証言が求められる。 現状で可能なのは、 WIDEの報告書に上記の記述がある事実を述べることのみである。


誤りの指摘や、記念碑にふさわしい記事の推薦、その他関連する情報をお寄せください。

渡邊克宏

<katsu@watanabe.name>