Gigazine が嘘を拡散し続ける、とある記事への指摘。

初回掲出日: 2024-11-09
最終更新日: 2024-11-13

Gigazine という、ニュースサイトをご存知だろうか。
独自記事から、他サイトの記述を元ネタとする紹介型記事まで、様々な記事を発信し続けている。
日々、興味をひかれる記事も少なくない。

だが、その中にひとつ、記事内の誤りが、何年にも渡り放置されているものがある。
こちらから何度も誤りを指摘しているのに、何ら反応を返さず、訂正にも応じない。

この場で指摘しておきたい。

● 問題のある記述

それは、以下の記事内の記述である。

Windows 10で表示されるエラーの原因は1974年のOSにあった - GIGAZINE

タイトルや、記事の内容の大筋は、それほど間違っていないと思う。

問題なのは、以下の記述である。

UNIXは「すべてのものはファイルである(Everything is a file)」という、デジタルリサーチの創業者・ゲイリー・キルドールの考え方に基づいて作られており、〜

UNIX 系 OS をよく知っている人なら、ついでに CP/M の知識もある人なら、UNIX の「すべてのものはファイルである (Everything is a file)」という哲学が、UNIX から来たものであり、それがデジタルリサーチの製品である 8-bit OS の CP/M から来たなんて話は、聞いたことがなく、信じないだろう。

● 元ネタの記述は?

この Gigazine の記事は、前述でいう「紹介型」の記事であり、元ネタとなるサイトのページへのリンクがある。
いったい、元ネタではどうなっているのだろうか?

だが、2024年現在、もうそのページはアクセスできないようだ。
そこで、Internet Archive の力を借りることにしよう。
以下が、最後に確認できるもののようである。

Thread by @Foone on Thread Reader App – Thread Reader App (web.archive.org)

これを参照すると、Gigazine の記述でいう箇所は、以下が該当するようであるが.. (余談だが Gary Kildall 氏のスペルは間違って書かれている)

So, why does this happen? So Unix (which was only 5 years old at this point) had the good idea of "everything is a file" which mean you could do things like write to sockets, pipes, the console, etc with the same commands and instructions.

This idea was brought into CP/M by Gary Kiddal in 1974.

この英語を見た段階で、既にアレッ? と思うことだろうが、日本語に訳してみると、以下のようであろうか。

では、何故これが起こるのか? それは Unix (当時まだ 5歳だった) が、ソケットやパイプやコンソール等に書き込んだりといったことが、同じコマンドと命令で出来る、ということを意味する「全ての物はファイルである」("everything is a file") という良いアイデアを持っていたということだ。

このアイデアは 1974 年に、ゲイリー・キルドールによって、CP/M に持ち込まれた (brought into)。

つまり、1974年に Unix から CP/M へ持ち込まれたと言っており、Gigazine が言っていることは真逆、要するに誤訳なのである。

このことは、元ネタの記述を読み進めていくと、さらに明らかになる。

(中略)

This is done in unix by having special files existing in special folders, like /dev/tty for the console or /dev/lp0 for the first printer.
You can get infinite zeros from /dev/zero, random bytes from /dev/random, etc!

but here's the problem: CP/M is designed for 8-bit computers with very little memory, and no hard drives. At best you've got an 8" floppy drive.
So directories? you don't need 'em. Instead of directories, you just use different disks.

but without directories you can't put all your special files over in a /dev/ directory.
So they're just "everywhere", effectively.
So if you have FOO.TXT and need to print it, you can do "PIP LST:=FOO.TXT" which copies foo.txt to the "file" LST, which is the printer.

これは Unix では、/dev/tty はコンソールで、/dev/lp0 は 1つ目のプリンタといった具合に、特殊ファイルを特別なフォルダに存在させることによって実現していた。
無限に続くゼロを /dev/zero から得ることや、ランダムなバイト列を /dev/random から得ること等も出来るのだ!

しかしここで問題がある。 CP/M は、非常に少ないメモリしか持たない、ハードディスクも持たない、8 ビットコンピュータ用に設計されている。 良くて持っているのは 8" フロッピーディスクだ。
じゃディレクトリは? そんなもの必要ない。 ディレクトリの代わりに、単に違うディスクを使うのである。

しかし、ディレクトリ無しでは、全ての特殊ファイルを /dev/ ディレクトリに置くことが出来ない。
だから、事実上、それらは単に「どこにでもあった」。
それは、もし FOO.TXT を印刷したい場合、「PIP LST:=FOO.TXT」を実行すれば、foo.txt を「ファイル」である LST にコピー出来る。 LST はプリンタだ。

Unix では /dev ディレクトリ以下にデバイススペシャルファイルを集めているが、CP/M にはそもそもディレクトリというものが無いため、同様の方法が使えず、スペシャルファイルが「どこにでもある」ことにして実現したのだ。

だいたい、これについては Gigazine の記事でも、以下のように触れている。

ディレクトリがないため、CP/Mは「 /dev/ directory」でデバイススペシャルファイルにアクセスすることができません。 この問題を解決するために、CP/Mでは「あらゆる場所」にスペシャルファイルが配置されたとのこと。 「FOO.TXT」というファイルをプリントするためには、foo.txtをLST(プリンター)ファイルにコピーするために「PIP LST:=FOO.TXT」を使う必要がありました。

これでもまだ Gigazine は、『「すべてのものはファイルである(Everything is a file)」という、デジタルリサーチの創業者・ゲイリー・キルドールの考え方に基づいて』などと言うのだろうか。

● 別の文献

それでもまだ誤りは認められないというなら、もう 1件、別の文献を紹介しておこう。

UNIX の生みの親、AT&Tベル研究所編、「UNIX 原典」という書籍である。

「UNIX タイムシェアリング・システムの発展」という章、「III. PDP-7 UNIX のファイル・システム」という節に、「デバイスを表わす特殊ファイル」という記述が現れている。
その前の記述から、1970年頃の話のようである。

UNIX原典 表紙 UNIX原典 本文

1971年には、既に PDP-11/20 上で First Edition の UNIX が動作していたというから、PDP-7 の UNIX というのは、とにかく古い話である。

The UNIX System -- History and Timeline -- UNIX History (unix.org)

さて、CP/M は Intel 8080 用に書かれた OS であり、8080 が発表されたのは 1974年だという。

UNIX がデバイスファイルを導入したのと、デバイスファイルが CP/M に持ち込まれたのは (そもそも 1974年と記事に書かれていたが)、どちらが古いだろうか?

● 問題の指摘

これまで述べたように、誤りが見られる Gigazine の当該の記事だが、「2018年 11月 05日」の日付が書かれている。
2024年 11月の現時点では 6年経過している記事だが、少々問題なのは、Gigazine には Twitter (現在では X と呼んでいる) アカウントがあり、それが毎年 11月 5日になると、当該記事を掘り起こして紹介する点だ。

無視できないため、記事の記述に誤りが見られるということを、毎年のように、直接 Gigazine の「誤字脱字の指摘」や「その他のお問い合わせ」へ指摘しているのだが、何の反応も得られないし、記事も修正されない。

概ね、以下のような内容である。 (これは最新の 2024年のもので、何年経っても対応されないため、年々だんだん言い方がキツくなっていっている。)

「すべてのものはファイルである」の由来について

この件を過去何年にも渡って指摘させていただいたのですが、記事はそのままのようです。
修正(あるいはいっそのこと記事ごと削除)いただけないのでしょうか。
ニュースサイトが嘘を放置し拡散するのは止めていただきたいと思います。

『UNIXは「すべてのものはファイルである(Everything is a file)」という、デジタルリサーチの創業者・ゲイリー・キルドールの考え方に基づいて作られており』
と記事中にありますが、そのような話はこれまで聞いたことがありません。
この考え方は UNIX (あるいは Multics?) 側から来たものだと思います。
原文は、もうアクセスできなくなってしまったようですが、てもとの記録でもそのような記述にはなっていませんでした。
This idea was brought into CP/M by Gary Kiddal in 1974.
→ この(UNIXの)考え方は1974年にゲイリー・キルドールによって CP/M に持ち込まれた。
(余談ですが原文は Kildall のスペルを間違えていました)

誠意ある対応を期待する次第です。

「すべてに必ず返信するわけではありません」と断り書きはあるものの、無視し続けるということは、Gigazine は、当該記事の記述に誤りはないという見解なのだろうか?

それ以前にも、別件で Gigazine に指摘を入れたことがあるのだが、その時は非常に丁寧な返答をいただき、記事もすぐに修正された記憶があり、しっかりした運営元だなあと、その時は思ったものである。

その頃の Gigazine とは変わってしまったのだろうか。
そうだとすれば残念なことである。
このような運営では、Gigazine の他の全ての記事の内容も、信憑性に疑いを持つというものだ。

Gigazine には、著名なニュースサイトとしての自覚を持って、運営にあたってほしいものである。

以上


index