Итак, должны быть поддержаны:
-- получение формального текста (кода), с которым могут работать алгоритмы
-- получение неформального текста (дока), с которым могут работать люди
-- контроль версий
-- планирование работы над ошибками
-- наличие нескольких вариантов (не версий! это из variant management, который system family engineering или product line engineering) текста.
В отличие от систем типа doxygen (http://www.stack.nl/~dimitri/doxygen/, Source code documentation generator tool), нам требуется все ровно наоборот -- добавить в обычный текст куски кода, "разметить" (markup) обычный текст. Подход СWEB/Noweb (http://sunburn.stanford.edu/~knuth/cweb.html, http://www.cs.tufts.edu/~nr/noweb/), где одной командой из общего текстокода получается текст, а другой командой из того же текстокода получается код, тоже несимметричен -- код в нем главнее.
Похоже, что для целей разметки текста, совмещенной с ведением версий, сгодятся две системы:
1. Trac Project -- http://trac.edgewall.org/ + http://trac-hacks.org/ (основная функциональность в плагинах!)
2. Redmine -- http://www.redmine.org/.
Почему не docuwiki или любое другое вики с кучей плагинов? Потому что шанс устроить управление проектом в той же самой системе сбрасывать со счетов нельзя, это должно быть очень удобно.
Теперь нужно выбрать (что непросто, например http://groups.google.com/group/trac-dev/browse_thread/thread/288b743d1433ae87/b45b5ceb94f54792?#b45b5ceb94f54792).
Мне кажется, что для наших целей wiki и интеграция wiki-с-proprietary-разметкой и других систем будет полезнее, чем "многопроектность". А многопроектность -- ну, через годик в Trac она появится. Поэтому -- Trac, хотя обидно будет обнаружить, что необходимые плагины в Trac есть, но не поддерживаются, устарели, делают не совсем то (или даже совсем не то) что нужно. Но в Redmine сейчас более развита часть по управлению проектами, а в Trac только-только обновили wiki-шаблоны. Выбираем Trac.
Теперь нужно сообразить, что именно мы хотим сделать и какова могла бы быть архитектура такой системы. Ибо инструментальное бытие тоже определяет сознание (так же, как и сознание определяет выбираемый инструментарий).