All other features are of secondary importance of course.

The holy grail is to be able to edit wiki content through the web interface as Ward intended, but also to be able to git-clone the underlying content and edit it there. While I might have to follow some modest formatting conventions for editing (say markdown), I’ll be otherwise loving the ‘round trip’ nirvana.

Maintained wiki implementations

  • Gollum - Git backing store, Docker ready, maintained but has not had a lot of commits recently
  • SahrisWiki - Mercurial backing store, Docker ready, maintained but has not had a lot of commits recently
  • Zim Wiki - Bazaar, Git, Mercurial, or Fossil backing stores - personal desktop (fat client) rather than group web-app. v cool.
  • Fossil’s Wiki - Fossil is a VCS itelf and has a built-in wiki.
  • Realms - Git backing store. Python2. Actively maintained.
  • DokuWiki - Git backing store. PHP. Actively maintained.
  • Jingo - Git backing store. PHP. Actively maintained.

Maintained to some degree

  • Gitit - Git, Darcs, or Mercurial backing stores - written in Haskell and maintained to some degree by John MacFarlane.
  • Hatta - Mercurial backing store - Python - not as active as project as it could be

Wikis that are effectively dead, but in the same space

  • Ikiwiki - Subversion or Git - Perl - not maintained
  • ErfurtWiki - end of life
  • Sputnik - Git - not maintained
  • Git-Wiki - parked in 2012, though two non-cooperating forks on GitHub seem to be keeping it going.

Wikis that are ‘close, but no cigar’

  • Twiki - Actual RCS not VCS - current - Perl
  • Foswiki - Actual RCS not VCS - current (developers used to work on Twiki) - Perl
  • Wiki.js - Can be linked to a Git repo and do round trip, but the database is the main DB, with sync to/from Git being done at intervals via single committer ID. That said, it is “Docker ready” using NodeJS and is actively maintained.

RCS is an ancient tech that predated CVS which predated Subversion which predated Git. Wikimatrix (where I started my search for this blog entry) does not differentiate between RCS and VCS, and indeed doesn’t allow you to search based the fine-grained nature of the backing store. WikiMatrix isn’t a wiki of course (no edit this page button).

GitHub, GitLab and BitBucket

Lastly, GitHub do wikis correctly - theirs is a Git-backed repo (they might still be using Gollum, above) - even if its emphasis is functional project documentation. GoogleCode did that first though, which is hardly surprising because the Subversion team’s Greg Stein was at Google then and pivotal in the project’s delivery in 2005.

Bitbucket has the same - a wiki that can be stored in Mercurial. GitLab too.

Footnote: I wish GitHubs issues and code reviews were Git-backed and cloneable too, but that is a different topic.


September 23rd, 2017