前沿
前沿
将可用性带入开源——反之亦然
“可用性”是开源代码声誉的主要诟病之一。一系列 FLOSS(自由/开放源码软件)可用性冲刺背后的理念是在源头解决这一声誉问题。第一次冲刺于 2005 年 2 月在旧金山举行。当您读到这篇文章时,第二次冲刺将于 2005 年 7 月举行。后续还将有更多次冲刺。
第一次和第二次活动的组织者是 Blue Oxen Associates (blueoxen.org) 和 Aspiration (aspirationtech.org),这两个非营利组织都对提高可用性有着共同的兴趣。
在 2005 年 5 月的 Digital ID World 大会上,我遇到了 Blue Oxen 的 Eugene Eric Kim,并就整个事情的来龙去脉对他进行了简短的采访。
DS:您第一次冲刺的动机是什么?
EK:这次活动的动机是多层面的。我们想找到一种方法,使开源软件更易于使用。Blue Oxen Associates 和 Aspiration 都非常相信开源,并且我们自己也在使用它,因此我们对结果有着强烈的利害关系。我们两者也都非常关心非营利组织,并认为可用性差是非营利组织更广泛采用开源的障碍之一。
DS:为什么是“冲刺”?
EK:冲刺是一种实践性和协作性的诊所,每个人都努力工作三天,以完成实际工作并在过程中学习新事物。
可用性社区和开源社区之间存在知识差距;但问题实际上是这两个社区以前没有动力去了解彼此并弥合这一差距。这有点讽刺,因为这两个社区有很多共同的价值观:迭代改进、以用户为中心、改进事物的愿望。他们应该互相合作,但他们没有。我们的目标是在这两个社区之间建立共同的理解,然后看看会发生什么。
DS:您是如何选择参与者的?
EK:我们从最大和最多样化的群体开始:六个开源项目(Activist Mobilization Platform、Chandler、CivicSpace、FotoNotes、Identity Commons、OpenACS 和 WordPress)、12 位可用性专家(OSAF、Sun、Adobe、Adaptive Path、openusability.org、Stanford 和 Oracle)以及开发人员和项目经理的组合——总共 40 人。
我们明确的目标是直接且具体的——让每个小组在三天内提高其项目某些方面的可用性。第二天,我们请来了大约 15 位用户来帮助这个过程。
我们未言明的目标是促进这两个社区之间持续的合作。这次活动具有高度互动性,并由 Aspiration 的优秀人士(他们也举办 Penguin Day 和其他优秀活动)进行了专业的协调。我们强调具体的成果、报告和在我们的 Wiki 上进行自我记录。
DS:您从中得到了什么?
EK:我们实现了我们的两个目标,甚至更多。每个项目都以具体的方式得到了改进。每个人都学到了一些东西。开源开发人员学习了实用的可用性技术,但更重要的是,他们有动力学习更多。这不是培训。这是在实践中学习。区别至关重要。如果开发人员有动力,并且他们有一个可以从中理解这些技术的背景,那么后续的训练营将会更加有效。
DS:这两个群体从彼此身上学到了什么?
EK:可用性人员学到了很多关于开源开发的知识。双方都有很多误解。在如此紧张、高能量、加速——以及最重要的,有趣的环境中密切合作,建立了共同的理解。奇怪的是,可用性人员渴望这样的机会。首先,大多数可用性从业人员从不互相合作。他们有很好的专业团体,例如 CHI 和 UXnet,但他们很少两人一起工作。很多人事后找到我说他们非常喜欢与其他可用性人员一起工作。这些可用性人员也渴望做一些好事并产生影响。企业环境中的可用性问题之一是您无法谈论您的工作。也许您可以指出最终产品,但您不能指出使您到达那里的分析和方法。您也无法展示项目在您来之前有多糟糕。
因此,可用性从业人员与开源项目合作的一个巨大好处是可以事后谈论它。
双方都了解到可用性和开源之间存在内在的张力。可用性的口头禅是,“您不是您自己的用户。”开源的口头禅是,“解决您自己的痛点。”从表面上看,这两种理念似乎是矛盾的。但是,如果您深入研究这两者,您会发现它并非那么简单。我们获得了合作将有助于解决这些紧张关系的信心。
DS:活动中是否产生了任何新项目?
EK:从活动中涌现出两个有趣且出乎意料的概念和项目。第一个是“极限可用性”的概念。你看,可用性就像安全性;它不是您可以在最后附加的东西。实现可用软件的最佳途径是从一开始就将其纳入流程。当我们所有人进一步探索这个概念时,我们趋同于类似于结对编程的类比,您将可用性人员与开发人员配对。这与很多人产生了强烈的共鸣。
我最兴奋的项目是 OpenWebGUI (openwebgui.sourceforge.net),因为它展示了开源能够实现的独特而强大的协作类型。我们那里有三个 CMS,在整个周末,他们意识到他们面临着类似的可用性问题。例如,他们都想要更易于管理的管理系统。即使它们都是不同的系统,但功能和工作流程基本相同。这些项目独立于我们中的任何人意识到,由于他们面临着相同的问题,他们最好一起工作而不是各自为政。他们启动了一个名为 OpenWebGUI 的项目,该项目最初将专注于 CMS 管理 GUI。他们将进行分析,开发一些 HTML 原型并进行测试。经过测试且可用的 HTML 文件将以开源许可证发布,以便任何 CMS 都可以将其合并并根据需要进行自定义。我喜欢这个结果,因为它生动地说明了开源带来的指数级回报。我们花了一点钱来改进这些项目,但结果很可能会改善整个相关项目的生态系统。现在这就是投资回报率!
DS:您还期望这种情况在长期内如何发展?
EK:许多参与 CHI 的人都有兴趣更多地参与开源,我们正在积极努力促进这一点。Jan Muehlig 是一位从德国飞来参加的可用性专家,他有一个名为 OpenUsability.org 的杰出项目,他试图将可用性人员与开源项目联系起来。Jan 在 KDE 方面做了一些出色的工作,我们正在积极努力推广他的工作。而且,我们有一长串项目和人员希望参加 7 月底的下一次冲刺。我们将吸取上次冲刺的经验教训来改进下一次冲刺,我们还将尝试一些新想法。我们将继续与整个社区互动。这些活动旨在扰动生态系统并催化社区。我们鼓励大家参与。
要了解如何参与,请访问 www.flossusability.org。
他们说了
在 Parrs Wood,OSS 不仅仅被视为一种省钱的方式,更是一种更有效地花钱的方式。
大约 5 年前,当我从 Windows 切换到 GNU/Linux(主要是 Redhat/Fedora/Debian)时,我发现了一个广阔的开发者乐园。它就像 Compuserve 的旧时代,那是一个摆满免费软件的糖果货架。免费软件对我来说仍然如此,有很多东西可以探索,而且我可以不受重大限制地查看源代码。我可以使用源代码,并且可以共享源代码……这是极客们喜欢做的事情。到 1990 年代中期,Windows 世界非常封闭(现在仍然大多如此),这对开发人员来说非常具有限制性。
—匿名,在 IT Garage 上:www.itgarage.com/?q=node/617#comment
当您对金钱、赞美或宣传不感兴趣时,您就达到了成功的顶峰。
—Thomas Wolfe,《太阳报》,2005 年 7 月
如果您受雇,就没有所谓的“个人”博客。
—Chris DiBona
HLA 冒险
当 Zork 在 1970 年代后期出现时,来自世界各地的计算机爱好者立即迷上了被称为文本冒险游戏的互动小说类型。
HLA 冒险是世界各地人们发布的公共领域和免费软件文本冒险游戏的最新作品。它结合了 MUD、高级龙与地下城和 J.R.R. 托尔金著名的 魔戒中的元素。
玩家使用动词和名词与游戏世界进行交流,在 HLA 冒险中移动,但心中只有一个简单的目标:杀死位于广阔洞穴尽头的可怕巨龙。在解决这个主要任务的同时,玩家还会遇到其他九个独特的任务,这些任务允许玩家找到物品并装备武器、盔甲和明亮的灯笼。甚至一支魔笛也发挥作用——有助于使魔法野兽入睡。
玩家将遇到地狱犬、狼人、吸血鬼、霍比特人、幽灵、野蛮人和恶魔。使用TALK TO命令与游戏中的生物交谈。一旦您获得了必要的武器并完成了所需数量的任务,您就可以进入洞穴并彻底杀死巨龙。
尽管游戏中存在一些错误,但 HLA 冒险是一款坚实、强大的开源冒险游戏。它使用 Randall Hyde 的高级汇编 (HLA) 编程语言编写。
Nigel McFarlane
随着 Nigel McFarlane 的突然去世,澳大利亚和世界各地的 Web 开发和开源软件社区失去了一位最著名的作家、顾问和评论员。
尽管在许多方面 Nigel 是一位非常注重隐私的人,但他拥有一个遍布全球的专业和人际网络,其中包括开源浏览器 Firefox 的首席工程师 Ben Goodger 等在线名人,以及开源、Web 开发和 Linux 社区中的无数其他人。自从他去世以来,许多社区网站以多种语言表达了他们的悲痛,这证明了 Nigel 的影响力。
Nigel 是一个真正的墨尔本男孩,自豪地将这座城市描述为“世界上最宜居的城市”,他拥有墨尔本大学和拉筹伯大学的科学学位。即使在悉尼演讲时,他也总是渴望尽快回家,在那里他会丛林漫步和漫游、游泳和冲浪。
Nigel 从他心爱的墨尔本建立了全球声誉,这在 1990 年代之前是不可能的。许多其他人已经并将效仿他的榜样,但就像他所做的大部分事情一样,Nigel 在这里也是一位先驱。自 1997 年以来,Nigel 通过出版几本关于 JavaScript、Mozilla 以及最近越来越流行的免费开源浏览器 Firefox 的成功书籍,在 Web 开发和最近的开源技术社区中广为人知并受到尊敬。
早期关于 JavaScript 的两本书,《Instant JavaScript》(1997 年)和与人合著的《Professional JavaScript》(2001 年),至今仍被许多人认为是关于该主题的最佳书籍之一。最近,基准 Rapid Application Development with Mozilla 和 Firefox Hacks 在日益重要的开源社区中占据了一席之地。
Nigel 的写作扩展到 InformIT 的专栏“Searching for Substance”,以及为 Linux Journal、《DevX》、《Builder.com》、《CNet》、《The Age》和《Sydney Morning Herald》等出版物撰写的文章。Nigel 不仅是一位有趣的作家,也是一位有趣的演讲者。我特别记得去年年底我主持了一次 Nigel 发言的会议。会议参与者通常急于在用餐队伍中抢占先机,但尽管我们的午餐时间已经超时,Nigel 仍然吸引了全场。当被问及是否可以休息时,全场都拒绝了,因为他们都被 Nigel 的演讲深深吸引。
Nigel 慷慨地奉献了他的时间、精力和知识,为邮件列表、新闻组和论坛做出了贡献,并在会议和用户组中向大小听众发表演讲。他的影响力远远超出了澳大利亚,最近几天来自世界各地的开发人员以及开源和 Web 开发社区成员的悼念证明了这一点。
Nigel 的去世对于这些仍处于起步阶段的行业来说是一个令人悲伤的损失。
《LJ》十年前:1995 年 10 月
1995 年 10 月号的主题是“文本处理”,专题文章介绍了 groff、LaTeX 和 Linuxdoc-SGML,Linuxdoc-SGML 是 Linux 文档项目的早期文档格式。这三种文档格式至今仍在使用。
过渡到 64 位是当今的 IT 新闻,但十年前对我们来说这是一个热门话题。当时仍在 Digital 工作的 Jon “maddog” Hall 介绍了 Alpha 上的 Linux 及其对计算机科学教育的优势
随着时间的推移,这意味着要获得我们所有 Unix 产品的源代码,需要 15 个单独的许可证,成本数千美元,即便如此,源代码也仅限于“需要了解”的基础,并且不供好奇的学生使用。
出版商 Phil Hughes 在一篇“停止印刷”的文章中指出,Microsoft Windows 95 覆盖了 PC 的主引导记录——这是第一个这样做的 Windows 版本,并且从此成为双启动用户的常见问题。更多帮助来自“System Commander”启动管理器的广告,它为多操作系统系统提供了简单的解决方案,并具有修复引导扇区病毒感染的额外功能。
网络信息
为了配合本月个人桌面主题,以下是 Linux Journal 网站上的一些文章,这些文章将帮助您了解 OpenOffice.org,试用一些 Linux 音频软件并从损坏的 USB 设备中恢复数据
您是否想迁移到 OpenOffice.org 但不确定会发生什么?您是否正在尝试说服朋友和/或家人试用 OOo,但他们想了解学习曲线?如果是这样,Bruce Byfield 的文章“OOo 走出困境:新用户需要了解的关于 OpenOffice.org 的信息” (www.linuxjournal.com/article/8443) 建议阅读。Bruce 阐明了 OOo 的“界面缺点”和“在线帮助的局限性”,以及“其界面设计的逻辑以及样式和模板在高效工作流程中的重要性”。
Linux 音频在过去几年中取得了长足的进步,Dave Phillips 继续他的新音乐家和工程师之旅,无论是全职还是兼职。最近几个月,他向我们介绍了 FreeWheeling,“一个强大的基于循环的表演工具” (www.linuxjournal.com/article/8445),以及 QSynth 和 QJackCtl,GUI 前端,“使 Linux 音频任务更轻松快捷,让您可以直接进入音乐” (www.linuxjournal.com/article/8354。
最后,Collin Park 分享了他“GNU/Linux 如何拯救损坏的 USB 驱动器”的故事 (www.linuxjournal.com/article/8366),为我们这些丢失过重要数据并将再次丢失数据的人们带来了希望。
可能恰到好处
今年早些时候在波士顿举行的 LinuxWorld 大会上,我与一位瑞典老朋友聚在一起。她是一名护士,不是技术专家,但她对我的工作和带我来这个城市的会议感到好奇。在我的 Linux 及其优点的解释中,她说道,“啊,Linux is lagom”。她解释说,lagom 是一个瑞典语术语,表达了一种平衡、比例和恰当的感觉。“不多也不少……恰到好处。”
当我告诉她 Linus Torvalds 的第一语言和姓氏都是瑞典语时,她说,“当然。就是这样。”(我本人也是半个瑞典人,尽管我不确定这是否重要。)
所以我向 Linus Torvalds 本人提出了问题“Linux is logom 吗?”。他调试了我的拼写并拒绝承诺
Lagom,带“a”。
是的,它的意思是“恰到好处”,在“不多也不少”的意义上。请参阅 en.wikipedia.org/wiki/Lagom
然后他在随后的电子邮件中补充道
他们仍然最终将“lagom”与寻找“最佳”量混淆。这几乎完全忽略了重点。事物是“lagom”并不是因为它可能是最好的或“最佳的”。恰恰相反。事物是“lagom”在很大程度上意味着不太关心最佳量甚至是什么。或者可能是“最佳”根本没有意义的问题。
所以我开始检查其他来源。我找到的最好的是牛津英语词典出版的 AskOxford 中出版的“In Other Words”(www.askoxford.com/worldofwords/wordfrom/otherwords)。它将 lagom 列为少数“地球上最深刻、最有趣和最令人满意的表达方式之一——英语中没有与之对应的词”。它说
瑞典评论员 Bengt Gustavsson 博士认为,lagom 心态可以被视为赋予瑞典社会其特有的稳定性和对外部影响的开放性的特质。这个词潜意识地暗示了避免明显的成功和屈辱性的失败,这在瑞典人的心理中根深蒂固。这是瑞典人避免炫耀、接受适度奖励、成为优秀的团队合作者——保持低调的倾向。
Beneath the Radar 也是 Bob Young 关于启动和引导 Red Hat 走向成功的书的书名。巧合吗?
也许具有代表性的是,Linus 在这个问题上补充了最后几句话:“但这是否适用于 Linux,我就不知道了。”
diff -u:内核开发的新变化
在经历了漫长而艰难的生命之后,DevFS 终于从 Linux 内核中移除。DevFS 由 Richard Gooch 创建,已经存在多年,它代表着治理由失控的 /dev 目录的认真尝试。开发 DevFS 是一场与众多反对者的艰苦战斗,但 Richard 确实成功地创建了一个非常有用的工具。然而,最终,DevFS 的批评者胜出,他们引用了“无法修复的竞争条件”和其他问题,Richard 也完全从内核开发中消失了。Greg Kroah-Hartman 和其他人随后开发了 udev 作为 DevFS 的替代品。即使在现在,2.6 内核作为稳定树的挥之不去的意识也使这个决定略有争议,但几乎可以肯定的是,这不足以影响结果。再见 DevFS——这是一项勇敢的努力。
最近,各种人士报告说,在尝试使用 GCC 版本 4 编译 2.4 内核 时遇到了编译问题,一些开发人员发布了补丁来解决这些问题;然而,Marcelo Tosatti 表示,对于这些类型的补丁来说,进入 2.4 树已经太晚了。与 2.6 开发不同,2.4、2.2 和 2.0 的维护者尚未决定效仿并放弃他们的树必须以稳定性为目标的想法。自从第一个 2.6 内核问世以来,Marcelo 一直试图控制 2.4 的开发,但他仍然允许大型 IDE 更改、新的硬件支持和其他补丁,这些补丁的侵入性通常会与追求稳定性的努力背道而驰。随着 2.6 开发没有放缓的迹象,Marcelo 一直面临着将新功能纳入 2.4 的持续压力,以便为需要 2.4 稳定性的用户提供这些功能。然而,随着 w.x.y.z 树的出现,这种压力无疑已经减弱,Marcelo 已经能够收紧对在这个后期可以和不可以进入 2.4 的限制。
git 版本控制系统继续发展壮大。Andrew Morton 的 -mm 树将作为 git 存储库提供,尽管 Andrew 本人没有计划将任何版本控制工具用于实际开发。ALSA 项目已将开发迁移到 git,libata 也是如此。Marcelo Tosatti 的 2.4 树也将使用 git 进行持续开发。Linus Torvalds 仍然非常积极地参与该项目,尽管邮件列表流量已从其疯狂的早期几周有所减少,但这在很大程度上是由于人们现在了解了该工具的基础知识,并且不再需要向新手解释基本概念。
在所有版本控制动荡中,很难确定新的 w.x.y.z 稳定内核是否有效。但是一些内核人员,包括 Jeff Garzik 和 Alan Cox,认为这棵树成功地提供了一个稳定的内核来补充 2.6 树的持续大规模开发。w.x.y.z 树的主要维护者 Greg Kroah-Hartman 和 Chris Wright 似乎确实在认真地工作,不仅收集和应用补丁,而且还遵守 Linus Torvalds 关于可以应用哪些补丁以及何时以及如何接受这些补丁的严格指南。许多方面使这个项目不如做真正的开发工作那么有吸引力,但 Chris 和 Greg 似乎表现得很好,我们其他人都是受益者。
Martin J. Bligh 编写了一组自动测试脚本,这些脚本在所有官方内核发布(包括 w.x.y.z 内核)和几个重要的分支(如 -mm 树)发布后 15 分钟内编译并启动它们。如果内核成功启动,Martin 的脚本会使用各种基准对其进行测试。编译和启动结果被记录下来,基准结果被绘制成图表,所有内容都作为一组正在进行的 kernel.org 网页提供。这是一个不会解决所有错误的项目,但它会识别许多琐碎的错误,跟踪跨多个内核版本的性能问题,并可能识别普通用户通常看不到的难以发现的错误。
最近在内核补丁提交中引入 Signed-Off-By 标签在提供作者踪迹方面发挥了巨大作用,因此,如果再次发生像 SCO 诉讼这样的事件,将很容易证明是谁编写了任何有争议的源代码。事实上,这是 Linus Torvalds 引入 Signed-Off-By 标头的既定目的。最初引入时,这个想法相当模糊,几乎没有确定细节。从那时起,引入了各种细节以提高其有用性。其中最新的一个是添加 From 标头作为补丁电子邮件正文的第一行。此标头标识给定补丁的真实作者。在此细节之前,真正的作者被认为是具有最底部 Signed-Off-By 标头的人。然而,这变得令人困惑,并且并非总是遵守。From 标头旨在毫不含糊地表明给定补丁的原始作者。