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