Peer-to-peer wiki is a server-less system that allows wiki sites to be shared between peers. It is based on a peer-to-peer version control system, which takes care of sharing, transmitting the updates, and storing the history of pages. The first P2P wiki system was designed and implemented by Reliable Software as part of their P2P version control system, Code Co-op. Buzm is a P2P desktop application that integrates and extends TiddlyWiki.
Rather than using an internet server, a P2P wiki site is stored directly on each user's computer as a collection of wiki files. This forbids "write locks" on files designed to maintain file consistency during contention for writing. Many people can read a file even while it is being written: they may be reading different versions of the same file. However, if more than one person can write a file at any given time, and they are working from different versions, then a wiki file stored on many servers can be structurally inconsistent: the data being written can only have one length. Wikipedia, itself, solves this problem by letting one editor, the latest, edit the former submission.
A special viewer is used to display local wiki files in the form of web pages. The viewer also takes care of resolving wiki links. When the user clicks on a wiki link, the wiki page to which the link points to is loaded into the viewer and displayed. If the page doesn't exist, a new page is created and the user may start editing it with a text editor. What if the page exists on some other site? Should the viewer look for it on a central site?
Version Control System Edit
A P2P wiki site is shared with peers using a P2P version control system. Such system can replicate the wiki site on multiple computers. The peers collaborate on the development of the site by modifying wiki files and checking them into the version-controlled project. The version control system then takes care of distributing and merging the changes. It also keeps a history of each file and allows the restoration of earlier versions.
- Research on P2P wiki
- Code Co-op 5.0, the product that implements P2P Wiki
- Design of a research P2P wiki engine
- Larkware News review of Code Co-op
- Research on P2P wiki
- Wooki:An open source P2P Wiki system
- Bouillon: a P2P wiki project