Marc Laporte: The Wiki Way applied to software development

By KateMilberry

Disclaimer This is a non-geek account.

In this session, Marc Laporte, a project admin of TikiWiki CMS/Groupware, discussed how the “wiki way” worked in software development, using the open source project of TikiWiki as his example. For my benefit, he graciously conducted the session en anglais. Merci!

According to Marc "TikiWiki CMS/Groupware probably has more features built-in than any other open source web application. Some other popular systems maybe have more features available when you consider all the 3rd party modules, but they need to be installed separately"

Marc differentiated TikiWiki’s development from the typical open source project, wherein a small team (or even just one person) does the majority of the development, and tightly controls input from interested participants. Rather than keeping the CVS exclusive to a small team, TikiWiki makes it available to all developers, at whatever skill and commitment level they may be at. “Anyone who shows up, we quickly give them CVS access so they can start contributing to the source code right away,” he said. This explains why TikiWiki has 350 developers!

As one might imagine (or fear!) the possibility for “mess ups” is thus greatly increased. But, TikiWiki has put their money on the “power of eyeballs”; as Marc pointed out, the potential for successful development; debugging etc. outweighs the dangers of rogue or careless developers. “The system is self-correcting.”

TikiWiki differs from typical open source projects, wherein participants rarely take ownership (In the sense of "I developed this feature and I am the boss"), because of its democratic and collaborative structure. This “lowers the barrier to contributing to the source code,” according to Marc. Once people are participating in a community environment, they feel like part of the project and a certain cohesion and synergy evolves, with people working to their skill level and modifying their coding style to that of the overall group. “Everyone who works on TikiWiki uses wikis, and is interested in working collaboratively,” Marc observed. “There’s no ‘us’ and ‘them’. Everyone is "us". There is no ‘upstream.’”

This is aided, in part, by the all-in-one design (almost all features are in the main core Tiki application) of the project, which somewhat "forces" people to work together. The features are already there, so people build upon them instead of creating a new feature. (whereas in other open source projects, someone who is unhappy with a certain module/feature can simply create his own competing 3rd party module/feature)

“In certain cases it makes it simpler – we’re not worrying about retro compatibility,” added Marc (In a modular system, any changes to the core must be careful not to break 3rd party modules). TikiWiki is decentralized in terms of participation & decisions; but centralized in terms of source code and documentation.

Marc described TikiWiki’s two branches: the stable one (1.9), which is continually being debugged but to which no major feature enhancement; and the “in development” one (1.10). He also talked about version release, a frantic time for the project when the democratic structure is reversed, and a release manager emerges as the team races to fix blockers and get the new version release-ready. After five months since the most recent version (1.9.7), they’re gearing up for another “TikiFest” to release 1.9.8. “We get everyone online and focused for a week; and there are always unlimited things to improve, but there’s a point where you have to say, ‘it’s good enough.’”

None: WikiWay (last edited 2008-06-05 13:54:29 EST by MarcLaporte)