开源的意义

作者:Glyn Moody

和许多 Linux Journal 的读者一样,我最近一直在将我的 Gibbons 升级到 Herons。而且和许多读者一样,我想象得到,我一路遇到了一些小挑战。这并不令人惊讶,因为进行重大升级时,这几乎是理所当然的。但还有一些事情让我感到惊讶,尽管事后看来,我不应该感到惊讶。

首先,我尝试自己解决升级过程中出现的问题。我(或许有些乐观地)认为,这只是应用一些逻辑的问题。但后来我意识到,这样做很愚蠢——真正的闭源思维。毕竟,开源的核心思想之一是,如果我们合作,并在他人的工作基础上进行构建,我们每个人都需要付出的努力就会减少,最终结果也会更好。如果别人已经做过了,我为什么要重新发明这个轮子呢?

所以我开始在网上搜索解决我遇到的各种小困难的方案。我对我发现的东西感到惊讶。在每一种情况下,其他人都遇到过类似的问题,并且在每一种情况下,人们都提供了关于如何解决这些问题的有益建议。这真是对整个开源方式的美好证明,人们通过传递他们的个人发现来互相帮助。

但是,当我在四处搜索时,另一件事变得清晰起来:找到这些信息并非易事。首先,你需要非常严格地制定搜索引擎查询,否则会弹出数百个误报。即便如此,处理你问题的讨论线程也很长、曲折且分支繁多;在解释性的迷宫中找到正确的路径是一个挑战,我经常需要花一段时间才能找到导致我需要的建议的讨论。

自由软件社区的一个优势是它会帮助人们解决他们遇到的问题,这已经是一种老生常谈。正如我自己的经验所表明的那样,通常甚至不需要寻求帮助,因为其他人过去已经提出过同样的问题。但同样,期望普通用户——尤其是自由软件世界的新手——走这条路显然是不现实的。人们很容易被外界的信息淹没,也很难找到他们真正想要的东西。

这让我开始思考:鉴于网上有如此惊人的资源,我们如何才能让任何人都能轻松找到东西?一个明显的解决方案是创建一个中央知识数据库——一种自由软件的维基百科——在那里,一切都以逻辑方式链接在一起,并以人们可以轻松找到他们想要的东西的方式布局。

但这既不现实也不特别理想。这将需要志愿者付出巨大的努力,他们的技能可以更有效地应用于其他地方,以解决新问题而不是老调重弹。此外,仅仅忽略已经存在的大量知识似乎是一种可怕的浪费。相反,我们需要的是一种更智能的方式来搜索我们拥有的东西——一种可以回应初学者提出的任何类型的天真问题的方式。

这里有两个主要问题。一个是智能问题——搜索引擎“理解”我们正在寻找什么。另一个是如何构建搜索。目前,我们通常在搜索框中输入一些关键词;即使我们把它写成一个句子,就查询的丰富性而言,也没有好多少。也许我们需要新的方法——新的界面——来帮助用户,尤其是非技术用户——就搜索引擎而言,更有效地表达自己。反过来,这将使准确的信息更容易被精确定位,避免了在通常出现的数百个 Google 搜索结果中筛选的需要。

这些类型的能力是通常所说的语义网的典型特征。尽管有一些有趣的实验,如 Freebase 和 Powerset,但很明显,我们离实现这个想法还很遥远。也许自由软件世界应该在这个领域做更多的事情,因为它将比大多数人从它所暗示的搜索能力提升中获益更多。作为开始,它可能会鼓励活跃在语义网领域的研究人员和公司使用关于自由软件的庞大而混乱的知识体系作为他们想法和技术的试验台。他们将获得世界上最好的 Beta 测试人员,我们将更好地访问那个丰富的知识宝库。

Glyn Moody 在 opendotdotdot 上撰写关于开源的文章。

加载 Disqus 评论