Andamooka: Open Support for Open Content

Open-source software development provides an inspirational model for books.
Open Support

It should be clear by now that open-content licensing has the potential to produce high-quality content. Today there are already many open-content books available on the Web, such as Grokking the GIMP by Carey Bunks; GTK+/GNOME Application Development by Havoc Pennington; DocBook: The Definitive Guide by Norman Walsh; and, Leonard Muellner and; of course, KDE 2.0 Development by David Sweet, et. al., but authors could do much more than simply post the text of their books if only the proper tools were available.

The Andamooka web site offers some of these tools, for free, to authors. Authors can post their book for on-line reading and annotating and for download in various formats. They can run announcements, news, questions, etc., and offer other support materials, such as source code or related documents to users. Using these tools, an author can offer support to his/her readers by interacting directly with them and by providing a forum in which readers with a common interest—after all, they're all reading the same book!—can interact. This situation differs from a less-structured public forum (like a usenet newsgroup, for example) in that the book can facilitate interaction by providing the readers with a common language in which to discuss the subject as well as a framework around which to organize their discussion.

The heart of Andamooka is annotation. The full text of each book is displayed with annotation at the end of each section. This is how the structure just discussed is realized. Annotation may be added and viewed by anyone visiting the site. The annotation is submitted under the Open Publication License so that it may be redistributed along with the book. Readers can read an annotated version of the book on-line or download it to read on their computer or to print out at home.

When collecting a large amount of information, as the community annotation for a book might become, one has to consider ways to maintain and encourage quality. Andamooka has an experimental moderation and points (or Karma, à la Slashdot) system based on the SlashCode system. A score is assigned to each piece of annotation based on random, occasional polling of readers. When polled, a reader can choose one of three ratings (let's call the rating r): good (r=3), neutral (r=2) or bad (r=1). For the purpose of ranking the annotations for viewing, attempting to put the “best” at the top, a score (call it S) is assigned to each article. If we call N the number of times an article has been rated, then the score is: S=SQRT(N)*AVG(r)/STDDEV(r). In plain English, this means that an annotation is rated higher if:

  • More people have rated (and, presumably, read) it (SQRT(N))

  • People have, on average, given it a better rating (AVG(r))

  • People are in greater agreement about the quality of the annotation (1/STDDEV(r))

To encourage quality submissions, users are given points—or “Karma”--based on how the annotation they write is rated by the community and, possibly, based on how much they contribute and how recently they have contributed. These features have yet to be fully implemented.

The hope is that this system will serve as a community editing, offering a way for readers to sort out the best annotation. As Andamooka is in its infancy, I cannot say whether this system is successful or not.

Open Development

The next step is the creation of an open-development system. The model, as it is discussed today, derives from open-source software development (as mentioned above) but has some different issues to contend with. Those interested in open development would like to create a book, or other work, by having many contributors plan, write, edit, format, etc., in hopes that the workload will be distributed, the work will be of high quality and everyone will enjoy what they are doing (since it is volunteer work). Similar goals have been achieved in the open-source software world, so what's different about open content?

Authors may not be as technically savvy as software developers (note that by “authors” I don't necessarily mean authors of technical books). So, unlike software developers, they can't necessarily make use of software-project management tools (for example, CVS) that are difficult to install, maintain, and/or used to develop a book, however capable those tools might be. Thus, there is a need for user-friendly project management and collaboration tools. The TWiki web-based application ( and its Wiki Wiki kin are good examples of these kinds of tools, but they need to be expanded upon to be appropriate for open-content development. The members (myself included) of the FreeBooks Project (, founded by Benjamin Crowell, are exploring designs for the needed tools and methods for managing this type of project (for example, we are testing a method of incorporating DocBook document collaboration into TWiki). In fact, this exploration process has been organized around writing a free book about writing free books. (You are encouraged to participate. Please visit the web site for details.)

One also has to wonder whether an open, community-development model for content will attract contributors the way similar software projects do. So far, several people are contributing to the FreeBooks Project, and translations of KDE 2.0 Development into five other languages are underway. These numbers may not be as impressive as those used when discussing open-source software, but these projects have only just begun, and I consider the level of participation to be very encouraging.