Wiki software is a type of collaborative software that runs a Wiki system. It is usually implemented as a CGI script that runs on one or more web servers, with the content generally stored in an Relational Database Management System, although some implementations use the server's filesystem instead.
The first such software was created by Ward Cunningham in 1995, but given the relative simplicity of the wiki concept, a large number of implementations now exist, ranging from very simple "hacks" implementing only core functionality to highly sophisticated content management systems. The primary difference between wikis and more complex types of content management systems is that wiki software tends to focus on the content, at the expense of the more powerful control over layout seen in CMS's like DruPal and WebGUI.
"Wiki software" could be interpreted as comprising all of the software required to run a wiki, which might include a web server such as Apache, in addition to the "Wiki engine" itself, which implements the wiki technology. In some cases, such as EddiesWiki , the web server and wiki engine are bundled together as one system.
The majority of wiki engines are open source, often available under the GNU General Public License (GPL); large projects such as TWiki and the Wikipedia engine, MediaWiki, are developed collaboratively. Many wikis are highly modular, providing APIs which allow programmers to develop new features without requiring them to be familiar with the entire codebase.
It is hard to determine which wiki engines are the most popular, although a list of leading candidates might include UseMod, TWiki, MoinMoin, PmWiki and MediaWiki. A list of some of those available is included below, and another can be found at Wiki:WikiEngines.
How to choose a wiki engine
When choosing a wiki engine, criteria to consider might include:
- Who is developing it? A single person or a growing team?
- What license is it distributed under?
- Who is using it? A good wiki engine is likely to have a large group of existing users, and this is helpful if you need support running it.
- Features for editors: easy to write (and powerful) formatting rules, WYSIWYG capabilities, sectional editing, easy to roll back to earlier versions, file upload, insert image, able to write complex formulae etc.
- Features for readers: table of contents, search, navigation bar, access statistics, article rating, high quality printable version.
- User management: user personal page, personalized toolbar and preferences.
- Groupware features: forum, gallery, message system.
- Access controls. This is important for company intranet with security consideration.
- Be able to import external files (html, doc), export to external files (doc, pdf)
- Customizable interface: including main page, topbar, bottombar, sidebar; skins.
- Multilingual support.
- Extensibility: what third-party plugins exist, and what mechanisms are there for creating them.
- Scalability: Is it suitable for large amount of pages or just a light-weight wiki software? Most scalable wiki software need a back end database to store pages.
Examples of wiki software
- MoinMoin  is a Wiki clone written in Python. Offers good access control based on user groups.
- Piki  is a Python-based Wiki. It is fairly basic, quick and simple to install, and offers reasonable security.
- Pikie  , another Python-based Wiki, offers more features than Piki. It produces a Wiki that resembles a typical website, and allows visitors to choose which "skin" to view the site with.
- PyBorg  is a Python-based Wiki. It is very simple and easily configurable.
- Trac  , is a Wiki clone that integrates simple issue tracking and an interface to Subversion.
- Wikinehesa  is a Python Wiki which also boasts more features than Piki. It is designed to address security issues found in some wiki engines, and is easy to install. It allows centering of images and text, and prevents image uploads overwriting existing filenames. It is Free Software released under the GPL.
- WyPy  is a Python Wiki with a very minimalist function set, implemented in a mere 11 lines of code.
- Zwiki  is a Zope-based Wiki clone. It integrates with the CMF content management framework and Plone, and has several input page syntaxes available.
- CoTeia  -- XML-based Brazilian collaborative authoring tool with access control (optional), concurrency control (WebDAV), chat server, annotation server and site map. Runs on MySQL.
- coWiki  -- follows the tradition of loose wikis with easy and intuitional markup, adding Unixlike access management, a directory/document hierarchy, and a plugin API for your functionalities and enhancements. All documents are parsed to XML for further export and transformation. coWiki is modular, template-based and multilingual. Requires PHP5 and MySQL
- DokuWiki  is a simple-to-use Wiki aimed at the documentation needs of a small company. It uses plain texts files and has a simple but powerful syntax which ensures the datafiles remain readable outside the Wiki.
- ErfurtWiki  -- embeddable into existing sites, uses SQL or flat-file backend, single script, allows plugins.
- GetWiki  is a highly modified version of version 1.1.0 of MediaWiki
- MediaWiki was custom-designed for the high-volume Wikipedia encyclopedia project. It is written in PHP and uses a MySQL database backend.
- PhpWiki  is a WikiWikiWeb clone in PHP.
- PukiWiki   is a PHP-based wiki (Japanese).
- PmWiki  is a PHP-based wiki. Features include: GPL-licensed, easy installation/customization, designed for collaborative authoring and maintenance of web sites, and support for Internationalization. Does not require a database.
- QwikiWiki  is a wiki designed for simplicity. It is easy to install, supports files and images, and stores pages in the file system.
- StikiWiki  is a wiki with a wysiwyg editor, designed to be easy for newbies to use.
- Text Wiki  is an object-oriented wiki parsing and rendering library. It does not implement page storage or other functions of a complete wiki application; it abstracts wiki markup elements into separate classes, then provides multiple output methods of the parsed source (XHTML and plain-text are currently supported, RTF, PDF, and LaTeX are on the way).
- TikiWiki  is one of the larger and more ambitious wiki development projects, including a variety of additional groupware features (message forums, articles, etc.).
- TipiWiki  is intended to be small, simple, and strictly XHTML standard-compliant; it uses plain text files.
WakkaWiki is a PHP/MySQL-based lightweight wiki engine. Wakka is no longer maintained, but survives in a number of forks:
- CitiWiki  has been called the "Wiki of the next generation".
- CoMaWiki  -- inspired by WakkaWiki but unlike the WakkaWiki forks this project is not open source; offers a lot of features, free for private use.
- UniWakka  , another fork of Wakka, aims at providing a collaborative authoring tool for scientific web content. It supports WikiFarms installations, MathML, footnotes, tables of contents, bibtex import and export, latex export, latex-like citations, OpenOffice export and more.
- WackoWiki  is a fork of Wakka, with many new features. (multilingual)
- WikkaWiki is a light, flexible and highly configurable fork of Wakka with many improvements and new features.
- WikiNi [ ] a French fork of Wakka.
- WikiRootry  is a Wiki Project written in PHP. It stores data in plain files, so no database is needed. Though simple, it has a number of "pro" features, including admin control, user management, and automated backup.
- wikiX  -- PHP/MySQL-based wiki. It aims to allow users to redefine syntax by using wikiXmacros and various stages of PHP plugin.
- WikkiTikkiTavi  -- Written in PHP, uses MySQL
- CLiki  is a free collaborative hypertext authoring program written in Common Lisp. Modelled on Wiki, it is free software released under the MIT license. It presently runs in SBCL and requires Araneida which needs the SBCL socket library. Considered extremely powerful, it has been implemented at cliki.net , metacircles.com , and cliki.tunes.org .
- DotWiki a Wiki clone using VB.NET and SQL Server.
- Elrey's Wiki Server -  or  - is a wiki variant written in C++ and Winsocks. It has built-in http 1.0 server and very useful features for easy installation and best for personal as well as internet or intranet use.
- ErfurtWiki  , a single script with lots of plugins, uses SQL or a flat-file backend.
- FlexWiki  is a .NET enabled Wiki tool, available in binary or source form. Very easy to use, work with, and modify.
- OpenWiki  is an XML-based wiki written in ASP. It combines the best features of several Wikis, particularly UseMod and MoinMoin.
- Perspective  Perspective is a Wiki engine targeted for use by project teams to help them collect and share knowledge. Provides WYSIWYG editing in IE and Mozilla with versioned pages and attachments. Supports searching over pages and attachments (including searching of MS Office documents). Open Source and released under the GPL.
- WikiAsp  is powerful Active Server Pages engine which runs on Microsoft IIS and Windows. It packs features like RSS and automatic DB creation.
- JSP Wiki  is based on JavaServer Pages and available under the GNU Lesser General Public License.
- SnipSnap  is a Java-based package that combines Wiki and blog concepts. It includes its own web server, but can be built as a war file for use in other servlet engines. Released under the GNU General Public License
- Very Quick Wiki  is a WikiWiki web clone written using JavaServer Pages and servlets and designed to be installed and run with minimum effort on Jakarta Tomcat or some other Java application servers. Very Quick Wiki also supports use of MySQL.
- XWiki  is a Java wiki engine with a complete wiki feature set (version control, attachments, etc.) and a database engine and programming language which allows database driven applications to be created using the wiki interface.
- HMath  is a Java-based MathML weblog Wiki. It is based on SnipSnap and contains a TeX-subset to MathML converter.
- Confluence  is a commercial J2EE application which combines Wiki and blog functionality. Its features include PDF page export and page refactoring, and it can be run on any application server using any RDBMS backend.
- JWiki  A pure Java Wiki. Is very simple and is not based on servlets. The goal is to have a Wiki that is easy to get up and running. Written by Richard Keene, now supported by Joseph Bergin at Pace University. (One of the 'very simple hacks' mentioned above.)
- UseModj  is a web-based Java Wiki using Struts, Velocity MVC Framework and flat file system. It is deployed as a war file, supports file/image attach and change and makes a thumbnail of a attached image automatically.
- Kwiki  is perhaps the simplest, most modular and easy-to-extend Wiki.
- Lexi  is a cross between Wiki and a lexicon. It obviates the need for CamelCase links.
- TWiki  is a JOS Wiki development for business intranets. It has good access control for pages. No database is needed. Some content is dynamically generated.
- UseModWiki  is a reimplementation/clone of Ward Cunningham's original Wiki concept.
While not strictly Wiki software, weblog-engine Blosxom  mostly meets the definition when used with its wikieditish and wikiwordish plugins. There are also plugins available that enable Blosxom to use the text parsers from Kwiki, Twiki, or PurpleWiki.
- Swiki  is written in Squeak, and considered to be "super-portable and easy to set up and use".
- MyWiki  is a server-less wiki for the GNUstep and Cocoa environment.
- ProjectForum  is a non-free cross-platform (Windows, Unix, Mac OS X) Wiki application. Freeware and commercial versions are available.
- Tomboy  is billed as a desktop notetaking application, but is actually a kind of serverless wiki (and is acknowledged as such by its author).
- Jotspot  is non-free wiki software with groupware and database features.
- VoodooPad  is a non-free, server-less wiki for the Mac OS X desktop.
- WikidPad  is a non-free, server-less wiki-type notebook for Windows.
Examples of wiki hosting services
- EditMe.com  is a subscription-based wiki hosting service, based on a custom wiki engine written in Java.
- Riters.com  is a free online document collaboration service and Wiki farm
- Socialtext  offers a paid hosting service with their wiki software
- ProjectForum  offers a paid hosting service with their wiki software
- Wikicities  is a free MediaWiki hosting service
- XWiki.com  is a free wiki hosting service based on the XWiki software.
- Swiki.net  is a free wiki hosting service.
- Wiki engines
- How to start a Wiki (on Wikibooks)
- How to choose a Wiki
- Top ten wiki engines
- Comparison of different Wiki software