M女史の遺したもの 悪意のない初心者が荒らしにならないために

最近の履歴

  1. 2ch元スレへのリンクを過去ログ倉庫に変更
  2. (笑)の項目を格上げ。
  3. スレッド一覧が間違っていたので修正。356以下に、354以下の枝をつなげてしまっていた。(ローカルに保存するとき番号を間違えたらしい)

目次


はじめに

このページ群は所謂ネチケットというものに関してのものです。インターネットにおける日本語圏での、技術系の世界のマナーを考えます。

技術系のメーリングリストや掲示板に於いては、これらのコミュニティーに特有のマナーというものが暗黙のうちに存在します。その大部分は、別に特に変わったものではありません。ネットワーク以外の場所(オフライン)でのマナーをオンラインに持ち込んだ、若しくは拡張したに過ぎず、オフラインでのマナーがきちんとしている人ならば容易に想像することができます。

しかし、明文化された形のマナーというものを一応知っておくに越したことはありません。そのため、ここでは2001年の初めに起こったM女史問題を取り上げて、これを反面教師とし、悪意のない初心者が、その無知のために、気づかないうちに他人に迷惑を掛けてしまうことを防止したいと思っています。


M女史問題とは

雑談プログラミングMLに、かつてM女史という人が参加していました。以下では、この人を女史と呼びます。

問題に関係するスレッドのルートは、以下の通りです。

女史は自分では調べる気もなく、次々とMLの人々に質問をし、それに対して礼を言うでもなく、失礼な態度をとり続け、失礼を指摘されれば無視し、或いは逆ギレしました。

女史が特に悪意があるわけではないのは文面から伝わってきます。私がこの問題を知ったのは2ちゃんねるプログラマ板の雑談プログラミングMLに教えて君出現スレですが、ここでは女史のことを「天然系荒らし」と呼んでいました。その通りです。このように、悪意も無しに、無邪気に、他人に対してここまで失礼な態度をとれる人間がいるとは全く驚きです。この騒ぎの終盤になって、いい加減堪忍袋の緒が切れた参加者たちによって女史は散々非難されましたが、自分では悪いことをしたという自覚がないため、女史は「いわれのない罵詈雑言」と受け止めて、怒って退会していきました。これが故意の荒らしであれば女史は天才です。

このページでは、女史の足跡をたどりながら、その問題点を考えていきます。

なお、ここで扱うのは女史の「行為」の問題点であって、女史の人格を批判するつもりはありません。もし、そのような記述があれば、それは私の中の女史への嫌悪がにじみ出てしまったものであり、適切ではありません。人格否定的な記述を見つけた方は掲示板ででも教えてください。訂正します。このあたりの立場を貫く助けとするために、このページで女史の名前を引用する際には伏せ字にする場合があります。


分析

M女史登場

[300] VBソフトをMacで動かすにはにM女史が初登場します。

VisualBasic初心者ですが、早くも自作のゲームなど開発しています。

ところで、VBで作ったプログラムをMacで動作させるにはどうしたら良いでしょう?

そのままではダメだという話ですが、なるべく低コストで手っ取り早い方法がありましたら教えてください。

この、最初の発言自体は、それほどの問題はありません。しかし、早くも自作のゲームなど開発しています。のくだりには、後に現れる傲慢な発言の片鱗を見ることができます。

また、このMLは「雑談プログラミングML」であって、「VisualBasic ML」ではありません。それを考えると、そもそも投稿先を間違えている気もします。その場が何を扱っているところなのかをきちんと見極めて、適切な投稿先を選ぶのは最低限のマナーです。オフラインでも、いきなり今までの話と関係ない話題を持ってきて、「さあ、答えろ」と要求したら、相手は怒ります。或いは無視されるでしょう。

それから、何故かは知りませんが、全角英数の使用を不快に思う人も多いようです。そういう人への配慮をするならば、VisualBasicではなく、VisualBasicと書くべきなのでしょう。


タコは別に問題ない。しかし、

REAL Basicによる再コンパイルを薦められた女史は、それを一蹴します。

あの〜(笑)

私はVBのソースを読みこみたい(ゲームの特性上、上っ面だけのソースを読みこんでもあまり意味がないのです。ちなみに英文法に関するゲームですが、作成には英文法に関する緻密な知識がむしろ必要なので。)のではなくて、自分の作ったVBゲームをMacで動かすにはどうしたら良いでしょうか?と聞いているのですが...

こういう場合、バイナリをそのままで利用者にエミュレーターを要求するよりは再コンパイルしたほうが良いと思われますが、そのあたりの判断がつかずに折角の提案を一蹴してしまいました。

無知であることそれ自体は罪ではありませんし、自分で調べてどうしても分からないとき、知っていそうな人に聞くのも間違ったことではありません。ハッカー(クラッカーではない)と呼ばれるような人たちも、最初は初心者でした。みんな誰かに教わって成長してきたのです。Linux界では、そういう初心者は「タコ」と呼ばれて大事にされていますし、初心者向けの質問掲示板にいる回答者は、好きこのんでそういう活動をしているのですから、何も質問を申し訳なく思う必要はありません。

また、初心者は間違えるものです。女史が再コンパイルを一蹴したような不適切な判断は、誰にでも可能性のあるものです。これ自体は問題ありませんし、場合によっては誰かがそのあたりを指摘してくれるでしょう。

女史の問題点は、親切で判断の誤りを指摘してくれた人までも、一言で切り捨てて、自分の判断を絶対と確信していることです。

質問者は、回答者は自分よりも知識があると考えたからこそ、質問したわけですよね。と、すれば、回答者の回答を少なくともきちんと検討してみるべきであって、自分の思いこみを無条件に回答よりも優先させることがあってはなりません。実際のところ、回答者の方が正しいことは多いので、女史のようなことをすると、「初心者に馬鹿にされた」回答者は不快を感じます。


自分で調べなさい

**(編注: 女史の名前)です。

> えぇっとぉ、、、

> そのゲームのVBなソースをMacで(っていうかこのRealBasicで)
> 読み込んで、コンパイルすればMacで動くんじゃないかにゃ。。。?

> <たぶん

わかりました。

現在DL中です。

ところで、これって、コンパイルも出来るのですか???

値段とか書いてなかったけど、フリーウェアですか?

入手先を教えてもらって、ダウンロードできたのですから、探せば機能についてはいくらでも書いてあるはずです。見れば分かることを聞くのは嫌われます。

質問はいくらしても構いません。ただし、自分で調べたあとならば。技術系コミュニティの基本は自助努力と相互扶助です。自分で可能な限りの努力をして、どうしても解決できないときだけ人に聞くのです。親切な人はインターネット上に幾らでもいますが、自助努力をしない人が相互扶助に甘えようとすると嫌がられます。

回答者は好意に基づくボランティアの人間だと言うことを忘れないでください。何か、サポートセンターと勘違いする人がいますが、回答者は貴方の質問に答える義務はありません。義務がないのに、初心者への好意故に答えてくれているのです。

回答者は人間です。自動回答マシーンではありません。ネットワーク上では相手の顔が見えないことから、質問をすると自動的に回答が返ってくるように勘違いする人がいますが、回答者は人間です。睡眠時間なり、余暇なり、勤務時間(←おい!)なりを、貴方のために割いてくれているのです。間違った回答をしないために、一応リファレンスを引いてみるようなこともしばしばです。サーチエンジンで調べて、それなりの時間がかかることもあります。質問を読んでからISPにつなぎ直すダイヤルアップユーザーもいます。

貴方が質問すると、回答が得られるまでにそれなりのコストがかかっていることを忘れないでください。

そのあたりをわきまえずに、安易に質問を連発する人間を「教えて君」と言います。女史の教えて君ぶりにあきれたML参加者の言葉です。(http://www.freeml.com/ml_view.php?ml=programming&pg=318)

このMLでは、こういう「教えて君」の相手もするのですか?

まぁ、したい人がすればいいことですが。

女史以外の例

C++の掲示板でよく見かける質問を例にします。

クラス定義に仮想関数を加えるとクラスのサイズが大きくなると聞きましたが、複数の仮想関数を加えるとどんどん大きくなってしまうのですか?

確かに、入門書にはこういうことは書いてないかも知れません。しかし、こんなものは、

class A
{
	virtual void hoge();
}
...
cout << sizeof(A) << endl;
class A
{
	virtual void hoge();
	virtual void hogehoge();
}
...
cout << sizeof(A) << endl;

を書いて比べてみれば良い話です。簡単なテストプログラムぐらいは自分で書きましょう。


やったことは書け。分からないことは分からないと言え。

REAL Basicをダウンロードしたが、ダウンロード後どうすればいいか分からない、と女史は言います。それに対する愛猫氏の回答です。

ねこでし♪

T***** M*****さん(編注: 女史のこと)は書きました:

>RealBasic、ダウンロードしたのは良いのですが、
>Binファイルなんて初めてだし、どうやって使えば
>良いのかさっぱりわかりません。
>
>どなたか教えていただけませんでしょうか???

検索サイトとかでいろいろ探してみたらいいにゃ♪

http://home.att.ne.jp/red/kohana/MTE121/MTE1Amain.html

とか

http://www.elm.timis.ac.jp/~upage/library/99_a_semi/u7213tn.pdf

とかがいいみたい

<ちょっと見ただけですけど

<<他にもいっぱいあるかもかも。。。

調べ方すら分からないと言うのは、初心者にはありがちなことです。それで、つい曖昧な質問になってしまうものです。

調べ方が分からないときは、とりあえずサーチエンジンや過去ログに色々なキーワードを与えて試行錯誤し、とにかく検索を試みるべきです。それでもうまい資料が見つからないならば、「**の調べかたがわかりません。どんなキーワードを使えばよいでしょうか」「**について勉強できる本・サイトを知りませんか」と質問しましょう。

検索すればすぐ分かることを、「とにかく何にもわかんない」とだけ書いても大抵無視されます。親切な人が検索の仕方を答えてくれる場合もありますが、貴方の印象は悪くなります。

また、既に調べて、見つかった資料を読んだけれどもそれでも分からない場合は、自分がどこまで調べたのか、どういうテストをして、どういう結果になったのかを書きましょう。

そういう情報は質問者の努力を感じさせて印象を良くします。また、質問者の知識がどの程度か、どういう理解をしているのか、何をしたいのかを読みとれるので、回答者にとって貴重な情報です。

……わざわざ検索してきてくれた愛猫氏に対して、女史はお礼一つ言いません。


話が通じないのはお前が悪い(大抵は)

さて、REAL Basicの機能を尋ねて、見れば分かることくらい自分で調べろと言われた女史は、調べた結果こう言います。

調べました。

あの〜 これ、ダメですよ。(笑)

私はWindows上で作ったWindows用のファイルをMac用に変換したいんです。

ここまでの流れにおいて、ML参加者たちは、女史から得られる情報の範囲内で最上の判断を下し、最高の回答をしています。それに対する返答がこれです。

初心者は状況を的確に記述できない。これは当たり前です。回答者としては最も頭の痛い問題ですが、仕方のないことです。

しかし、これ、ダメですよとは何事ですか。まったく。回答者は苦労して初心者が何を言わんとしているかを判断しているのです。その結果初心者の意図がうまく伝わらず、頓珍漢な回答が返ってくることもあります。大抵は、これは回答者の能力不足ではなく質問者の記述力不足です。

念のために言っておきますが、初心者が自分では的確に表現しているつもりでも、知識のある人から見るとそれはしばしば不的確です。うまく記述できたという自信を根拠に回答者の能力を疑わないでください。

どんな変な回答があったとしてもそれを馬鹿にしてはいけません。苦労して回答してくれた人への最低限の礼儀です。


(笑)

調べました。

あの〜 これ、ダメですよ。(笑)

私はWindows上で作ったWindows用のファイルをMac用に変換したいんです。

先ほどの女史の発言にはもう一つ問題があります。「(笑)」です。

好意的に解釈すると、女史が書いた(笑)は、「やだ〜。違うのよ。私が言ってるのは。わたしの言い方が悪かったかしら。うふふ」という可愛らしい笑いをイメージしての記述とも取れますが、これまでの女史の発言と、インターネットにおける「(笑)」の使われ方を考慮して普通に判断すると、「(笑)」は嘲笑に見えます。

相手の顔が見えないインターネット上では、相手の誤解を招く表現は避けるべきです。特に、発音の抑揚によって表現されるニュアンスは、最悪の形で解釈されることを覚悟すべきです。

そういう意味で「(笑)」は微妙です。はにかんだ「うふふ」のつもりが全人格否定の嘲笑と解釈されるかも知れません。安易な使用は避けるべきでしょう。

女史はこのあとも、「(笑)」を連発します。


よく読め

さて、女史はその後、Windows用のバイナリをMac用のバイナリに変換するコンバータが欲しいと言い出します。というより、初めからそういうものが欲しかったようです。回答者たちの苦労によって、記述力不足の女史からやっとこれだけの情報を取得できたわけです。

そのような自動変換は多分無理である、と回答すると、女史はこう言います。

でしょう?(笑)

では、このRealBasicっていったい何ですか?

VB言語が読めて、コンパイルできるなんて嘘でしょう?

「REAL Basicで再コンパイルすれば大丈夫」「再コンパイルなしでバイナリ→バイナリの変換は無理」という情報から、どうしてこういう結論になるのか理解不能です。

好意的に解釈すると、初心者なのでコンパイルなどの概念が良く分かっていなかったための誤解とも取れますが、回答者を笑い飛ばしたり、「嘘」と決めつけたりという傲慢な態度がそのような好意的な解釈を阻みます。

先ほども言ったように、回答者の回答はそれなりのコストを費やしたものですから、きちんと読むのが礼儀です。流し読みしかしなかったために文意を誤解し、更に質問を重ねる人がいますが(例:女史)、回答者はそこまでつきあい切れません。

実際のところ、初心者はほんのちょっとした間違った先入観のためにつまずいているということも多いものです。その先入観を正してもらえれば、直ぐに問題を解決できることもあります。しかし、流し読みしかしないと、回答をその先入観に沿って読んでしまいますから、解決から遠ざかるのみならず、回答者が「矛盾した」「意味不明の」ことを語っているようにも見えます。流し読みは質問者・回答者双方にとって敵です。

私ならここまででぶちきれますが、穏和で親切なML参加者たちはまだ、丁寧に回答してくれています。つくづく、尊敬に値する人たちです。


日付はよく見ろ。相対位置は正しいか。

1/31に、しらかわよふね氏が、[386] Re: VBソフトをMacで動かすにはのレスをつけました。しかし、氏のところへのMLの配信が遅れていたため、親メッセージである女史のメッセージは1/27のものであり、その間に、女史の中では「利用者にエミュレータを要求する」ということで問題は解決していたのです。

氏の発言が、いい加減女史の非道ぶりにあきれて(お疲れさまです)、やや棘のあるものだったことも重なり、女史は逆ギレします。

だから、この話題はもうずいぶん前に解決したのです。

どうして今ごろ蒸し返すんですか???(笑)

現在はDLLの話をしています。

私の目には逆ギレに見えますが、少し考えると、女史は「無礼な口を利くしらかわ氏に対して、感情的になることもなく、冷静に諫めた」つもりだったのかも知れません。つくづく天然系荒らしです。

普通は遅レスにここまで過剰反応しませんし、女史に同情の余地はありません。しかし、「日付はよく見よう」という教訓を読みとることは可能です。

また、2ちゃんねるなどでよく見かけますが、

↑ これはどうかと思う。違うんじゃない?

のように、ツリーの概念のない掲示板で「↑」で直前の発言を参照し、それに対してコメントをつけるやり方は危険です。自分の発言が書き込まれる直前に他の人の発言が書き込まれるかも知れないからです。

とは言っても、にちゃんねるの場合、参加者(にちゃんねらー)は初めから荒らしの存在を覚悟(or 期待)して集まってきますから、あまり問題になりませんが。あとは、「↑」表記で失敗しても「123のレスは >>121に対して。しくじった。鬱だ氏脳」と書いて許されるおおらかさがあるためかな?

ともあれ、「↑」参照は時として危険です。

それから、ツリー掲示板やメーリングリストでも、ツリー上の本来と違う場所にレスを書き込んでしまうミスが稀にありますが、批判的内容でこれをやると不必要に険悪になったりするので、これも注意しましょう。まあ、稀なことですから、あまり言う必要もないのかな。

そういえば、この枝の最後の方で、女史が問題行動を全く自覚していないことが明らかになります。しらかわ氏に完全な逆ギレをしています。http://www.freeml.com/ml_view.php?ml=programming&pg=416とそれに対するレスをご覧ください。


マルチポストは避けるべし

女史の、きたがわ氏に対するレスです。

> プログラムを作り、多くの人に使ってもらうならまず、その人のパソコンの
> 環境を考えてあげましょう。Windows系ですら95/98/me/NT/2000と
> 入り乱れてるわけだし…。

> 全ての人があなたと同じ環境・ハード/ソフトウェア構成なんて
> 事は絶対にありません。だから、同じOSでも動く・動かないが出てきますし。

> 最低限として、動作確認環境などを明記すべきです。

> 配布されてるソフトは、対応OS、必要スペック、開発環境が
> パッケージや配布ファイル内、DLするHP等に大抵書いてあります。

そのことに関しては、前からいろいろ検討してきました。

そして、サービスパックを使うことにより、少なくとも使用環境においてはすべての問題が解決するという結論にいたりました。(別のMLで、ですが。)

複数の掲示板やMLに対して同時並行的に同じ質問をする(マルチポストする)人がいます。一般的にはこれは避けるべきです。回答者の能力を疑っているかのようにも見えるからです。これを考えすぎだとする人もいますが、気にする人がかなりいる以上は、質問者としては無用の摩擦を避けるべきです(ただし、場所によっては「マルチポスト歓迎」とある場合もあるので、投稿前に規約をよく読みましょう)

また、掲示板やMLの情報は蓄積することで公共財となります。今後貴方と同じ問題に遭遇した人が検索してそのスレッドを見つけたとき、「他のMLで解決しました」で終わっていたら、それ以上の情報を参照できません。結局その人は新にスレッドを立てて質問しなければならないでしょう。マルチポストはインターネットの公共的価値を低下させます。

「仕事に関係する質問でどうしても急がなければならないので、少しでも早く結論を得たい」などの場合は、マルチポストであること明示して、それを詫び、他の投稿先がどこにあるのか(掲示板ならURL)を明記しましょう。こうすれば、少なくとも後者の情報が途切れるという弊害は解決できます。


関係ないですが、女史がとんでもない結論に至って納得しているのは気になります。しかも、これのスレッドの上の方で、きちんとVBランタイムの互換性問題については触れているのです。結局、親切にも回答してくれている人たちの回答を、女史は全然読んでいないのです。

それから、この枝の下の方で女史が何やらM$社帝国主義に対して怒りを表明していますが、これはどうやら、「高価なVB開発環境がないとVBアプリが動かない」と思いこんでいたためらしいです。この思いこみのため、女史は「VBランタイム上位互換性の問題」を「エンドユーザーはVB開発環境の全てのバージョンを買いそろえなければならない」と解釈して怒っていたのです。私が初めて読んだとき、この点が分かりにくかったので読解のためにお断りしておきます。

ここまででは、それ単独では問題のない、若しくは許容範囲内の言動については触れていません。しかし、女史の些細な発言までも網羅しなければ、このMLの人たちの感じたであろうストレスを想像することはできません。興味のある人は関連スレッドを全読してください。FreeMLの過去ログはスレッド内移動が不便に思えたので、ナビゲーション用フレームページを作ってみました。ご利用ください。


礼を言え

[528] このMLってから始まるスレッドで、ML参加者の怒りが遂に爆発しました。穏やかに諫めても遠回しに皮肉を言っても全く通じない女史に対して、参加者は露骨に嫌悪を表明し始めます。良くここまで耐えました。もう一度言います。私はこのMLの人たちを尊敬します(except 女史)。

これに対する女史の逆ギレは以下の通りです。

ご自分こそ、これまでMLの場を借りてなんと馬鹿げた個人中傷をやってきたか、ちょっと冷静になって過去ログを振り返ってみられてはいかがですか?(笑)

どうも個人的に私に何かあるとしか思えない内容ですね。でも残念だけど、私はあなたなんか問題にもしてませんけど。

ところで、このML、もうこれ以上レベルの高い収穫はなさそうだからこのへんで退会しますね。どうも大きな御世話になりました。

中略

どうやったら退会できますか?(笑)

やれやれ、最後まで教えて君です。

自分の質問が済んだら即座に退会……。完全にMLをサポートセンターと間違えています。ついでに、ML参加者を自分の下僕と間違えています。

女史に合わせてレベルを下げてくれた人たちを「低レベル」呼ばわりです。まあ、コンピュータの世界では「高級」「低レベル」は日常言語とは違う意味合いがありますが、この一文は明らかに皮肉ですし、「高級言語」「低レベルIO」などの言葉が女史の知識にあるとも思えません。

お世話になりましたとは、このMLにおける女史の初めてのお礼の言葉です。しかし、皮肉のつもりで言っているのは明らかなので、カウントしないことにします。結局、女史は少なからぬ時間とパケットを費やしてくれた参加者に対して、一言のお礼も言ってはいません。

訂正: http://www.freeml.com/ml_view.php?ml=programming&pg;=526に一言お礼があるようです。指摘感謝 > けきょ氏

人にものを尋ねる。教えてもらう。礼を言う。これはインターネット上に限らず、当たり前のことですよね。ネチケット以前に、日常生活の当たり前のマナーは守るようにしましょう。


結末

斯くて稀代の天然系荒らし・M女史は退会し、雑談プログラミングMLに平和が訪れました。そして、にちゃんねるのプログラマ板では、女史の名前は「最悪の初心者」の代名詞として定着を始めたようです。


関連URL


雑談プログラミングMLの関連スレッドナビゲータ

FreeMLの過去ログ表示は、スレッド内を渡り歩くには不便に感じたのでフレームを使ったナビゲーション用ページを作ってみました。

スレッドナビゲータ作成に使ったスクリプトを、何だかもったいないので配布します。tr.plです。

MLの過去ログをとりあえずローカルに保存してから、スクリプトに処理させた方が楽な気がして、即興で書いたものなので、理不尽で応用の利かない仕様&酷いコーディングです。Perl厨房と呼ばないで。

無保証・無サポートです。

著作権は放棄していませんが、複製・改変・再頒布は制限しないので、好きなように使ってください。ただし、無保証・無サポート。


謝辞

この文書を作成するにあたり多くの方々にお世話になりました。この場を借りて、御礼申し上げます。

(五十音順)


仕様書なしさん

匿名でも著作権は放棄していません。ただし、複製・再配布は自由です。2ちゃんねるの常識の範囲内でのパロディ等改変には余程悪質でない限り多分文句を付けないので適当に使ってください。