ウィキ

ウィキ（wiki）とは不特定多数のユーザーが共同してウェブブラウザから直接コンテンツを編集するシステム、またはそれを採用したウェブサイトである。一般的なウィキにおいては、コンテンツはマークアップ言語によって記述されるか、リッチテキストエディタによって編集される。
ウィキはウィキソフトウェア（ウィキエンジンとも呼ばれる）上で動作する。ウィキソフトウェアはコンテンツ管理システムの一種であるが、サイト所有者や特定のユーザーによってコンテンツが作られるわけではないという点において、ブログなど他のコンテンツ管理システムとは異なる。またウィキには固まったサイト構造というものはなく、サイトユーザーのニーズに沿って様々にサイト構造を作り上げることが可能であり、そうした点でも他のシステムとは異なっている。
ウィキウィキはハワイ語で「速い」を意味する形容詞のwikiwikiから来ており、ウィキのページの作成更新が迅速であることを表し、ウォード・カニンガムがホノルル国際空港内を走るシャトルバス"Wiki Wiki Shuttle" からとって "WikiWikiWeb" と命名したことに始まる。
ウィキのソフトウェアは、デザインパターンの共同体で、パターン言語を書くために創られた。1995年にウォード・カニンガムが確立したPortland Pattern Repositoryが初のウィキだった。カニンガムは、ウィキの概念を発明し名付け、ウィキエンジンの初の実装を製作した。元々のウィキだけが、（先頭が大文字のWiki）あるいはウィキウィキウェブと呼ばれるべきだと主張する人もいる。カニンガムのウィキ（Wards Wiki）はいまだに、最も人気のあるウィキサイトの一つである。
上記の通り、20世紀の最後の数年に、ウィキは公開、非公開を問わずのナレッジベースを開発するのに有望な技術であることが、ますます認知されるようになった。そしてこの潜在能力は、Nupediaという百科事典プロジェクトにおける開祖ジンボ・ウェールズとラリー・サンガーに、ウィキ技術を電子百科事典の基礎として使うというひらめきを与えた。こうしてウィキペディアは、2001年の1月に始まった。初めはそれはUseModWikiを基にしていたが、後にいくつかの他のウィキから取り込まれた独自のオープンソースのコード基盤に切り替えられた。
今日においては、一番項目の多いウィキは英語版ウィキペディアといわれる。非英語のウィキペディアも世界でも比較的に大きい。しかし、2004年において世界で2番目に大きいウィキはUseModWikiというソフトを使うスウェーデン語のSusning.nuであったように、ウィキペディア以外にも大きなウィキは存在している。
ウィキでは通常、誰でも、ネットワーク上のどこからでも、文書の書き換えができるようになっている。そのため、共同作業で文書を作成するのに向いている。この特徴から、ウィキはコラボレーションツールやグループウェアであるとも評される。そして、学校でも使われている。貴重な脳細胞の無駄遣いを減らせる有用なツールであるとの評価もあり、プロジェクトマネージャが知るべきことの一つとしても挙げられることさえある。ソフトウェアとしては、初めに登場したプログラムに改良を加え、あるいはそれを参考にしたりして、現在では多くのウィキが出回っている。
WWW(ワールド・ワイド・ウェブ)サーバを用いずにウィキを実現し、個人のメモなどとして手軽に利用できるようにしたシステムを「ローカルウィキ」という。その場合、ウェブブラウザではなく専用のアプリケーションソフトを用いるのが一般的である。エンジンの構築が不要というメリットがあるが、アプリケーションごとにマークアップ構文が異なるというデメリットも合わせ持つ。
多くのウィキに共通する特徴を以下に掲げる。
大抵のウィキはそれぞれ独自のマークアップ構文を持ち、ウィキの文書はその構文に従って記述され、そして文書ファイルとして保存される。また文書が閲覧されるときには、マークアップはウィキエンジンによって適切なHTMLに変換されて、ウェブブラウザはそのHTMLを表示することになる。簡単なウィキでは基本的なテキストのフォーマットのみが用意され、もっと複雑なウィキでは、表、画像、テンプレートによる定型文など、さらには投票やゲームまで実現するものもある。ただ、あまりに多様なので、標準化しようという動きがある。
（参考：国語辞典・漢和辞典・類義語辞典、三英傑#ホトトギスの喩え）
上の例では、HTMLでは<strong>〜</strong>タグを使って強調するところをウィキ構文では'''〜'''を使っていたり、ウィキ構文の二重角括弧で文部科学省|文科省という文字列を囲ったりすることで同じウィキ内の別の文書へのリンクに変換されているのが見て取れる。
HTML自体は高機能で、豊富な種類の要素を複雑に入れ子にしたり、見栄えを調整するスタイルシートなどを埋め込んだりすることもできる。一般的なウィキにおいては、これらの機能を制限することによって、個々のユーザーがスタイルを埋め込み、全体としての一貫性が崩れる可能性を回避している。また同時に、文書の見栄えではなく内容にフォーカスして投稿することができる。
さらに、発展的なウィキエンジンでは記事の編集にAjaxなどで作られたWYSIWYGエディタを内蔵しているものもある。これにより、クライアントサイドでの編集を容易にすることができる。ブラウザ外部のフロントエンドツールを用いて編集を簡素化するツールも存在する。
ウィキは真のハイパーテキストメディアで、その読者を関係するページへと容易にナビゲーションをする構造を持つ。各ページは通常、他のページへの多数のリンクを含んでいる。より大きなウィキには、階層的なナビゲーションページがしばしば存在するが、必ずしも使われる必要はない。リンクは特定の構文、いわゆるリンクパターンを用いて作られる。
当初はほとんどのウィキがキャメルケースと呼ばれるリンクパターンを用いていた。キャメルケースはフレーズ内の単語の頭文字を大文字にし、それらの間のスペースを除いて生成される（キャメルケース（"CamelCase"）という単語自体がキャメルケースの例である）キャメルケースによりリンクが非常に容易になったが、それはまた標準的な綴りとかけ離れた形のリンクが書かれる結果を招いた。キャメルケースベースのWikiは "TableOfContents" や "BeginnerQuestions" などの名前のリンクが多いことで即座にそれとわかる。
キャメルケースはさまざまな欠点をもっていたため、MediaWikiではフリーリンクと呼ばれる、[[二重スクウェア・ブラケット]]（二重角括弧）で囲ってその代わりとした。このようなキャメルケースを使わないリンク方法はウィキの開発者に代替の解決策を探すよう促した。様々なウィキエンジンは[]、{}、_または/など他の文字をリンクパターンとして用いている。
ウィキで新しいページを作るには、厳密には他のページからリンクされることによって作られなければならない。リンクはトピックと関係のあるページ上に作成される。そのリンクが存在しないならば、それは何らかの方法で「壊れた」リンクとして強調されることが多い。そのリンクをたどるとページを編集する画面が開き、ユーザはその新しいページにテキストを入力することができる。この仕組みによって全くリンクされていないページが作られる割合は格段に落ち、高い関連性を持ったページ群が保持されることとなる。
また、ある一定のサイズより少ない量しか内容のない記事（スタブと呼ばれる）や、ある記事にリンクする全てのページを表示するようにすることもできる。
ウィキは、一般に「間違いを犯しにくくするのではなく、間違いを直しやすくする」という哲学に従っている。そのため、ウィキは、非常にオープンである一方で、ページの内容に関する最近の変更の妥当性を検証するための手段を備えている。
ほとんどすべてのウィキにある最も優れた機能は、直近に更新されたページのリスティングである。これは、最近の編集に番号を付けた詳細なリストか、あるいは決まった期間に行われた全ての編集のリストである。一部のウィキでは、些細な編集や自動インポートスクリプト(bots) による編集を、フィルタして表示しないようにすることも可能である。
大半のウィキでは、更新のログから二つの機能を利用することができる。一つは「改訂履歴」で、そのページの以前の版を見ることができる。もう一つは「差分」機能で、二つの版の差異を強調表示できるものである。改訂履歴を使うと、以前の版を開いたり保存したりすることができて、それによって、変更される前の内容へと復元することも可能である。差分機能は、ウィキの利用者が最近の更新ページにリストされた差分を見て、許容できない編集だった場合、それを昔のものに戻す必要があるか判断するのに使うことができる。この手順は、使っているウィキエンジンにも拠るが、多かれ少なかれ自動化されている。改版履歴を保存し、過去の任意の版へ戻す機能を提供するウィキエンジンも多い。
もし許容できない他人の編集が最近の更新のページから消えてしまっても、それをさらに追いかける機能を持っているウィキ・ソフトウェアもある。ウィキペディアで使われているMediaWikiははじめて「ウォッチリスト」を備えたウィキで、自分が選択したページの最近の更新を見ることができる。
多くのウィキはユーザ登録を義務化することは避けているが、事実上すべての大きなウィキエンジンは、コミュニティのルールを常習的に破るユーザを制限するためのいくつかの方法を備えている。その最も一般的な方法は、ある特定のユーザの編集を禁止することである。これは特定のIPアドレスからのアクセスを禁止することで果たされる。しかしながら、多くのインターネットサービスプロバイダは、接続のたびに新たなIPアドレスを割り振るので、IPアドレスを用いたアクセス制限は比較的簡単にすり抜けられてしまう。また、無関係なユーザのアクセスを制限する結果になってしまうこともある。
小さなウィキでは、単に彼らにページを好きなだけ壊させて、破壊者が去った後にそのページをすぐに復旧することが戦術として採用されることが多い。この戦術は、大きなコミュニティの状況ではしばしば受け入れられないことがある。時限式の編集禁止措置が行われ、特定の範囲のIPアドレスから編集することを禁止する措置へと拡げられる場合もある。これを抑止力として破壊者がある期間内に編集が出来なくすることが可能となる。
さらに、いくつかのウィキはデータベースを読み出ししかできないモードに切り替えることができる。あるいは、期日までに登録されたユーザだけに編集を続けられるようにすることができる。しかし一般的に言えば、破壊者によるどんな損傷でもかなり早く復旧することが可能である。それよりも問題なのは、微妙な誤りがページの中に紛れ込み、他の人が気付かなくなっていくことである。
多くのウィキではある特定のページへの一切の編集を禁止することができる機能を備えている。MediaWikiの場合、ページの「保護」と呼ばれる。これを使うことは一般にウィキの基本哲学に反すると考えられるので、可能な限り避けるべきであるとされている。
大抵のウィキは、全文検索はなくても、少なくとも記事名の検索を提供している。検索の拡張性は、ウィキエンジンがデータベースを使っているか否かに強く依存する。データベースの索引呼び出し機能は大きなウィキでの高速検索に必須である。ウィキペディアでは、いわゆる表示ボタンで読者が検索条件を入力して、それにできるだけ合致するページを直接見られるようになっている。いくつかのウィキを同時に検索するためには、メタウィキ検索エンジンが作られた。
ウィキとして稼動するプログラムはウィキエンジンあるいはウィキクローンなどと呼ばれる。「ウィキクローン」という呼び名は、現在出回っている多くのウィキが、初めに登場した一つのプログラムに改良を加えたり参考にしたりして派生してきた経緯を表している。
ウィキのコンセプトは比較的シンプルであるため、現在では様々なウィキプログラムが作成されていて、中には、非常に単純な機能しかサポートしないとても小さなハッカー的実装から、高度に洗練されたコンテンツ管理システムまで、たくさんの実装が存在する。ウィキプログラムの多くはオープンソースのソフトウェアであり、TWikiやウィキペディアのような大きなプロジェクトは共同で開発されてきた。多くのウィキは高度にモジュール化されており、プログラマがコード全体を把握しなくても新しい機能を追加開発しやすいように、APIを備えている。
個人が開設したゲーム情報・攻略サイトが多くウィキのシステムを使ったことから、日本では「ゲーム攻略情報サイト＝ウィキ」という誤用が発生し、そのまま一部で定着している。ゲームエイト、AppMedia、ファミ通Appなどのゲーム攻略情報サイトが、「攻略wiki」といった名称を使っている。
日本語用のサービスは2018年3月現在存在しないが、色々なウィキサイトへ連れて行ってくれる仮想的な"バスツアー"というものがある。単にそれは、参加する各々のウィキ上の「ツアーバス停」と呼ばれるページである。それは次のバス停へのリンク--基本的には、ウェブリングというようなものを持っている。各々のバス停のページは、そのウィキに関するいくらかの情報を示していて、どのウィキを探検するかを選ぶことができる(つまりバスを降りる)、あるいは次のウィキへのツアーを続けても良い。
ゲーム特化