Friday December 12, 2008
TWiki and Foswiki: the road aheadTWiki has been around for about a decade. It is an "Enterprise Wiki", offering a number of features that work well in corporate environments (eg, access controls, forms, scripting, skins, webs). It is a solid and mature piece of technology, with a substantial user base.
Recently, a rift in the TWiki developer community caused the project to fork. Peter Thoeny retains the TWiki trademark and web sites, but most of the developers have joined Foswiki. (For details, see the Foswiki and TWiki versions of the story.) This essay attempts to predict where things will go from here and suggest how developers and administrators can cope with the inevitable dislocations.
By way of full disclosure, I have been using TWiki for a number of years. I have performed contract "wiki gardening", written TWiki applications, and even customized a couple of plugins. However, I'm not a TWiki developer and I really don't have a dog in this fight...
Near TermThe effects of the fork are already being felt in various ways. The #twiki IRC channel is largely inactive, but Peter Thoeny is often around to answer requests for help. The #foswiki channel is a lot busier, but much of the traffic comes from build reports and developer discussions.
No major changes are imminent in either branch of the code base. In the short run, TWiki will simply be making minor releases, while Foswiki will be busy "rebranding" and setting up infrastructure. The Foswiki Release Plan and the TWiki RoadMap both promise interesting developments, but real changes appear to be months away.
The user community is also unlikely to move very fast. The typical TWiki administrator is probably taking a "wait and see" attitude. Which fork will survive? What differences will show up in features, support, etc? TWiki 4.2.x is reasonably stable and bug free, so deciding which branch to follow is not exactly an urgent decision.
Longer TermOver time, however, TWiki sites may be faced with some decisions and hassles. For example, none of the Foswiki developers will post their patches on twiki.org, if only because they are unwilling to accept the new ground rules (eg, TWiki Community Governance).
Ground rules aside, developers may not make any effort (in code, documentation, or testing) to ensure that their code works on the "other" branch. So, some plugins may "break" on one branch or the other. If nobody else (eg, another user, the other project) provides a compatible version of the patch, administrators will be forced to adapt the patch or do without.
Similarly, some bug fixes and new features will appear for one branch or the other. Because both branches are licensed as Open Source software, either one could (in theory) adopt the other's changes. However, as the branches diverge, this may become less feasible in practice.
Although the fork will present administrators with increased hassles and risks, it also offers the prospect of interesting and useful features showing up. In a year or so, we'll have a much better idea of its costs and benefits...
StrategiesBoth branches would like to convince existing TWiki sites to "join up". The TWiki branch has the easiest job here, because it retains name recognition, trademarks, and web sites. On the other hand, the Foswiki branch has a lot of motivated developers, so it may be able to produce a clearly superior offering over time.