ANS-prog : プログラマが質問し、プログラマが答える Q&Aフォーラム
先日もちらっと書いたが、 ANS-prog : プログラマが質問し、プログラマが答える Q&Aフォーラム をオープンした。既に一週間ほど運用しているが、十分安定しているようだ。
Stack Overflowとは
さて、「Q&Aフォーラム」と聞いて、どんなイメージを持たれるだろうか?
『Q&Aフォーラムってあれだろ、学生が宿題丸投げするところ』
いや、それは「Yahoo 知恵袋」だ。このフォーラムは、http://www.stackoverflow.comのクローンである OSQA で運営している。
Stack OverflowとYahoo知恵袋などのサービスは何が違うのだろう?一般ユーザ用サービスと専門技術者向けサービスという違い以外にも、Stack Overflowにはこんな特徴がある。
コミュニティによる Q&Aの改善
Stack Overflowでは、自分の投稿だけでなく、他人が投稿した質問や回答であっても編集することができる。しょーもない質問であっても、みんなで質問と回答を改善し、より役に立つ情報を残せるのだ。
メーリングリストや掲示板などでは、通常
Q: 動きません、助けてください!
A: "動きません"では分かりません。もっと具体的に
Q: XXXというエラーが出ます
A: 動作環境はなんでしょう?
Q: OSはXXXXです
などというやりとりを延々と続けて、やっと回答にたどり着くことが多い。途中、回答者からのお説教や質問者の逆ギレが含まれたりもする。これでは後から参考にするのは難しい。Stack Overflowでは、こういった雑音を除去できるのである。
質問と言うのは、実は回答よりも貴重なものである。回答なんてものは、質問さえあればいくらでも答えることができる。しかし、質問はそうはいかない。中・上級者は自分で問題を解決してしまうか、解決できなくてもプライドがあってなかなか公に質問したりできない。初心者にしか書けないのだ。
そして初心者は上級者には思いもよらない疑問を思いつくことができるものだし、変な使い方をしてソフトウエアのバグやドキュメントの不備などを探り当てる、不思議な能力を持っている。一見くだらない質問でも、考えてみると興味深い問題にぶつかるというのも良くある話だ。
こんな貴重な「質問」を、質問者の説明がヘタだ、というだけで捨て去ってしまうのは実にもったいない。Stack Overflowでは、そんな質問からでも意味のある知識を精錬し、ナレッジベースとして残せるのだ。
コミュニティによるモデレーション
不適切な質問や回答というのは混ざってくるもので、明白なSPAMや救いようのない罵詈雑言なんかも投稿されてくる。Stack Overflowでは、コミュニティのメンバーがそんな質問への回答を打ち切ったり、削除したりしたりできる。
カルマ
投稿の編集やモデレーションは、誰でもできるわけではない。Stack Overflowで活動を重ねると、「カルマ」というポイントが貯まる。この「カルマ」が増えるに従って、いろいろな権限を得られるようになっている。
コミュニティによる評価
質問や回答には、メンバーが投票できるようになっていて、この投票によってもカルマが増減するようになっている。プラス投票があれば15ポイントのカルマを得られ、逆にマイナス投票なら1ポイントを失う。
タグ
質問をカテゴリーで分類せず、タグを付けて管理している。「Java」と「データベース」というカテゴリーがあったとき、「JavaからMySQLに接続できません」という質問は、どちらのカテゴリーに属すべきだろうか?プログラミングという大きなカテゴリーの中では、こまごまとしたカテゴリー分類は逆に有害だろう。
また、興味のあるタグの質問だけをRSSかメールで通知を受けられるのも便利だ。
バッジ
活動に応じていろんな「バッジ」が授与される。例えば質問の閲覧回数が一定回数を超えれば、「人気のある質問」バッジが与えられる。
使い始める前はバッジの何がうれしいのか良く分からなかったが、ANS-progの運営を開始して実際にもらってみると意外とうれしかった。人間とはお世辞に弱い生き物であり、安っぽいバッジでも十分に効果的なのである。
ANS-prog
以前から、私は気軽にStack Overflowを使える英語圏の人々をうらやんでいた。Stack Overflowでは多くの質問と回答が日々積み上がっており、現在ではインターネット上でももっとも役に立つナレッジベースの一つに成長した。
日本でも似たようなサービスがスタートしないかと期待していたが、どうやら誰も手を出す気はなさそうである。そうこうしているうちに、OSQAのように手軽に使えるStack Overflowクローンも出てくるようになった。これは一つ自分でやってみよう、という事で ANS-prog を立ち上げた次第である。本家Stack Overflowほどの人気は望むべくもないが、日本語のプログラミングQ&Aコミュニティとして、ほそぼそと役に立てばと思っている。
現在、すでにPython関係では日本屈指の回答陣がユーザとして登録しており、他の分野でも優秀なエンジニアも参加している。大抵の質問には対応できるはずだ。自分で解決できない疑問は
ANS-prog : プログラマが質問し、プログラマが答える Q&Aフォーラム
までお寄せ頂きたい。あなたの質問が、明日の後輩を救う(かもしれない)のだ。