I spent the whole last week at the first Programming Camp of the KiWi project (“Knowledge in a Wiki”), who are developing the successor of the IkeWiki system that SWiM has been based on so far. My plan is to port SWiM from the abandoned IkeWiki to KiWi, which will be under development in the namesake project for two years from now, and further on by the community that is now starting to grow. Version 0.1 of SWiM as a KiWi extension is not yet out, but the KiWi members, particularly those from Salzburg Research, managed to give me a good understanding of the next steps that I need to do. Some preliminary conclusions so far:
- KiWi’s strength as a scalable and extensible platform for social software (not just as a semantic wiki!) is its architecture. Based on EJB3 and Seam, it has an incredibly steep learning curve – EJB was one of the topics that I tried best to avoid when studying, now I regret that; on the other hand it also took the people at Salzburg Research several months to come up with that elaborate architecture.
- Openness attracts the community: The KiWis decided to open their programming camp to external developers, as a first effort to start community-building. They were really committed also to teaching me, the visitor, how to use their system (thanks, Mihai, Rolf, Sebastian, Stephanie, Szaby, Thomas – and their colleagues from Aalborg, Brno and Munich as well!). Even before the programming camp, they did not jealously lock away their sources, but gave external interested people access. And now, with further adoption of the software in mind, they are switching to the most liberal license, i.e. BSD.
- With our Subversion and Trac infrastructure, we have done great steps towards more productive development. Still, the KiWis leverage more professional tools, which really make life easier. OK, they are not open source, but require considerably less hacking in order to make them productive: Jira (bug tracker), Fisheye (repository browser), Crucible (code review system, not yet used), and Hudson (automated integration tester).
“KiWi knows” what else I will be able to report in the near future – stay tuned!