Write docs, don't obsess about tools. Cherry pick the wiki for the rare nuggets that might appear there, but don't rely on it. Integrate that info into the mainstream docs.
Cooperate, and adapt to people already writing docs instead of rolling out a parallel vision, tooling and solution. Assume your vision is wrong till you at least have a level of proficiency with the current tools.
Revolution can be healthy sometimes, but all too often it is chasing windmills. Fragmentation is the worst enemy.
Because new people fall for the old trap again and again, talk about principles ad infinitum, and generate very few content that is merged back into general efforts. So if the person gives up it dies.
I liked the D7 docs too. The language guide could be used as tutorial, nicely in order, every chapter building on the previous ones. And I care about usability and content mainly.
I think they (Idera/Embarcadero] mainly use the wiki as a kind of online CMS to be able to do changes after the initial release, but I don't think the wiki is part of the actual documentation process. You don't see author edits. (if you see edits at all). This means that changes have to be done multiple times (real documentation repositories and wiki per version)
Note that Embardero does provide everything in offline help! So actually Embacadero doesn't use wiki as central doc repo, nor as only solution.
Not my experience. Some of the worst gotchas get a special mention, but the bulk is overwritten. Not really a wiki problem though. If you have multiple versioned other repositories, the risk of having to do fixes multiple times remains.
I don't consider that such a problem, since I can't see such detail work happening anything soon. As far as versioning goes, I only want to be able to see the content that was specific to a release, it continously being updated for multiple versions is currently a bridge too far.
What about creating a documentation team and centralizing everything such as Idera/Embarcadero Delphi, but in a better collaborative way?
Just an example: Firebird-docs is a volunteer team inside Firebird that is responsible for its documentation aided by everybody including core developers providing information and solving doubts. Most of the document writers are not core programmers:
http://www.firebirdsql.org/file/documentation/release_notes/html/rlsnotes255.html#rnfb25-fb2teamshttp://www.firebirdsql.org/manual/docwritehowto.htmlhttp://www.mail-archive.com/firebird-docs@lists.sourceforge.net/http://www.firebirdsql.org/en/documentation/I know that FPC + Lazarus lack of manpower and those with knowledge should be writing documentation locally in textformat and submiting patches via some version control system (such as SVN, GIT, etc), in good open source tradition.
We could organize and divide the work in subteams, for example:
- who has some or much knowledge write the docs (in latex or docbook?);
- another team revise and organize those docs and create books for specific versions of FPC or Lazarus;
- patches would be managed via Mantis Bug tracking system;
----------------
For version FPC 2.6.x, there are already some books:
----------------
This is the user’s guide for Free Pascal:
ftp://ftp.freepascal.org/fpc/docs-pdf/user.pdfThis document serves as the reference for the Pascal langauge as implemented by the Free Pascal compiler:
ftp://ftp.freepascal.org/fpc/docs-pdf/ref.pdfThis is the programmer’s manual for Free Pascal:
ftp://ftp.freepascal.org/fpc/docs-pdf/prog.pdfThis document describes all constants, types, variables, functions and procedures as they are declared in the units that come standard with the FCL (Free Component Library):
ftp://ftp.freepascal.org/fpc/docs-pdf/fcl.pdfThis document describes all constants, types, variables, functions and procedures as they are declared in the units that come standard with the Free Pascal Run-Time library (RTL):
ftp://ftp.freepascal.org/fpc/docs-pdf/rtl.pdfFPDoc: Free Pascal code documenter: Reference manual:
ftp://ftp.freepascal.org/fpc/docs-pdf/fpdoc.pdf----------------
We could - in a collaborative way - update and/or create new books:
----------------
-- Free Pascal 3.x - Beginner's Guide
-- Free Pascal 3.x - Language Guide
-- Free Pascal 3.x - FCL - Free Component Library
-- Free Pascal 3.x - RTL - Run-Time Library
-- Free Pascal 3.x - FPDoc - Free Pascal code documenter
----------------
-- Lazarus 1.6.x - Beginner's Guide
-- Lazarus 1.6.x - IDE - Integrated Documentation Editor
-- Lazarus 1.6.x - RAD - Rapid Development Application
-- Lazarus 1.6.x - OOP - Object Oriented Programming
-- Lazarus 1.6.x - LCL - Lazarus Component Library
----------------
- offline help could be created from latex/docbook to chm/inf/pdf/html in a similar way to what existed in Delphi 7;
- video tutorials would only be created for very specific topics;
- wiki would stay just as a knowledge base for extra subjects or tips or tweaks not included in the "oficial manuals";
- everything that was created via textformat (latex/docbook) could be exported to online (pdf/html);
- at the end, we could even have volunteers to translate the content in textformat to generate offline and online documentation in others languages than English.