Ward Cunningham developed the first wiki as an extension of the Portland Pattern Repository and called it the WikiWikiWeb. Users of these collaborative Web pages were encouraged to add their input on computer design patterns. It is completely open; wiki users can delete, edit or add web pages. Peter Merel sums up wiki as "insecure, indiscriminate, user-hostile, slow, and full of difficult, nit-picking people. Any other online community would count each of these strengths as a terrible flaw." Participating in a wiki is an exercise in faith. Once your contribution is out there, just about anything could happen to it. Maybe it is that faith that makes wikis work. A disgruntled member of Cunningham's original wiki went about erasing all contributions he ever made, an event now referred to as the WikiMindWipe. Many people were stunned and angry about this, but the faithful maintained that he could do what he wanted. That freedom was essential to the wiki. It was also suggested by some that an occasional shake-up could be just the thing to invigorate a wiki. Like fire cleaning out a forest, it leads to new growth and revitalization.
Cunningham wrote his wiki in Perl, but there have been many wiki clones. Two clones of note in the Python world are MoinMoin and ZWiki. MoinMoin is a fast developing update of PikiPiki, a Python CGI-based wiki. MoinMoin adds some nice organizational features to wiki, such as title and title word indices, and diffs that make a page's revision history much easier to follow (or reconstruct if vandalized). ZWiki is a Zope-based wiki clone. It combines Zope features like support for structured text, membership, versioning, and integration with other Zope tools. Zope developers are serious about what Zope can offer to the classical wiki, and have plans to further enhance a next-generation wiki.
Using a wiki is an alternative to a message forum or weblog wherever you need collaboration. Michael Pelletier's Python Interface Proposal is an example of a wiki being used for collaborative development. Recently announced on the comp.lang.python newsgroup, Pelletier is using this wiki as a kind of precursor to a Python Enhancement Proposal. Zope development has commonly used wikis for discussion of Zope enhancement proposals. There are many examples of wikis on the Zope.org Web site.
Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.
Read more Python News columns.
Discuss this article in the O'Reilly Network Python Forum.
Return to the Python DevCenter.