名前空間
新月はP2P匿名掲示板ですが、 もう1つの特徴に名前空間のシステムがあります。 これはWikiやIRCの構造を取り入れたもので、 掲示板でこの方式を採用しているのは新月の他には僕は知りません。 これは新月の提供するP2Pネットワークとの相性がよいのです。
Wikiの例としてYukiWikiを取り上げますが、 どのWikiエンジンでもたいてい同じだと思います。 YukiWikiでは[[ぬるぽ]]のように書くと、ぬるぽというページへのリンクになります。 それをクリックするとぬるぽページが表示されますが、 もしぬるぽページがなければ編集ページになります。 ぬるぽページがあっても、その内容を全て消してしまえばページが消えます。 そうなってからぬるぽページへのリンクをクリックすると編集ページになります。
IRCにも似たところがあります。 チャンネル名を入れればそのチャンネルに入れますが、 もしその名前のチャンネルがなければ、自分がチャンネルを作ることになります。 参加者がいるときにはチャンネルに入ることができますし、 誰もいなくなってからチャンネル名を入力すればチャンネルを作ることになります。
共通点は次の4点です。
- 名前が実体を参照している
- 実体があればそれが表示され、なければ実体を作ることになる
- 実体は消えることがある
- 最初から実体がない状態と、一度実体ができてから消えた状態は同じ
新月はP2Pネットワークでデータをミラーリングします。 誰か1人がデータを消しても、残りの人が持っていれば全体としてのデータは残ります。 しかし全員がデータを消すということもあるでしょうし、誰かがデータを持っていても ネットワーク上から探し出すのは困難だということもあります。 つまり新月ではデータが完全であることは保証されません。 また、手元にデータがなかったり、 ネットワークを探しても見付からなかったとしても、 データが存在しないと言うことはできません。 ネットワークからデータを探し出すことができなければ、 上の特徴の1つである、実体が消えることに相当します。 実体が消えても名前が生かせるよう、新月の名前空間は設計されています。
新月ではリストやスレッド、ノートからリンクを張ることができます。 リストはリンク集として機能します。 そのほかの場合は[[ぬるぽ]]形式を拡張したものです。 リストがリンク集だということに注意してください。 リストに名前を加えたとき、実体は生成されません。 そのため既に実体が存在するかしないかに関わらず、 名前を加えることができます。
この点が多くの2ch型掲示板との違いです。 それらの場合はスレッドが固有のIDをもち、IDに名前が関連付けられています。 新月では名前にデータが関連付けられるのです。
参照: プロトコル