Andamooka:开放支持开放内容

作者:David Sweet

大约一年前,我开始撰写一本关于开发 KDE 应用程序的书籍。KDE 项目正在将许多新的 API 和子系统引入到开发代码中,这些代码最终将成为 KDE 2.0,开发人员将需要文档来跟上所有这些新技术。但是,一本书(需要编写、编辑、审阅和印刷,其中一些步骤会发生多次)如何在它所写的软件发生更改之前可用呢?一半的解决方案是招募几位有才华的开发人员作为撰稿作者,他们正在设计和构建新技术,并让我们所有人都并行地从当时的当前代码库(“前沿”代码)中工作。另一半,使用开放出版许可证,导致了 Andamooka 的开发和开放支持的概念。

Andamooka(一个基于 Web 的读者支持系统,http://www.andamooka.org/)的目标是通过对在线文本进行粗粒度的社区注释,使书籍保持最新和正确。注释是公开的,本身也是开放内容,因此可以与原始文本一起重新分发,理想情况下,可以生成更准确和最新的注释版本文本。

开放内容

开放内容,一般而言,是指任何可以自由修改和重新分发的内容(通常是文本,但不一定排除声音、图像和其他您可能希望考虑的“内容”类型)。如果这让您想起了开源软件,那是因为它是受此启发。

David Wiley 在“开放内容开发”(opencontent.org/bazaar.shtml)、Eric Raymond 在“为什么您应该使用 GNU FDL”(www.onu.org/philosophy/why-gfdl.html)和 Benjamin Crowell 在“开源书籍有效吗?”(www.lightandmatter.com/article/article.html)中描述了尝试将开源软件开发模型应用于开放内容的原因,但请允许我尝试总结一下。首先,开源软件开发模型

  • 由于软件是免费的,因此将软件掌握在或多或少任何想要它的人手中。

  • 创建更多小众软件,因为开源软件可以自由修改。

  • 产生更强大的软件,因为软件会由许多不同的用户在许多不同的情况下进行测试。

  • 产生具有需求功能的软件,因为从用户那里收到了大量反馈,而且通常用户会通过进行一些开发来做出贡献。

这四个项目有可能很好地转化为开放内容开发。

作者可以通过免费赠送他们的作品来接触更多读者——而且,实际上,作者希望被阅读。在内容是开源软件文档的特殊情况下,软件文档必须允许自己被修改和重新分发,以便在新软件从旧软件派生出来时,可以从旧文档派生出新文档。

如果内容准确且易于理解,我们可以认为内容是健壮的。当读者反馈被纳入新版本时,内容的准确性和可理解性水平会提高。换句话说,开放内容开发模型呈现出许多读者作为编辑的形象,每个人都专注于他们感兴趣的作品方面。

最后,如果一部作品有很多读者,就会有很多反馈指出缺少什么。这为作者(或作者们)提供了他们计划作品新版本所需的信息。如果欢迎读者参与创作,他们可能会编写和提交作品的更正或新部分,从而分担工作量,并有可能创造出比一个人(或一小群人)可能创造的更好的作品。

开放内容许可证包括开放出版许可证(www.opencontent.org/openpub)、GNU 自由文档许可证(www.gnu.org/copyleft/fdl/html)和 Linux 文档项目样板(www.linuxdoc.org/manifesto.html)。这些许可证都允许对其应用的作品进行修改和重新分发。其中第一个许可证规定了对以印刷格式分发作品的限制。这种限制可以帮助出版公司收回制作书籍的成本(这个过程涉及许多人时的工作,当然还有大量的纸张)。我个人建议,如果公司选择在书籍初次出版时包含此限制,他们稍后应将其删除,例如,在开发和其他成本收回后或在预定时间段过去后。允许创建作品的纸质版本(即,排除可选限制)可能有助于其进入通常不会分发的市场。

开放支持

现在应该清楚的是,开放内容许可有可能产生高质量的内容。今天,网络上已经有很多开放内容的书籍,例如 Carey Bunks 的Grokking the GIMP;Havoc Pennington 的GTK+/GNOME 应用程序开发;Norman Walsh 和 Leonard Muellner 的DocBook:权威指南;当然还有 David Sweet 等人的KDE 2.0 开发,但如果只有合适的工具可用,作者可以做的不仅仅是发布他们书籍的文本。

Andamooka 网站免费为作者提供其中一些工具。作者可以发布他们的书籍以供在线阅读和注释,并以各种格式下载。他们可以运行公告、新闻、问题等,并为用户提供其他支持材料,例如源代码或相关文档。使用这些工具,作者可以通过直接与读者互动,并提供一个论坛让对同一主题感兴趣的读者互动——毕竟,他们都在阅读同一本书!——来为他们的读者提供支持。这种情况与结构较松散的公共论坛(例如,Usenet 新闻组)不同,因为这本书可以通过为读者提供讨论主题的通用语言以及组织讨论的框架来促进互动。

注释是 Andamooka 的核心。每本书的全文都显示在每个章节末尾带有注释。这就是刚刚讨论的结构的实现方式。任何访问该网站的人都可以添加和查看注释。注释根据开放出版许可证提交,因此可以与书籍一起重新分发。读者可以在线阅读书籍的注释版本,或下载到他们的计算机上阅读或在家中打印出来。

当收集大量信息时,就像书籍的社区注释可能变成的那样,人们必须考虑维护和鼓励质量的方法。Andamooka 有一个基于 SlashCode 系统的实验性审核和积分(或声望,类似于 Slashdot)系统。根据对读者的随机、偶尔的轮询,为每条注释分配一个分数。在轮询时,读者可以选择三个评分之一(让我们将评分称为 r):好(r=3)、中性(r=2)或差(r=1)。为了对注释进行排名以供查看,试图将“最好”的放在顶部,为每篇文章分配一个分数(称之为 S)。如果我们称 N 为文章被评分的次数,那么分数是:S=SQRT(N)*AVG(r)/STDDEV(r)。用通俗的英语来说,这意味着如果满足以下条件,注释的评分会更高

  • 更多人对其进行了评分(并可能阅读过)(SQRT(N))

  • 人们平均给出了更好的评分(AVG(r))

  • 人们对注释质量的意见更加一致(1/STDDEV(r))

为了鼓励高质量的提交,用户会根据他们撰写的注释被社区评分的方式以及他们贡献的多少和最近贡献的时间来获得积分——或“声望”。这些功能尚未完全实现。

希望这个系统将充当社区编辑,为读者提供一种筛选出最佳注释的方法。由于 Andamooka 仍处于起步阶段,我无法说这个系统是否成功。

开放开发

下一步是创建开放开发系统。正如今天讨论的那样,该模型源于开源软件开发(如上所述),但有一些不同的问题需要解决。那些对开放开发感兴趣的人希望通过让许多贡献者计划、编写、编辑、格式化等来创作一本书或其他作品,希望工作量将被分担,作品将是高质量的,并且每个人都会享受他们正在做的事情(因为它是志愿工作)。在开源软件世界中已经实现了类似的目标,那么开放内容有什么不同呢?

作者可能不像软件开发人员那样精通技术(请注意,“作者”并不一定意味着技术书籍的作者)。因此,与软件开发人员不同,他们不一定能够使用难以安装、维护和/或用于开发书籍的软件项目管理工具(例如,CVS),无论这些工具多么强大。因此,需要用户友好的项目管理和协作工具。TWiki 基于 Web 的应用程序(http://twiki.sourceforge.net/)及其 Wiki Wiki 同类产品是此类工具的很好的例子,但它们需要扩展才能适用于开放内容开发。FreeBooks 项目(http://freebooks.myip.org/)的成员(包括我自己),由 Benjamin Crowell 创立,正在探索所需工具的设计和管理此类项目的方法(例如,我们正在测试将 DocBook 文档协作整合到 TWiki 中的方法)。事实上,这个探索过程围绕着编写一本关于编写免费书籍的免费书籍而组织起来。(欢迎您参与。请访问网站了解详情。)

人们也不禁要问,内容的开放、社区开发模式是否会像类似的软件项目那样吸引贡献者。到目前为止,已经有几个人为 FreeBooks 项目做出了贡献,并且 KDE 2.0 开发 正在翻译成其他五种语言。这些数字可能不如讨论开源软件时使用的数字那么令人印象深刻,但这些项目才刚刚开始,我认为参与程度非常令人鼓舞。

结论

Andamooka 是迈向全面开放内容开发的第一步。我们现在在网站上看到的书籍,以及我们可能在不久的将来看到的书籍,是以封闭的方式编写的,但正在根据允许修改和重新分发的开放许可证提供。通过使用 Andamooka,作者可以为读者提供直接的作者支持以及其余读者的支持。作者和读者可以共同创建一个知识库,任何社区参与者都可以从中挑选和转换成越来越好的书籍。

我计划使用 Andamooka 系统继续进行 KDE 2.0 开发 的工作。我将鼓励用户提供反馈并通过编写、编辑、翻译、报告错误和建议新主题来为开发做出贡献。这项工作稍后将以免费电子版书籍的形式发布。因此,KDE 2.0 开发 可以作为开放内容开发的测试案例。

David Sweet (www.andamooka.org/~dsweet) 在马里兰大学获得物理学/混沌理论博士学位。此后,他的关注点从圣诞饰品的混乱转向了证券市场的喧嚣。他的作品曾发表在 Nature、《Linux Journal》、《Physical Review Letters》和一些书店中。

Andamooka: Open Support for Open Content
加载 Disqus 评论