采访:Orest Zborowski

作者:Phil Hughes

Phil: 我想了解一下你的背景。

Orest: 我在康涅狄格州长大,然后在北卡罗来纳州的杜克大学获得学位。我拥有电气工程和计算机科学双学位。之后我在纽约州罗切斯特的柯达公司工作了八年,从事出版和印刷软件方面的工作。现在我在微软工作。

Phil: 你在柯达公司使用Unix系统工作吗?

Orest: 是的,我们最初使用旧的Sun系统,可能是Sun 1,然后是Sun 2、Sun 3和Sun 4。因此,我的大部分Unix经验都来自于BSD版本的Unix。我们最初使用SunView,然后迁移到使用X11R4和Open Look。

Phil: 你是什么时候开始接触Linux的?为什么?

Orest: 可能是1992年的0.12版本,我想。感觉已经很久远了。我在家玩过Minix,但认为它只不过是能运行ls命令的东西。我看不到在它上面运行X的可能性。然而,Linux具有真正的内存管理,看起来像是一个可能的X平台,我想尝试将X移植到Linux上。

Phil: 你有没有考虑过使用BSD作为Linux的替代方案?

Orest: 是的,我考虑过,但当时BSD需要一台专用机器,而不是MS-DOS磁盘上的一个分区;它不提供数学协处理器模拟,而且似乎不如Linux开放。

Phil: 所以你的第一步是让Linux启动并运行,你的下一步是将X移植到Linux?

Orest: 是的。我把Linux看作是在家运行X的绝佳平台,并认为让它工作是一个很好的挑战。此外,X上可用的应用程序数量使得拥有Linux端口非常诱人。

Phil: 开发步骤是什么?

Orest: X使用了大量的[Unix] System 5的东西,所以我决定这项工作的目的是让Linux适应X,而不是让X适应Linux。也就是说,我开始为Linux编写所需的System 5系统调用。最终结果是System 5和Linux的X服务器几乎相同。一个附带的好处是Linux现在包含了System 5以及BSD的功能。这使得将其他应用程序移植到Linux变得相当容易。

Phil: 一路走来遇到了哪些问题?什么时候事情变得令人兴奋?

Orest: X11R5是稳定的,但Linux的C库仍在发展,更不用说内核本身了。每天的任务更多的是处理库中哪些工作正常,哪些不正常,这些库变化很快,而不是进行实际的X开发。这是我让Linux适应X的努力的一部分意图。

我记得,生成一个运行的X服务器是对库和内核的一次很好的压力测试,在这个过程中,我们发现了一些细微的错误和兼容性问题。

由于当时没有图形屏幕代码,我编写了一个curses驱动程序,以便我可以测试X服务器代码。让服务器工作意味着套接字必须工作,网络和虚拟终端也必须工作。最大的突破是当服务器使用我的curses驱动程序启动时。由于每个像素在字符模式下都表示为一个点,我只能看到“显示”的80x24区域,但它就在那里:世界上最大的“X”光标位于巨大的xterm shell提示符之上。很大,但它确实工作了。

一旦我到了这个阶段,然后添加其他代码使视频在图形模式下工作就相当容易了。这时,pre-XFree86团队正在集结(我称之为“pre-XFree86”,因为它直到很久以后才被这样称呼)。David Wexelblat和David Dawes,以及一个小团队,决定积极支持386平台上的X11R5。这对Linux来说是一个巨大的福音,我从未梦想过XFree86会发展成今天的样子。

Phil: X开发团队的组织结构与Linux不同。实际上,X有一个结构,但Linux的决策实际上只是使用“发送给Linus的方法”。你对此有何看法?

Orest: XFree的开发比Linux更受控制。他们使用BSD方法而不是Linux方法。这让一些人感到反感,但这实际上不是问题。事实上,这可能对X的开发更好。Linux的开发一直非常开放,我们都很感激这一点。但Linux的开发比X更适合这种环境,X需要更严格的决策机制。我不认为有任何合理的建议被忽视的情况。我们总是欢迎人们加入团队,但参与程度可能会吓退那些只想涉足的人。目前的活跃开发者团队在XFree86上花费了大量时间。

今天,Linux的开发需要保持向后兼容性。因此,我在我的开发系统上运行了1.0.9内核,直到1.2版本发布,这样我可以确保新代码不会在最后一个生产内核上崩溃。

重要的是,Linux要为升级提供一个稳定、可靠的途径,因为今天的许多用户实际上只是用户。他们使用Linux作为运行应用程序的操作系统,而不是为Linux开发软件或修改Linux本身。

Phil: 你目前在进行任何X开发吗?

Orest: 是的。我正在致力于将X发行版迁移到使用ELF库。下一个版本的XFree86,3.1.2,可能是一个维护版本,主要发行版仍将使用a.out二进制文件,但也会包含ELF二进制文件。

我也在做一些零星的事情,但参与程度不如以前那么高了。该软件包已经发展到这样一个程度,它可以立即对非常多的人有用。XFree86内部的新开发工作集中在新驱动程序和对未来XC项目的支持上。

Phil: 让我们预测一下未来。Linux将走向何方,然后,你在这个未来中处于什么位置?

Orest: 为了在商业上可行,Linux需要应用程序。CD制造商值得称赞,他们正在尝试制作“shrink-wrapped”版本的Linux。他们目前所做的工作很好,但还需要更多。

Phil: 什么是“更多”?

Orest: 首先,你需要轻松回答诸如“你能在Linux下运行空白吗?”之类的问题。例如,我的妹妹运行一些Linux上没有的计算机应用程序。她还需要一个友好的图形界面来进行系统管理;尽可能接近“加载并运行”的程度。

Phil: 好的,为了让Linux成为一个可行的选择,你妹妹需要哪些可用的东西?

Orest: 文字处理、统计软件包和数据库。

Phil: 这里缺少的最大一块是文字处理器。我不认为她想要vi和troff。

Orest: 不会。而且有相当多的人没有技术专长来处理这种底层软件。他们想要提高效率——解决他们的问题。Linux可以提供比其他任何平台都更好的平台来开发这些解决方案,但解决方案本身还不太成熟。

Phil: 如果有一个软件包,其中包含所有这些应用程序,再加上一个电话簿怎么样。

Orest: 还有一个日程安排包,那样你就拥有了可以满足普通PC用户需求的东西。需要回答的基本问题是,“我为什么要运行Linux而不是其他操作系统?”我们设计的应用程序需要是在当今任何其他可用平台上都难以甚至不可能实现的东西。请注意,竞争对手也不会停滞不前。将今天的计划与今天的商业产品进行比较意味着,一旦这些计划实现,并且竞争对手有时间赶上,就会立即过时。

Phil: 如果我们添加一个互联网访问包怎么样?这将利用Linux真正的多任务处理能力和内置网络功能。

Orest: 是的,我认为我们走在正确的轨道上。

Phil: 好的,你在这个未来中处于什么位置?

Orest: 我正在开发一些像这样的软件包。我真的对从事这项工作很感兴趣,但我有一份工作,占据了我相当多的时间。我知道这是一个普遍的问题。

由于互联网的延迟以及人们在互联网上兼职工作的性质,我认为这需要以商业方式完成,而不是通过网络进行合作。全职、高度专注的开发具有明显的优势。在那里你可以花时间真正地组合一些好的东西——好到足以让我的妹妹使用。

Phil: 如果我中了彩票,并且有钱可以挥霍,你认为需要什么才能使整个软件包成为现实?

Orest: 一个10-20人的团队可以使我们上面讨论的终极软件包成为现实。

Phil: 如果我中了彩票,我会告诉你的。同时,感谢你抽出时间接受这次采访。

Orest: 不客气。我很愉快。

加载Disqus评论