Talking Jabber
当我第一次听说 Jabber 时,它让我大吃一惊。我一直认为我们称之为“即时消息”的东西是基于对实时通信的理解,这种理解既简陋又考虑不周。它们看起来都像是大型、控制型公司强加给无数消费者的东西,目的是将他们 Hook 到一个专有环境中,在那里他们会被广告轰炸。更糟糕的是,它们不是基于网络的。它们可能在网络上运行;但除了 IRC 之外,它们都是私人的事情。在 Jabber 出现之前,没有办法像部署电子邮件或 Web 服务器那样在网络上部署即时消息。没有任何东西是真正开放的,也没有任何东西是开源的。Jabber 具备所有这些以及更多。
不久前,我有机会坐下来采访了几位 Jabber 的主要推动者
Jeremie Miller,Jabber 的创建者——把 Jeremie 想象成 Jabber 的 Linus,就像一个名字就足够了的绰号一样。
Thomas Muldowney 是 Jabber 的首席程序员之一。
Perry Evans,Webb.net 的总裁兼首席执行官,一家互联网基础设施公司:Perry,也许最出名的是 Mapquest 的创始人,是他向我介绍了 Jabber。他和 Webb.net 是 Jabber 的恩人,与 Jeremie 有着类似于 Transmeta 的关系:他们雇佣了他。
Andre Durand 是 Jabber Inc. 的总经理,Jabber Inc. 是 Webb.net 的商业 Jabber 部门。免责声明:我现在是 Jabber, Inc. 的顾问委员会成员。
Jabber 仍然比新的还要新,也就是说它还没有发布,尽管您可以从 Jabber.org 下载它并试用——或者更好的是,加入并帮助开发它。我很高兴与 Jabber 的人交谈,并邀请开源开发人员也这样做。我非常想知道您是否同意这是一个极其吉祥的运动:规模堪比 Mosaic、Sendmail、Apache 甚至可能是 Linux 的东西。
Doc:Jeremie,这最初是你的想法吗?
Jeremie Miller:是的。基本上是这样。我不知道它是否真的独特,但它正在变得独特。它始于 1998 年初。我在一家 ISP 工作,我当时在摆弄其他聊天客户端。我们曾经使用 IRC、ICQ 和 Excite 一段时间。它开始在办公室流行起来。我甚至不知道 [AOL 的] AIM,真的。我在 Windows 世界里待的时间不多。
Doc:你是一个 UNIX 人?
Jeremie Miller:是的。但我发现我认识的更多人都在玩 AIM,最终我有了需求——拥有我所有的 UNIX 实用程序,我所有的日志记录,大部分 UNIX 环境——想要实时交互式地使用这个新的“好友列表”。我希望能够使用这个好友列表作为通道来输入我的东西。后来,我看到有开源库可以重新进入 ICQ 和 AIM 等……所以我考虑了几个星期。问题是,“做这件事的最佳方式是什么?” 我不想构建自己的客户端,因为我根本不会做 GUI 的东西。我只会做后端服务器的东西。我认为我可以构建一个后端服务器并制作自己的协议,然后也许可以说服其他人编写一个客户端,这样当我想添加功能时他们就不必更新它。我只是开始将所有功能添加到服务器中。这样,我可以将该服务器桥接到我想添加的 UNIX 内容中——一些日志公告和任何我想推送到其中的小东西。我可以让该服务器桥接到寻呼机。我可以让它桥接到 ICQ 和 AIM,这样我就可以使用其他客户端与我的朋友交谈。它就是这样发展起来的。
Doc:给我们讲讲 XML 方面的事情。
Jeremie Miller:我一直都是 XML 的大力倡导者。我写过几篇关于它的文章。自从我发现 XML 以来,我有点把它看作是对 IT 行业或互联网所做的事情,就像硅芯片最初为计算世界所做的事情一样——从晶体管发展到 IC。这几乎是相同的阶段。XML 感觉变化很大。它正在改变所有底层结构,加速一切,使每个人都能够以其他人可以理解的方式构建数据。即使您不理解数据的某些部分,您至少可以查看数据并看到数据的结构。因此,XML 始终是我在后台构建的服务器的一部分。我正在使用 XML 将其推送到客户端。就像我说的,它并没有什么真正独特之处。它只是将 XML 放入其中以及想要将所有这些东西放入服务器的愿望的正确组合。然后当我开源它时——它就从此起飞了。
Doc:现在有多少人参与 Jabber?
Jeremie Miller:我们的开发人员邮件列表现在有 600 人。我想说有 50 人为 Jabber 编写了某种代码。可能有 20 人每天都在积极地做一些事情。还有 5 到 10 个核心人员,他们了解基本原理,并且经常使用核心系统或客户端。
Doc:我感觉到人们的兴趣正在增长。
Jeremie Miller:是的。现在邮件列表上大约有 6000 人。
Doc:对于理解 AIM 和 ICQ 条款中的即时消息的人来说,Jabber 和它们之间有什么区别?我问这个问题的原因是,当我与人们谈论 Jabber 时,他们的回应是:“那是一个拥挤的空间。有无数个 AIM 和 ICQ 客户端,而且这是一个以客户端为主导的世界。” 还有另一个客户端的空间吗?有什么区别?我想知道您如何解释这些系统之间本质上的区别。
Jeremie Miller:我将即时消息视为一个广阔的空间。一点也不拥挤。从我的角度来看,那里没有人。那是因为当我看到 Jabber 时,我将其视为与电子邮件相同的后台架构。因此,任何人都可以安装即时消息服务器,并向其用户群、门户网站和公司提供他们自己的即时消息服务。ISP 可以像提供电子邮件一样向其用户提供它。从这个角度来看,没有人使用即时消息这样做。对于 AIM 和 ICQ,您要返回 AOL 获取所有内容。
Doc:所以当您查看 AIM 客户端时,您正在查看位于弗吉尼亚州维也纳的一台服务器。那是一台大型机。
Thomas Muldowney:是的,那是一台大型机。这也是他们对即时消息作为应用程序应该是什么抱有非常有限的看法的原因之一。
Doc:即时消息是我们在谈论的正确词吗?我听说 AOL 将其视为一种在 13 岁女孩面前投放广告的方式,她们聚在一起谈论男孩并讨论她们的作业。
Jeremie Miller:我不知道。我们正在构建的架构包括即时消息。但这只是一部分。我们正在做的是在客户端之间、服务器之间、不同软件代理之间推送结构化数据——XML 片段。我们正在网络上推送 XML 数据。
Thomas Muldowney:它更像是一个 MOO 消息应用程序平台。
Doc:所以思考它的最佳方式是将其视为在企业或 ISP、服务器上部署的服务,就像电子邮件、新闻、名称服务……
Perry Evans:是的。但是您还需要将 XML 的另一个优点添加到这张图中。当您在实时对话的中间放置结构化 XML 时,您可以利用它做更多事情。您可以围绕它构建应用程序,这些应用程序的意义远不止文本本身。这真是一个全新的平台。那里没有任何类似的东西,它远远超出了您可以使用 AOL 及其大型机所能做的事情的范围。将其视为一个具有视频和音频的多媒体平台。IM 正在成为对话的起点,背后是支持 Jabber 的应用程序基础,这将是许多我们以前从未见过的通信类型的开始。
Andre Durand:就在过去几周,我们一直在看到人们向我们发送应用程序,这些人抓住了“即时消息”的标签,因为在他们看来,他们的应用程序始于某人开始对话。但很快,对话就变成了,“我如何路由 XML 文档?” 因此,Jabber 通过 XML 文档路由即时消息通信这一事实成为最有意义的方面。因为 Jabber 的核心是一种路由 XML 文档的方式。一个例子:XFDML,XML 表单定义标记语言,基本上用于法律文件的安全数字签名和传输这些文档。
Doc:所以这里有一个服务器组件,这是我们在熟悉的 IM 应用程序中没有的。
Jeremie Miller:没错。除了我们在互联网世界中知道的所有熟悉的服务之外,没有其他类似的东西了。这就是为什么它是如此自然而然的契合。
Doc:有什么特殊的协议吗?
Jeremie Miller:没有。服务器和客户端使用基于 XML 的协议进行通信,所有服务器都使用 XML 协议相互通信。它只是 XML。从服务器端来看,一旦我们有了结构化数据,服务器就会使用我们正在构建的各种不同的传输方式。ISQ 名称传输就是其中之一。您可以拥有一个寻呼机传输,将消息移动到寻呼机网络上。您可以为自己的自定义设置构建传输。您想要进出结构化数据的任何东西都可以为其构建传输。我们正在构建 SMPT 传输,因此您可以将电子邮件传入其中。因此,在服务器端,您正在获取所有旧协议或任何其他协议,将其转换为结构化数据,并将其输出到 Jabber 网络上,该网络会将其移动。
Doc:您可以毫无困难地传递 ICQ 或 AIM 消息,对吗?
Jeremie Miller:它们只是数据。
Doc:您害怕这里的 AOL 吗?最近,AOL 惩罚了自己的用户,以及微软,因为他们试图使两个即时消息系统互操作。
Thomas Muldowney:实际上,Jabber 社区中的每个人都觉得这很有趣。事实是,在像 Jabber 这样开放、分布式的系统和开发平台存在之前,Jabber 可以满足永远无法满足的需求。我们的基本观点是互操作性是不可避免的。它将通过约定的规范或通过像 Jabber 这样的开源互联网协作来实现。我们非常支持这两者。我们不知道 AOL 是否会阻止 Jabber,作为一个开源开发社区,他们是否这样做与我们无关。我们正在为世界提供一个早就应该出现的开放系统,用于开发和运营 IM 通信和应用程序平台。碰巧的是,Jabber 的构建目的是为了桥接专有的 IM 网络,例如 AOL 的 AIM 网络,并且非常适合这样做。
Doc:所以您不担心 AOL 会以某种方式在您的客户端下方改变游戏规则。
Thomas Muldowney:AIM 兼容性在 Jabber 中只占 Jabber 全部内容的一小部分。我认为这是一个很好的功能,当然也为采用 Jabber 的人提供了便利,但归根结底,我们实际上对像 Jabber 这样的系统能够实现的其他事情更感兴趣。
Doc:所以您认为 Jabber 普及符合 AOL 的利益?
Andre Durand:我认为这符合整个互联网社区的更大利益,如果 AOL 拓宽其思维过程,它可能会看到开源社区非常适合将 IM 技术带到前所未有的高度。AOL 没有发明互联网浏览器或互联网电子邮件,但他们肯定为很多人提供了它们。我认为他们应该继续做他们最擅长的事情,那就是为消费者提供最简单、最消费者友好的上网和体验互联网的方式。我不认为 AOL 必须拥有该协议才能继续主导 IM 市场的消费者方面。事实上,我认为当 AOL 阻止其他人尝试为消费者提供互操作性时,AOL 并没有为自己赢得任何互联网商誉。最终,互操作性将占上风;对它的潜在需求实在太大了。
Perry Evans:重要的问题是 Jabber 并不是要像 AIM 和 ICQ 那样成为 IM 服务。它并没有威胁到 AOL 聚合社区并为其增加价值的核心业务战略。它为 AOL 没有自己产生的许多新应用程序提供了系统替代方案。AOL 不想进入企业领域。它不想作为系统进行接口。因此,在许多方面,Jabber 正在填补一个空白,在 AOL 构想的 IM 中根本不起作用。AOL 试图通过 IM 创建社区,这很好。Jabber 并没有像 AIM 或 MSN 那样试图控制用户。Jabber 更加兼容。再说一次,它就像电子邮件,但作为一项服务,它对更多扩展和应用程序开放。
Andre Durand:很容易忽略 Jabber 代表的东西远大于 IM 这一事实。它更广泛。IM 有许多狭隘的关联。如果您停留在这些狭隘的关联中,它看起来不可避免地像是 AIM 和 ICQ 的替代品,但它是对这些产品的补充。实际上,对 Jabber 的大部分需求并非来自寻找消费者级竞争对手好友列表的用户。我们看到对复杂的、基于 XML 的实时通信应用程序的需求,其中 Jabber 是 XML 文档的实时路由器。在该架构中,您可以做很多事情。
Perry Evans:Jabber 着眼于互联网,看到了对服务的需求并填补了它。并且以正确的方式做到这一点:使用任何人都可以采用和改进的开源代码。它是包容性的,而不是排他性的。
Doc:您希望看到在 Jabber 上开发哪些幻想应用程序?
Jeremie Miller:我的梦想是一个文本编辑器,可以让多人同时处理一个文档——当人们正在键入并在屏幕上看到它时,消息会闪烁,说“你做得对”或“你应该看看这里”。
Doc:就像律师事务所一样。创意文档往往不是实时协作编写的,但法律文档通常是。
Thomas Muldowney:您可以拥有一个实时 FAQ,不同的人负责不同的问题。
Andre Durand:现在没有理由延迟操作。您可以使用 Jabber 实时完成它们。例如,商品市场。任何买家需要找到卖家的市场。整个报价/投标场景都可以通过在 Jabber 上运行的应用程序来控制。
Perry Evans:我们谈了很多关于将静态数据库(如分类广告)扩展到本质上的实时拍卖服务。也就是说,当有人对购买产品感兴趣时,他们可以打开实时通信选项;但由于您在其中间有一个文档结构,您可以选择将其推送到公告板并说,“有人想竞标这个吗?” 或者您可以将其放入一个应用程序,该应用程序会说,“如果没有人来,我将在十二小时内接受您的报价。” 我们正在谈论将可扩展性放入静态内容中,并围绕实时对话构建它——但要走得更远,因为您对 XML 上的对话进行了智能记录,这使其可以成为社区协作、应用程序流程或任何其他事情的一部分。
Doc:技术支持在我看来是这项技术的一个巨大的潜在应用。我有一个技术支持问题已经持续了好几天了,并且在此过程中出现了许多不同的故障单。如果技术支持人员和我都可以在我们进行电话交谈的同时查看历史记录,那就太好了。
Perry Evans:XML 世界正在提出各种标准,包括客户配置文件标准。因此,您可以根据自己的意愿,将您的配置文件放在买方和卖方之间的通信中间。您可以将任何类型的文档放在对话中间这一事实具有各种各样的含义。这在很大程度上将是未来几年 XML 对话的内容,我确信 Jabber 将是其中的原因之一。结构和上下文存在着这个看不见的维度,而 XML 才刚刚开始探索应用程序的道路,这些应用程序包括围绕对话中间的文档进行交互。这是一个非常强大的功能领域,我们才刚刚开始想象。
Doc:XML 世界和 Jabber 开发社区之间有什么重叠?
Jeremie Miller:XML 世界中的每个人都有他们非常投入的自己的项目。其中一些是 Jabber 项目。但是我们与 XML 世界非常接近。那个世界的很多人都知道我们在做什么,反之亦然。但我们主要将 XML 视为我们在新应用空间中工作的构建材料。
Doc:您真的在这里构建网络基础设施。
Jeremie Miller:当然;Jabber 是开源的这一事实与此有很大关系。
Perry Evans:它也是互联网需要的一项全新服务这一事实。它是一项将不同的开发世界联系在一起的服务。人们还没有将 XML 试图构建词汇表标准与更具对话性和交互性的流程应用程序世界联系起来。这就像,让我们确保词汇表正确,然后再开始交谈。因此,DTD——文档类型定义,一个行业的词汇表——是当前 XML 社区的主要关注点。有些人正在研究 DTD,例如,化学工业,每个人都在描述事物的方式上进行标准化,然后再真正研究交互式应用程序。但 Jabber 在这里研究交互式方面,由此产生交叉授粉。最好的例子可能是几天前出现的一个例子。来自 Commerce One 的某人向 IETF 提交了一个基于 XML 的消息传递提案。这实际上高于 Jabber 所做的事情的层次,但这是 XML 社区的主要供应商开始表示他们关心消息传递并认为它是下一个重大事件的第一个迹象。
Doc:你们中有人参与 IETF 吗?
Jeremie Miller:我在 IETF IMTP 列表中,并且参加了会议。
Doc:IETF 对 IM 感兴趣吗?
Jeremie Miller:他们很感兴趣,并且有一个完整的团队在研究 IM 协议。他们正在努力研究它;他们争论很多。
Andre Durand:这对我们来说不是一个迫在眉睫的问题。我们是基于 XML 的,我们正在不同点之间传递结构化数据。他们正在专门为即时消息设计协议。基本上是在客户端和服务器之间在线传输的内容。一旦该协议可用,我们将完全支持它。
Jeremie Miller:这与我们正在做的事情不同,但我参与其中,所以我可以理解它的进展情况。
Andre Durand:由于整个领域是新的,并且尚未构建完成,因此很难解释。昨天,我正在与一些投资者交谈,我不得不将他们的思想从关于即时消息的默认假设中转移出来。因此,我谈到了 Jabber 作为实时通信基础设施的宏伟愿景。我使用的类比是 Cisco 路由器,它是用于路由 IP 数据包的软硬件工具。Jabber 是一台实时路由 XML 文档的服务器。从这个角度来看,如果未来有应用程序需要将其信息流建立在 XML 文档的基础上,并且需要实时性,其中存在感很重要,并且您需要实时用户,Jabber 服务器到服务器的通信架构——每个人都可以运行自己的服务器,就像今天的电子邮件一样——Jabber 可以被视为实时路由器。在此基础上,任何人都可以构建增值、基于 XML 的应用程序,其中大多数将位于通信方面,即时消息是用户今天考虑的应用程序,但其含义要大得多得多,并且无法用 IM 术语来理解。我们看到一个世界,XML 文档成为公司之间或公司内部传输所有结构化数据的主要形式。
Doc:如果我们使用路由器的比喻,我们是在谈论产品吗?还是像 Cisco 路由器那样可以产品化的东西?
Andre Durand:在某种程度上,它就像一台电子邮件服务器,是的。十年前,没有人出售电子邮件服务器。现在我们有了 Software.com,它已经建立了一个将电子邮件服务器商业化的业务,就像 Netscape 和微软已经将 Web 服务器商业化一样。从这个角度来看,公司有多种方式可以将 Jabber 服务器商业化。您还可以将 Jabber 服务器变成一项服务,就像 Hotmail 创建了一项围绕基于 Web 的电子邮件的服务一样。因此,商业模式可能会围绕服务级别、专业服务、增值服务或销售开源 Jabber 软件本身的一些高级版本而出现。这些商业模式都已被其他公司在类似领域尝试过。
Doc:命名空间是什么样的,它看起来如何?我知道 AIM 客户端都使用 AOL 命名空间,其中包含无数个名称,要求每个人都拥有一个车牌号才能命名。我的 AIM 句柄是 Zdilmidgi。非常难忘。那是因为 DSearls 和 DocSearls 以及其他类似的名称已经被占用,具有讽刺意味的是,早在我在 80 年代拥有 AOL 帐户时就被我占用了。根本没有更多的普通名称了。从今天的客户端角度来看,这是一个真正的 IM 问题。你们正在使用什么——电子邮件地址?
Jeremie Miller:没错;这是唯一的方法。这是大多数人认为的另一个人标识符。我们只是在利用这一点。
Andre Durand:多个 Jabber 服务器将存在于 .com 世界中,并使用相同的命名约定。那里没有冲突。
Doc:所以您没有在这里创建另一个命名空间。地址将是域名派生的电子邮件地址。
Andre Durand:作为一个系统,它可以做到这一点,但作为一项服务,它不能。AOL 没有选择,因为 AOL 是一个只有一个服务器和一个巨大命名空间的系统。
Doc:但是“巨大”是形容它的词。有多少 AOL 客户,每个人都有自己的 IM 句柄?此外,所有那些不是 AOL 客户但已激活 AIM 客户端及其 Netscape 浏览器的用户。那些不是电子邮件地址。
Perry Evans:但是如果他们使用 Jabber,他们可以使用他们的电子邮件地址。我不知道您是否看到了最近PC Magazine关于即时消息的封面故事,但他们估计今天有 5000 万 IM 用户,到 2003 年将有 1.8 亿用户。好吧,接下来的 1.3 亿用户不会全部来自 AOL。IM 的许多增长将发生在企业内部、嵌入式设备和其他地方。因此,目录和命名空间之间的互操作性将面临巨大的压力。在企业内部,Jabber 提供的功能非常有意义。企业可以运营和控制自己的 IM 服务。它不需要依赖弗吉尼亚州 AOL 的大型机。我认为 AOL 从根本上认识到这一切,这就是为什么它支持 IETF 互连计划的原因。因此,从现在开始的两年后,这将更像是一个悬而未决的问题。
Andre Durand:我们已决定远离面向消费者的 IM 服务市场。没有必要拉响警报。Jabber 的主要用途是在 IM 和基于 IM 应用程序的分布式开放平台之间创建桥梁。显然,这是互联网作为一个整体所需要的,并且极其重要;它需要一个实时消息传递服务器,而开源方式是实现它的正确方式。当我们看到基于实时通信构建的应用程序时,对于 AOL 来说,它喜欢玩的消费者领域有很多好处。
Perry Evans:重要的是从 5 万英尺的高度来看待问题,并看到 XML 才刚刚开始以严肃的方式进入互联网,并且许多东西都可以建立在基于 XML 的实时智能通信之上——例如,语音集成和视频集成技术。我们对所有这些东西都还处于早期阶段。但是当您查看 Jabber 时,很容易开始想象这些东西。
Doc:实时电子商务可能会非常庞大。
Perry Evans:现在,我们在 Web 上支持非常原始的买卖双方互动。借助 Jabber,您可以看到各种可能性。它可能从 Web 开始并跳转到电话,反之亦然,或者同时涉及两者。有很多种场景,都很有趣。您可以获得即时消息电话警报。语音邮件标识符和语音到文本的转换……
Andre Durand:很多关联。
Thomas Muldowney:我们在上次 Linux World 的“Linux 的 IP 语音”Birds of a Feather 会议上讨论过这些内容。我们了解了很多,它改变了我们对这个问题的看法。对话就是这样。
Andre Durand:到目前为止,我们听到的唯一关联是 IM 会通知您电子邮件或语音邮件。但我们开始看到的是,也许 IM 是所有这些东西的底层,并且有可能在集成这些应用程序中发挥更关键的作用。您可以使用它来启动 IP 语音会话或视频会议会话。
Perry Evans:我们现在正在研究我们在启动业务的对话中使用的所有社会标准。“我想预订”,例如。“给我报价。” “您有空吗?” “您什么时候回来?” “您有库存吗?” 许多这些交流都可以自动化。这很适合 XML 自动化。它是结构化数据。将其弹出到菜单中,将其放入日历中,全部实时,然后进行自动确认。Webb 的业务是将商业置于这些事情背后。这就是为什么当我们看到 Jabber 时,我们张开了双臂拥抱它。那是缺失的一环。它超越了即时消息和文本交换。它是我们构建应用程序所需的结构。我们知道日常商业将是对话式的,并且通常以语音电话或 IM 窗口开始。但是这些东西的编织将围绕基于 XML 的标准交换发生。社区互动从那里向外扩展。“我想为这个社区提供送货服务,我正在寻找其他十个人,他们同意我的观点并保证市场。” 将文档结构放入所有这些的中间,适应这些类型的对话发生的直观方式——现在这一切都是可以想象的,Jabber 服务使其成为可能。
Doc:Linux 作为嵌入式操作系统的优点之一是它比其他类型的操作系统更好地消失。例如,这就是 Intel 的家庭网络设备和机顶盒以及 Cobalt 的 Qube 中发生的情况。操作系统变成不可见的基础设施。您是否看到 Jabber 也发生同样的事情?
Andre Durand:我们看到了。它可能会。就个人而言,我喜欢“Jabber 无处不在”的想法。我们已经看到这种情况发生了。正在为各种操作系统和各种设备构建客户端。我认为,如果我们继续专注于确保 Jabber 是开源社区的正确平台,那么该社区将把 Jabber 带到各种地方,包括嵌入式世界。
Perry Evans:我们认为这是非常基础的。一旦人们开始看到他们可以用它做什么,它就会像滚雪球一样迅速发展。
Andre Durand:您知道,在我参与互联网之前,我曾深入参与 BBS 行业,就像它曾经存在的那样。当然,没有人让所有这些板子协同工作。我们缺少的是连接它们的通用协议。今天我们在 AIM 和 ICQ 以及其他基于大型机的 IM 系统中处于类似的位置。它们彼此不兼容,就像旧的 BBS 不兼容一样。您无法使用 IM 本身做任何有创意的事情,因为每种 IM 都是孤立的且独立的。可能性的世界无法在那里打开。该行业不是为此而建立的。但是 Jabber 将 XML 带入了这个东西的中间,让我们在对话的中间插入文档,突然一切皆有可能。它就像互联网一样。它为我们提供了创意关联的基础。
Doc Searls (doc@ssc.com) 是 Linux Journal 的高级编辑,《Cluetrain Manifesto》的合著者,也是 Jabber, Inc. 的顾问委员会成员。
电子邮件:ljeditors@ssc.com