Blame

81bd9f Samuli Seppänen 2025-03-19 12:05:04 1
# Introduction 
2
3
Our Trac instance is pretty horribly outdated (January 2024). It is only used for its Wiki as everything else has already been replaced. This article covers the pros and cons of many wikis that could be used as a replacement.
4
5
The starting points for this research:
6
7
* https://www.wikimatrix.org
8
* https://en.wikipedia.org/wiki/Comparison_of_wiki_software
9
10
# Requirements
11
12
* Must be open source
13
* There must be a self-hosted option
14
* SaaS is ok
15
* LDAP auth is optional
16
17
# General observations
18
19
* Most Wikis are developed by one person with generally small contributions from other developers
20
* Spam filtering
21
* Can be built-in or plugin-based
22
* In general seems pretty weak: Trac's Bayesian spam filter is actually pretty top-notch in this regard
23
* Separation of user registration (Pwm) from the application (wiki) itself probably stops most spambots, but won't help against human spammers
24
* Many Wikis depend completely [Akismet](https://akismet.com/) for spam filtering
25
* There are plenty of "semi up-to-date" Wikis out there, but only a handful of really promising options
26
27
# Open source wikis that seem most suitable
28
29
* [Otterwiki](https://github.com/redimp/otterwiki)
30
* Public demo [here](https://demo.otterwiki.com/)
31
* Non-bloated
32
* Clean interface
33
* Git backend
34
* Can be edited via Git and/or the web interface
35
* Supports the concept of users
36
* Self-service user registration
37
* Auto-approval can be disabled
38
* Can be disabled altogether
39
* [Mediawiki](https://www.mediawiki.org/wiki/MediaWiki)
40
* Well-known and well-supported
41
42
# Seemingly good candidates that got rejected after a closer look
43
44
* [Wiki.js](https://js.wiki/)
45
* *Rejected because usability of this wiki sucks bad*
46
* Seems very modern and modular
47
* Support LDAP auth among all other imagineable authentication methods
48
* Very popular based on GitHub statistics
49
* One core developer plus small contributions from a fair amount of developers (see [here](https://js.wiki/about#developers) or in GitHub insights)
50
* AGPLv3 licensed
51
* Spam filtering depends mainly on Akismet (details [here](https://docs.requarks.io/comments/default))
52
* [XWiki](https://www.xwiki.org/xwiki/bin/view/Main/)
53
* *Rejected because of all the bloat, plus the feeling of unreliability*
54
* Written in Java
55
* Seems to have a lively development community with many subprojects
56
* Focus seems to be about building "wiki applications", so XWiki is very extensible
57
* Has LDAP support (see [here](https://extensions.xwiki.org/xwiki/bin/view/Extension/LDAP/Authenticator/))
58
* Spam filtering support seems to somewhat weak:
59
* https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/AntiSpam
60
* https://extensions.xwiki.org/xwiki/bin/view/Extension/AntiSpam%20Tool%20Application
61
62
# Other possibly suitable open source wikis
63
64
* [Gollum](https://github.com/gollum/gollum)
65
* Up-to-date wiki documentation in [here](https://github-wiki-see.page/m/gollum/gollum/wiki)
66
* Stores wikis as Git repos
67
* Support for logging in as a user relies on Git repository's authentication by default
68
* Authenticating from elsewhere (LDAP?) can be implemented with some effort
69
* It should be able to use Wiki repos from !GitHub and !GitLab
70
* Seems fairly popular
71
* One core developer plus small contributions from a fair amount of developers (see [here](https://github.com/gollum/gollum/graphs/contributors))
72
* [Bluespice](https://bluespice.com/)
73
* Productized enterpriseishy distribution of Mediawiki with lots of additional (open source) plugins
74
* Seems quite popular
75
* [FOSWiki](https://foswiki.org)
76
* Written in Perl
77
* Fairly large community
78
* Seems to have a lively development community with many subprojects
79
* A fork of TWiki from ~2008
80
* Git repo: https://github.com/foswiki
81
* Has LDAP support
82
* Seems to have commercial support available
83
* [Docuwiki](https://www.dokuwiki.org/dokuwiki)
84
* Written in PHP, uses Composer
85
* Mainly developed by one person
86
* Fairly large community
87
* Git repo: https://github.com/dokuwiki/dokuwiki
88
* LDAP support built-in (see [here](https://www.dokuwiki.org/plugin:authldap))
89
* Supports ACLs based on pages and namespaces
90
* File-based by default
91
* Spam filtering seems a bit weak:
92
* https://www.dokuwiki.org/plugins?plugintag=spam#extension__table
93
* [MoinMoin](https://moinmo.in)
94
* Written on Python
95
* Mainly developed by one person
96
* Fairly large community
97
* LDAP and OIDC support built-in (see [here](https://moinmo.in/HelpOnAuthentication))
98
* Looks somewhat outdated from bling bling perspective
99
* Spam filtering is not particularly top-notch, given the "news" items on MoinMoin site
100
* [JSPWiki](https://jspwiki.apache.org/)
101
* Written in Java (J2EE)
102
* Maintained by Apache Foundation, but seems to have just one responsible developer
103
* Supports LDAP authentication
104
* Supports ACLs
105
* Enterprise-ishy
106
* Spam filter support seems reasonable
107
* https://jspwiki-wiki.apache.org/Wiki.jsp?page=Wiki.Admin.Security
108
* Would probably work fine
109
110
# Unsuitable alternatives that were reviewed
111
112
## Open source wikis with wrong focus
113
114
* [Pukiwiki](https://github.com/pukiwiki/pukiwiki)
115
* Japanese only, which is a blocker-ish at minimum
116
* [Tiki Wiki CMS](https://tiki.org/HomePage)
117
* CMS framework, not a wiki
118
* [PMwiki](https://www.pmwiki.org/wiki/PmWiki/PmWiki)
119
* "A wiki-based content-management system (CMS) for collaborative creation and maintenance of websites"
120
* [Bookstack](https://github.com/BookStackApp/BookStack)
121
* Written in PHP + Laravel
122
* Mainly developed by one person
123
* Project seems lively and has a fair amount of sponsors
124
* Opinionated
125
* "!BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information."
126
* In practice it seems to focus on "books" rather than "pages"
127
* Public demo is available [here](https://www.bookstackapp.com/#demo)
128
* There are no plans to expand the scope of the platform
129
* [TiddlyWiki](https://en.wikipedia.org/wiki/TiddlyWiki)
130
* Personal wiki, not for collaboration
131
* [Zim](https://zim-wiki.org/index.html)
132
* Desktop wiki -> Not for collaborative editing
133
134
## Non-open source wikis
135
136
* GitHub wikis
137
* [Wikidot](https://www.wikidot.com/more:explore-features)
138
* [PBWiki](https://www.pbworks.com/wikis.html)
139
* [EditMe](https://www.editme.com/)
140
* [Papyrs](https://papyrs.com/)
141
* [Outline](https://www.getoutline.com)
142
* Tries to masquerade as open source by having BUSL-licensed source code available in !GitHub
143
* ...and a bunch of others, look [here](https://en.wikipedia.org/wiki/Comparison_of_wiki_software)
144
145
## Open source wikis that are outdated
146
147
* [TWiki](https://twiki.org/)
148
* Feature-vise TWiki looks pretty cool
149
* However, "TWiki is a cgi-bin script written in Perl. It reads a text file, hyperlinks it and converts it to HTML on the fly.", which is slightly worrying
150
* Forked as FOSWiki, so questionable as an open source project
151
* [PHPWiki](https://sourceforge.net/projects/phpwiki/)
152
* Seems a tad old-school (uses SVN etc)
153
* Does support recent PHP 8.x, so not outdated per se
154
* [UseMod](https://www.usemod.org/cgi-bin/wiki.pl)
155
* Written in Perl
156
* Looks quite outdated from bling bling perspective
157
* [Ikiwiki](https://ikiwiki.info/)
158
* Seems outdated
159
* [Erfurtwiki](https://sourceforge.net/projects/erfurtwiki/)
160
* Not maintained anymore (since ~2015)
161
* [Wikkawiki](http://www.wikkawiki.org/HomePage)
162
* Not maintained anymore (since ~2020)