GNU 公报,第 1 卷第 7 期,1989 年 6 月
目录
- 目录
- 空白页
- GNU 是谁
- GNU 公报
- 什么是自由软件基金会?
- 什么是著作权?
- GNU 快讯
- 编程自由行动主义
- GNU 愿望清单
- 通过 GCC 移植 BSD Unix
- GNU 项目状态报告
- GNU 文档
- GNU 软件现已可用
- 如何获取 GNU 软件
- 感谢 GNUs
空白页
此页为空白,以便编号正确。
GNU 是谁
一些新成员加入了我们的全职员工队伍。Joseph Arceneaux 正在开发 Emacs 19 版。即将到来的有 Karl Berry、Kathy Hargreaves 和 Jim Kingdon。 一直在开发 GDB 的 Randy Smith 将于秋季离开我们去读研究生。
Mike Haertel 回来了,他正在开发一种新的、更高效的 malloc,并完成由 Nobuyuki Hikichi 开始的 C 解释器。 Roland McGrath 已被聘为夏季工,以完成他开始的 ANSI C 库。
Brian Fox 仍在加州大学圣巴巴拉分校为我们工作。他正在进行 BASH(即 “Bourne Again SHell”)的 Beta 版发布,它是 GNU 版本的 sh
,其中包含在 Korn 和 C shell 中发现的扩展。 Jay Fenlason 正在编写 GNU 电子表格程序 Oleo,并维护 GNU 汇编器、tar
和 sed
。 Jay 还负责我们的备份和创建发行磁带。 我们的第一位全职技术作家 Diane Barlow Close 正在为我们完成的所有小型 Unix 实用程序编写文档,同时居住在加利福尼亚州圣地亚哥。
Opus Goldstein 是我们无所不能的办公室职员。如果您打电话到我们的办公室,她就是接电话的人。 她负责填写订单,并处理基金会的日常运作。 Robert Chassell 是我们的财务主管。 除了处理与编程无关的基金会问题外,他还在编写 Emacs Lisp 编程的初级入门教材。
Richard Stallman 继续作为志愿者执行无数任务,包括改进 C 编译器、GNU Emacs 等及其文档。 最后,志愿者 Len Tower 继续担任我们的电子 JOAT(无所不能的人),处理邮件列表、信息请求、系统管理等。
GNU 公报
版权 (C) 1989 自由软件基金会,公司。
作者:Joseph Arceneaux、Robert Chassell、John Gilmore、
Leonard H. Tower Jr. 和 Richard Stallman
插图:Etienne Suvasa
此页面根据 知识共享署名-禁止演绎 3.0 美国许可 获得许可。
什么是自由软件基金会?
自由软件基金会致力于消除对计算机程序的复制、再分发、理解和修改的限制。 我们通过促进在计算机使用的所有领域中开发和使用自由软件来实现这一目标。 具体而言,我们正在组装一个完整的集成软件系统,名为 “GNU”(GNU's Not Unix),它将向上兼容 Unix。 该系统的某些大部分已经可以正常工作,我们现在正在分发它们。
我们名称中的 “自由” 一词指的是两个具体的自由:首先,自由复制程序并将其赠送给您的朋友和同事;其次,自由通过完全访问源代码来随心所欲地更改程序。 此外,您可以研究源代码并了解此类程序的编写方式。 然后,您也许能够移植它、改进它,并与他人分享您的更改。
其他组织分发任何恰好可用的自由软件。 相比之下,FSF 专注于开发新的自由软件,朝着构建一个足够完整的 GNU 系统迈进,以消除购买专有系统的需要。
除了开发 GNU 之外,基金会还具有次要功能:制作 GNU 软件的磁带和印刷手册、进行分发以及接受捐赠以支持 GNU 开发。 我们是免税的; 您可以在纳税申报表中扣除对我们的捐款。 我们的开发工作部分由捐款资助,部分由发行费用资助。 请注意,发行费用仅购买发行服务:您永远不必向任何人支付许可费才能使用 GNU 软件,并且您始终可以自由地从朋友的计算机上免费制作您的副本(前提是您的朋友愿意)。
基金会还维护一个服务目录:提供有偿 GNU 程序和系统服务的人员列表。 服务可以指回答新用户的问题、自定义程序、移植到新系统或任何其他事情。 如果您想被列入其中,请联系我们。
在我们创建程序后,我们会不断更新和改进它们。 我们每年为每个程序发布 2 到 20 个更新。 在开发新程序的同时执行此操作需要大量工作,因此始终欢迎捐赠相关的源代码和文档、机器、劳动力或资金。
基金会的董事会成员是: Richard Stallman,总裁; Robert Chassell,财务主管; Gerald J. Sussman、Harold Abelson 和 Leonard H. Tower Jr.,董事。
什么是著作权?
在题为“什么是自由软件基金会”的部分中,我们声明“您永远不必向任何人支付许可费才能使用 GNU 软件,并且您始终可以自由地从朋友的计算机上免费制作您的副本。” 这到底是什么意思,我们如何确保它是真实的?
使程序自由的最简单方法是将其放入公共领域。 然后,从共享者那里获得它的人可以将它与他人共享。 但不良公民也可以做他们喜欢做的事情:在典型的禁止与邻居共享的许可下出售仅二进制版本。 因此,他们将享受原始程序的自由带来的好处,同时又将这些好处从用户身上夺走。 很可能大多数用户通过这种方式获得该程序,而我们使程序对所有用户免费的目标将会被破坏。
为了防止这种情况发生,我们通常不会将 GNU 程序置于公共领域。 相反,我们通过我们称之为著作权来保护它们。 著作权是一种法律文书,它使每个人都可以自由复制程序,只要获得副本的人也获得进一步分发副本的自由,以及修改其副本的自由(这意味着他们必须能够访问源代码)。 典型的软件公司使用版权来剥夺这些自由; 现在,我们软件共享者使用著作权来保留这些自由。
GNU 项目使用的著作权由版权声明和GNU 通用公共许可证组合而成。 版权声明是通常的那种。 通用公共许可证是一种复制许可证,它基本上表示您拥有我们希望您拥有的自由,并且您不能从任何人那里剥夺这些自由。 (实际文件包含我们律师说我们需要的几页相当复杂的法律文本。)完整的许可证包含在所有 GNU 源代码发行版和许多手册中,我们将在收到请求后向您发送印刷版副本。
最近,基金会对通用公共许可证进行了重大更改。 复制条款保持不变,但许可证的结构不同,现在更容易著作权程序。 该许可证现在本质上是一个子例程,程序只需要声明通用公共许可证适用于它们。 现在使用许可证的具体信息随附在其中,因此请参考那里了解详细信息。
“当我们从他人的发明中获得巨大优势时,我们应该很高兴有机会通过我们的任何发明为他人服务”
-Benjamin Franklin
GNU 快讯
- 匿名捐款 我们收到了一位希望保持匿名的英国人出乎意料的 10 万美元捐款。 加上我们刚刚从惠普收到的 10 万美元以及我们从开放软件基金会收到的 2.5 万美元,我们得以聘用几名新员工。
- 与编译器一起分发的新版本 RCS 我们现在正在分发 RCS(修订控制系统)的最新版本(来自普渡大学的 V4)。
- BASH 现在可用 Brian Fox 刚刚发布了用于 Beta 测试的 “Bourne Again SHell”。
- GNU Emacs Lisp 手册 GNU Emacs Lisp 参考手册应于今年夏天出版。
-
新
qsort
、gdbm
我们现在有一个改进的qsort
,它比伯克利的更快,并且也是可重入的。 它将在未来与 GNU C 库一起发布。 我们的gdbm
库即将进行测试。gdbm
数据库由一个没有大漏洞的文件组成。gdbm
支持花哨的自动崩溃恢复和互锁。 它处理无限大小的键和数据。 -
文件操作实用程序 一系列用于文件操作的实用程序,包括
ls
、mv
、cp
、cat
、rm
、du
、head
、tail
和cmp
将很快发布。 - GPC:GNU Pascal 编译器 来自赫尔辛基理工大学的一些志愿者现在正在为 GCC 开发 Pascal 前端。 目前,他们支持该语言的子集。
-
BSD 的某些部分正在变为自由 伯克利现在发布了其 Unix 系统中不包含 AT&T 代码的部分,包括 TCP/IP 代码。 在 4.3 BSD-Tahoe 发行版中释放的文件现在位于我们的 Beta 测试磁带中。 此外,伯克利 Unix 的下一个版本可能包含来自 GNU 项目的 Make、AWK 和
sh
。 伯克利还将分发 GCC 来代替他们基于 PCC 的编译器。 - NeXT, Inc. 使用 GCC 作为生产编译器 NeXT 使用 GCC 编译其整个系统,包括其内核。
- 80386 软盘的发行即将开始 这可能会采取两种形式,通过 1.2 MB 软盘和通过电子 BBS。 波士顿计算机协会新近重新激活的编程语言 SIG 有可能成为主要发行渠道之一。
编程自由行动主义
作者:Richard Stallman
“因此,从同胞的发现中获益不仅是一种自然权利,也是每个人对自己和社会应尽的自然义务;由此产生的相互、普遍的进步是人类在地球上的命运的实现。”
-Robinson, "Treatise on the Law of Patents."
界面版权之战愈演愈烈
反对用户界面版权的斗争正在积聚力量。 GNU 创始人 Richard Stallman 与麻省理工学院教授 Gerald J. Sussman 和 Marvin Minsky 一起在麻省理工学院的学生报纸《The Tech》上刊登了一则广告,警告这种垄断可能对计算机用户和计算机行业造成的危害。 以下是广告的文字
计算机科学家,小心!
Apple 和 Lotus 正试图创造一种新的法律垄断形式:用户界面类别的版权。 这些垄断将给计算机软件和系统的用户和开发人员带来严重问题。
直到两年前,法律似乎还很明确:没有人可以限制其他人使用用户界面;程序员可以自由地实现他们选择的任何界面。模仿界面,有时会进行修改,是计算机领域的标准做法。我们所知的界面就是以这种方式逐渐演变的;例如,Macintosh 用户界面在斯坦福大学、SRI、施乐和其他地方经过 15 年的发展才得以形成。数百名学生和研究人员为这项工作做出了贡献,现在没有人有权拥有它的一切。
大多数计算机公司和几乎所有计算机用户都对这种现状感到满意。莲花和苹果表示,这不足以“激励”他们开发产品,但当他们决定这样做时,他们一定认为这是“足够”的。他们似乎并不满足于继续在市场上竞争的机会——即使是领先一步的机会。
如果允许莲花和苹果通过法院来制定法律,那么这个先例将会阻碍软件行业的发展。
- 不必要的兼容性问题会给用户带来负担。想象一下,如果每家汽车制造商都必须以不同的顺序安排踏板,会是什么样。
- 软件将会变得并且保持更昂贵的价格。用户将被“锁定”在专有界面中,而这些界面没有真正的竞争。
- 在诉讼变得司空见惯的地方,大公司拥有不公平的优势。由于他们很容易负担得起诉讼,他们可以用威胁来恐吓小公司,即使他们实际上没有理由提起诉讼。
- 用户界面的改进将会放缓,因为通过创造性的模仿进行逐步演变将不再被允许。
- 即使是苹果和莲花,如果他们不能再借鉴他人引入的好点子,也会发现改进变得更加困难,因为他们担心会削弱自己的法律地位。一些用户认为,这种停滞可能已经开始了。
表达你的意见!重新考虑你的计划!你可以有所作为。
This is a paid political advertisement, sponsored by Marvin Minsky, Richard Stallman, Gerald J. Sussman KEEP THEIR LAWYERS OFF OUR COMPUTERS!
《波士顿环球报》和《计算机经销商新闻》的记者看到了这则广告,然后在他们的报纸上发表了文章。《环球报》的文章后续报道出现在《计算机世界》和《信息世界》上。《信息世界》的文章被一位公关人员看到,他正在捐出时间来帮助对抗用户界面版权。此外,几位律师已经请求我们帮助寻找有用的专家证人。
5月24日星期三,编程自由联盟在剑桥市纠察了莲花开发公司。尽管下雨的威胁很大,但仍有大约 200 人参加了示威活动,他们举着标语牌并分发传单。与会者包括 ACM 主席 Bryan S. Kocher 和麻省理工学院人工智能实验室负责人 Patrick Winston。抗议活动由 FSF 创始人 Richard Stallman 领导。
如果您想帮助争取编写程序的自由,您可以通过加入并为编程自由联盟工作来实现。由于该联盟仍在组织中,它没有自己的地址。目前,您可以致电或写信给编程自由联盟,转交自由软件基金会。请注意,该联盟将是一个完全独立于基金会的组织,拥有不同的议程和人员。该联盟将专门致力于打击限制程序员开发软件自由的垄断行为。
危险的立法提案
参议员奥林·哈奇已经提出立法,禁止任何人(包括私人个人)出租和借出软件。类似的立法也曾考虑用于音乐录音。这样的立法将是对传统的借阅自由的激进攻击。如果图书馆开始限制其内容为过时的媒体,那么最终可能会被迫走向灭亡。
哈奇和其他该法案的支持者认为,软件发行商正在损失很多钱,因为人们只是借用软件进行复制。出借软件的图书馆表示,这是不真实的,但即使这是真的,也不足以成为如此攻击我们自由的理由。国会山对这项立法基本上没有抵制;软件发行商已经非常直言不讳地表达了他们的立场,但几乎没有或根本没有努力解释用户的利益。
对该提案的唯一抵制来自美国图书馆协会,他们在该法案中获得了一些条款,这些条款将在三年测试期内免除图书馆的此项立法。然而,似乎软件发行商只会继续抱怨“损失”的利润,并且在测试期结束时,即使是图书馆也将被禁止借出软件。
重新获得这些权利将比现在努力维护它们要困难得多。请帮助人们警惕这个问题。写信给哈奇参议员和丹尼斯·德孔奇尼众议员以及您自己的立法者,并要求他们投票反对 S.198 号法案,即《计算机软件租赁修正案》。一个足够用的地址是
Senator So and So Representative Such and Such United States Senate U.S. House of Representatives Washington, DC 20510 Washington, DC 20515
您也可以拨打 (202) 225-3121 致电参议员和众议员,或者在您的电话簿中查找他们的当地办事处。
常识通用索引
还有一个名为 Common Knowledge 的国际组织,致力于编译公共领域、无版权和机器可读的信息。该小组由记者、科学家、图书管理员和其他人组成,正在汇集一个非版权信息的数据库,他们称之为“通用索引”。他们这样做是为了为信息商人提供替代方案,这些信息商人越来越成功地减少传统图书馆可用的材料数量。他们的地址是
Common Knowledge, Jefferson, MD 21755, USA, Phone: (301) 695--3100
GNU 愿望清单
对这个问题的希望是
- 一位精通编译器维护的人员,可以接替 RMS 进行 GCC 维护。这可能是一份全职工作。
- 志愿者帮助编写实用程序和文档。除其他外,我们需要 X-Windows 和 C 库的手册。
- 可能有兴趣赞助或主持研究助理进行 GNU 开发的教授,并获得全部或部分 FSF 支持。
- 字体。我们正在寻找 Ghostscript 格式的字体。
- 语音生成和字符识别软件(如果设备不是太奇怪),最好带有设备驱动程序。这将至少帮助我们认识的一位部分残疾的程序员提高工作效率。
- 英语或其他自然语言的语法检查软件。
- 提及 GNU 项目的报纸和期刊文章的副本。将这些发送到封面的地址,或将引文发送至
[email protected]
。 - 一如既往的资金。请记住,捐款可以免税。有了最新的捐款,我们已经能够扩大我们的员工队伍。为我们提供少量资金的一种方法是订购一到两个发行磁带。这可能不算是税收的捐款,但它可以算作商业开支。
通过 GCC 移植 BSD Unix
作者:John Gilmore
我已通过 GNU C 编译器移植了加州大学伯克利分校最新的 Unix 源代码。在此过程中,我使伯克利 Unix 更兼容 ANSI C 标准草案,使许多程序更少依赖于机器和更少依赖于编译器,并测试了 GCC。
多年来,伯克利 Unix 一直是高性能 Unix 系统的标准,并继续为 AT&T Unix 版本提供改进的替代方案。然而,伯克利的 C 编译器基于 AT&T 的旧版 PCC,即便携式 C 编译器。通过将 GCC 合并到伯克利版本中,我们提供了 ANSI C 兼容性、更好的优化和改进的编译器维护。GNU 项目获得了 GCC 的一个重要测试用例,以及自由软件运动中的强大合作者。
该项目由 John Gilmore 构思,并由伯克利的 Keith Bostic 和 Mike Karels 以及 FSF 的 Richard Stallman 协助。我完成了大部分实际移植工作,而 Keith 和 Mike 提供了机器资源,在重大决策上进行了合作,并仲裁了 Unix 更改的样式和内容。Richard 提供了快速的编译器错误修复和问题解决。
我们正在生成一个 Unix 源代码树,该源代码树可以由旧编译器和新编译器编译。我们没有引入新的 #ifdef
,而是重写代码,使其不依赖于任何一个编译器的功能。每当我们必须进行更改时,我们都会朝着 ANSI C、POSIX 兼容性和机器独立性的方向发展。
我们使用了 GCC 1.15 到 1.35 版本。我对 Unix 源代码树进行了四次完整的“遍历”;每次都涉及到在整个源代码树上运行“make clean; make”,并检查 500K 到 800K 的结果输出。我会尽可能多地修复错误,在此过程中测试源代码树的小部分,然后将我的更改合并回主源代码并再次重建整个源代码。
错误分为两大类:ANSI C 中的语言更改和不可移植的代码。在某些情况下,很难区分这两者。
主要的 ANSI C 问题是预处理器中字符常数的生成。在系统头文件中过度使用这种现在已过时的功能导致我们更改了大约 10 个包含文件和大约 45 个源模块。另一个预处理器问题是 ANSI C 对标记连接使用不同的语法;我们重写了五个模块的部分,以避免必须连接标记。ANSI C 澄清了声明为 extern
的名称的作用域规则。我们移动了 extern 声明,或在超过 38 个文件中添加了全局函数声明来处理这个问题。九个程序使用了新的 ANSI 关键字(例如 signed
或 const
)作为标识符;我们选择了新的标识符。十一个模块使用 typedef 作为形式参数名称,或将 unsigned
与 typedef 一起使用。
我们在 Unix 源代码中发现的最糟糕的不可移植结构是将指针与不适合指针类型的成员名称一起使用。解决这个问题导致了大量工作,因为我们必须弄清楚每个无类型或类型错误的指针的实际用途,然后修复其类型以及对它的引用。我们因此更改了 5 个模块,并放弃了一个程序 efl,因为它需要太多工作才能修复。
另一个问题是由于将 CPP 用作汇编程序源的宏处理器引起的。我们通过使汇编程序源可以接受旧 CPP 和 ANSI CPP 来规避这个问题。
一个主要问题是 C 源代码中的 asm
结构。一些程序是用 C 语言编写的,其中混合了汇编代码,当用原始编译器以外的任何编译器编译时,都会产生混乱。其他例程,如压缩程序,会在某处插入 asm
作为优化。更多的模块,包括内核,在汇编和链接之前,会对 C 编译器生成的汇编代码运行 sed 脚本。我们尽可能地消除了 asm
的使用,并将其他的使用转换为 `.s' 文件中的汇编语言子程序。Pascal 和 Lisp 解释器都使用了大量的 sed 脚本黑客技术;每一个的修复都花费了好几天。
我们修复了三个使用多字符常量的程序;其中两个显然是错误。有十五个程序尝试声明函数或变量,同时省略了类型和存储类;我们在声明中添加了 int
。在两个模块中,这诊断出了由使用 `;' 代替 `,' 引起的错误。声明解析规则的更改导致我们修复了五个模块,GCC 改进的错误检查发现了另外六个模块中的声明错误。十五个程序修复了各种指针使用错误。GCC 捕获了五个模块中由于误解符号扩展而导致的错误。另外捕获并修复了五到十个其他杂项错误。
我们对目前的结果感到满意。大多数 Unix 代码在编译时没有问题,并且我们执行过的部分没有代码生成错误。ANSI C 的最严重更改只需要修改大约 50 个模块,并且只有两个如此规模的问题。到目前为止,已经发现了 GCC 中的总共 20 个错误,其中大多数现在已修复。我们预计的错误数量是这个数字的几倍;该编译器的状态比我们任何人预期的都要好。
许多与 ANSI C 的次要问题和细微不兼容之处已从 Unix 源代码中删除。现在,进行 BSD Unix 移植时,需要注意的用户程序应该少得多。但是,我们并没有尝试使 Berkeley Unix 完全符合 ANSI C 标准。特别是,我们保留了预处理器注释(#endif FOO
)以及机器特定的 #define
(#ifdef vax
)。即使 ANSI C 不支持这些功能,GCC 也支持这些功能。
未完成的工作仍然存在。BSD 内核尚未移植到 GCC,尽管它已经过语法检查。内核的优化会导致问题,直到在所有正确的位置使用 volatile
声明为止。可移植 C 编译器的一些部分仍然在 lint、f77 和 pc 中使用。各种来源仍然需要修复它们的 setjmp
调用,以便只有 volatile 变量在 longjmp
后才能保持其值。
我们的更改将提供给 Berkeley 的下一个软件发行版的接收者,无论何时发布。我们还将向其他参与将 Unix 移植到 ANSI C 的人员提供差异文件。
未来的项目包括构建一套完整的 ANSI C 和 POSIX 兼容的包含文件和库(包括函数原型),并将现有源代码转换为使用它们。最终的目标是生成一个完全符合标准的 Unix 系统——不仅在提供给用户的接口中,而且在源代码中,这些源代码将在任何符合标准的编译器和库上编译和运行。
GNU 和 Berkeley 之间的这次合作的成功鼓励了进一步的合作。GNU 项目正在努力提供 Berkeley Unix 缺乏的 System V 功能的重新实现,例如改进的 shell 和 make 命令。作为回报,Berkeley 向公众发布了其大部分软件,从而消除了 AT&T 未提供的程序的 AT&T 许可要求。大量的“免费” BSD 软件可以通过 uucp 或 ftp 从 uunet.uu.net
的子目录 `bsd-sources' 中获得,也可以在 GNU 编译器磁带和 UUNET 磁带上获得。
GNU 项目状态报告
-
GNU Emacs GNU Emacs 18 版正在广泛发行。18.55 版即将开始发行。Berkeley 正在随 4.3 发行版发行 GNU Emacs,DEC 正在 Vaxes 上的 Unix 系统上发行,NeXT 正在交付它。Emacs 18 的开发现在已经停止(尽管仍然会修复错误),并且正在开发 19 版。目前的新功能包括:多个 X 窗口(Emacs Lisp 中的一个
screen
对象);滚动条;每个缓冲区重新定义鼠标命令;对欧洲字符集的支持;Emacs Lisp 的源代码级调试;以及浮点数。我们还在考虑以下新功能:将属性列表与缓冲区中的部分文本关联,并使用它们来控制文本的可见性;为显示一个缓冲区的多个窗口指定不同的可见性条件;对各种编程语言进行增量语法分析;一个视觉增强的 Info 模式;一个面向对象的图形绘制扩展;如果光标移动到某个范围之外,则运行的钩子。完成这些需要一段时间(加上我们获得的任何其他想法),所以请不要问 Emacs 19 何时可以进行 beta 测试。我们会宣布的。 -
Shell Brian Fox 现在已经完成了 GNU 版本的
sh
,称为 BASH,即“Bourne Again SHell”。除了 Korn shell 的功能外,它现在还具有作业控制和 Emacs 风格和csh
风格的命令历史操作。很快就会在我们的发行版中看到它。BSD 的 C Shell 很有可能会被 Berkeley 声明为免费软件,所以我们不需要编写它。 - 内核 我们希望使用 CMU 正在开发的 MACH 消息传递内核。当前发布的 MACH 版本不是免费的,因为它包含来自 BSD 的 AT&T 代码。但是,MACH 开发人员一直在努力将此代码与内核分离,他们现在说他们已经有了第一个 alpha 测试运行的版本。一旦这个版本稳定下来,MACH 内核应该会变成免费的。如果 MACH 不可用,我们将使用 MIT 的 TRIX 内核或 Berkeley 的 Sprite 系统启动内核。我们正在考虑的另一件事是将高性能分布式 Sprite 文件系统与 MACH 一起使用。
-
GNU 调试器 GNU 源代码级 C 调试器 GDB 现在与 Emacs 18 版一起作为 GDB 2.8 版发行。GDB 3.2 版在 beta 测试(编译器)磁带上发行,一旦它稳定下来,它将取代 Emacs 磁带上的 2.8 版。GDB 3.
*
增量读取符号表;这会导致更快的启动和更少的内存使用。GDB 还提供带有历史记录替换的命令行编辑,以及命令、文件名和符号的完成。最近添加的 FORTRAN 支持尚未经过测试。新命令包括:until
,它会执行到某一行;以及bt -n
,只显示最外层的 n 个堆栈帧。当前的 GDB 可以代码格式化(美化打印)结构,并且可以有条件地避免打印联合。C++
支持得到了改进。有一个版本的 GDB 可以独立运行,因此我们可以用它来调试内核,我们还有一个用于远程运行 GDB 的串行线路接口。一位法国志愿者目前正在开发基于 UDP 的以太网调试接口。同时还在进行调试多个进程、并行程序的工作。未来版本的 GDB 可能会支持监视点。我们还希望尽快合并 Altos 和 Sun 386i 机器的差异。 -
C 编译器 GNU C 编译器 GCC 现在相当可靠。它支持 1988 年 5 月的 ANSI C 草案。人们仍在报告错误,但他们也说他们认为错误比商业编译器要少。请阅读 John Gilmore 的文章,了解其中一些错误是如何被发现的。Next 使用 GCC 构建其整个系统,包括 MACH 内核和 NFS 的端口。有人还告诉我们,GCC 成功编译了 System V.3 内核。该编译器执行自动寄存器分配、公共子表达式消除、从循环中移动不变代码、感应变量优化、常量传播和复制传播、延迟弹出函数调用参数、尾递归消除,以及许多从机器描述中自动推导出来的局部优化。我们目前还在(实验性地)实现延迟分支填充和流水线调度。GCC 最近已移植到 Convex、Tahoe 和 MIPS 处理器。预计很快会推出 Pyramid 版本,并且正在进行移植到 IBM 370、IBM PC/RT、3B2、HP Spectrum、Motorola 88000、某种 Gould 机器和(可能)AMD 29000 的工作。GCC 生成的 68020 代码比新的 Sun 编译器使用 -O 选项生成的代码更短、更快。尽管花费的时间是 Sun 编译器的 3 倍,但新的 Sun 编译器仍然无法击败 GCC。截至 1.31 版,GCC 在 Sun 4 上也胜出。GCC 生成的 Vax 代码比 Tartan C 编译器使用 -O4 选项生成的代码更短,但我们无法比较该代码的运行速度。由 Michael Tiemann 在 Sequent 32000 系统上完成的 National 32000 移植据说比 Sequent 的编译器更可靠,并且对于包括 Prolog 解释器在内的几个程序产生了 40% 的加速。我们还致力于将 C 编译器与 C
++
编译器合并,以便两种语言只有一个发行版。未来,如果时间允许,我们希望实现更多的语言扩展(我们可能会添加嵌套作用域),以及用于预编译头文件的工具,以便在头文件很大而源文件很小时节省时间。我们可能还会做其他语言前端,但似乎有足够的远程 GNUer 愿意做这项工作。包含足够的内部文档供有兴趣将编译器重新定位到其他 CPU 的人使用。 - 用于 VMS 的 GNU C GCC 可以在 VMS 下运行。但是,普通的 VMS C 编译器有错误并且无法编译 GNU C,因此您需要一个 GNU C 的可执行文件才能开始使用。这与源代码一起在 VMS 磁带上提供。用于 VMS 的其他 GNU 程序包括 GNU Emacs 和 Bison。请不要要求我们投入精力进行额外的 VMS 支持,因为它对 GNU 项目来说是外围的。
-
COFF 支持 现在可以在 System V 上运行整套 GNU 软件工具,完全取代 COFF。首先,您安装 GNU 编译器、汇编器、链接器和其他实用程序。然后,您使用程序
robotussin
——您的计算机的 COFF 药物——将系统库从 COFF 格式转换为 GNU(即 BSD)格式。当您编译程序时,您将获得普通的 GNU/BSD 目标文件。将这些文件与 GNU 链接器链接将生成带有内核可接受的 COFF 标头的 GNU/BSD 可执行文件。其他 GNU 实用程序,如size
、nm
和strip
知道如何操作这些封装的文件。由于真正的 COFF 支持对 GNU 项目来说是外围的,请不要要求我们在这方面投入精力。 -
与编译器相关的程序
-
C
++
斯坦福大学的 Michael Tiemann 编写了一个 C++
编译器,作为 GNU C 的扩展,该编译器随 GCC 一起分发。这是第一个直接编译 C++
而不是将其预处理为 C 的编译器,这在调试和效率方面带来了巨大的好处。最近,Michael 添加了多重继承和 AT&T 在第一次 USENIX C++
研讨会上承诺的其他新功能(AT&T 尚未发布其版本)。GDB 3.*
版包括对调试 C++
代码的支持,它合并了旧程序 GDB+
的功能。GDB+
是一个 C++
的源代码调试器,但现在正在撤销。 -
汇编器和目标文件实用工具 GAS 是一个相当便携的单遍汇编器,速度几乎是 Unix
as
的两倍。它现在适用于 Vaxes、680x0、32x32 和 80386。Sparc (Sun 4) 的移植版本即将推出。GNU 对ld
、nm
、size
、gprof
、strip
、ranlib
等的替代品已随 GCC 测试版一起发布。GNU 链接器ld
的运行速度明显快于 BSD 版本。我们的ld
是唯一一个能为您提供多重定义符号和未定义引用的源代码行号错误消息的链接器。 -
C
++
库 Doug Lea 正在编写libg++
,这是一个包含 C++
实用程序类的库。 - 扩展的 GNU Make 我们已经分发 GNU Make 好几个月了。现在提供了一个扩展版本,包括更多的文本处理功能和静态规则。它还支持并行处理。
-
C 库 为 GNU Make 做出巨大贡献的 Roland McGrath 拥有一套近乎完整的 ANSI C 库函数。他将在今年夏天全职工作以完成它们。这些函数加入了 GNU 的
malloc
、regexp
和termcap
库。可能会很快编写更好的malloc
,我们也将很快添加我们的qsort
库例程。gdbm
即将进入测试阶段。同时,Steve Moshier 贡献了一整套数学库函数。
-
C
- 初步的 Ghostscript 我们现在分发 Ghostscript,这是一个免费的 GNU 软件,它提供了 Postscript 解释器的几乎所有功能。它支持 X 版本 11。Peter Deutsch 仍在进行一些工作。目前,Ghostscript 将接受 Postscript 中的命令并通过在 X 窗口上绘图来执行它们。Karl Berry 和 Kathy Hargreaves 将致力于添加更多字体。他们可以使用志愿者的帮助。除了额外的字体之外,Ghostscript 还需要以下增强功能:用作多页文件的预览器;通过在其窗口上绘图来为其他 X 客户端提供服务;提高其性能和视觉质量。欢迎提出其他增强建议。Ghostscript 还包括一个可 C 调用的图形库(用于不想处理 Postscript 语言的客户端程序),并且还支持带有 EGA 图形的 IBM PC 和兼容机(但请不要向 FSF 工作人员提出任何有关此问题的问题;我们不使用 PC,也没有时间学习任何有关 PC 的知识)。
- Finger 和 Send 我们很快将拥有一个基于守护进程的 Finger 程序。它轮询选定的主机,因此能够告诉您每个人登录的位置。我们还在测试一个 Send 程序,用于通过网络向其他用户发送即时消息。
- Oleo Jay Fenlason 正在编写一个名为 Oleo 的电子表格(对您来说比更昂贵的电子表格更好)。
-
GNU 邮件程序 Amdahl 的 Landon Noll 和 Ronald Karr 正在编写一个名为
smail
的邮件排队和传递系统。该项目是 Amdahl UTS 系统的一个受支持的部分——作为自由软件!我们可能会将 smail 用于 GNU,或者使用 Rayan Zachariasen 正在编写的zmailer
,或者两者都使用。 - 窗口系统 我们正在使用 MIT X 窗口系统,这是一个免费软件。
-
其他实用程序 我们免费的 Yacc 替代品称为 Bison。我们还有
cron
。我们现在拥有世界上最快的grep
/egrep
和世界上最快的diff
。一个新的快速sort
刚刚完成。一个名为 FLEX 的“快速 lex”最近可用;我们现在正在分发它。 - 长期目标 志愿者正在开发 Smalltalk 系统和 APL 系统。此外,还有用于编辑和播放音乐的软件。
- 可能的的目标机器 GNU 操作系统将需要一个使用 32 位地址和整数以及寻址到 8 位字节的 CPU。1 兆字节的核心应该足够了,尽管 2 兆可能会使性能显着提高。可能可以在 1/2 兆中运行一些系统,但肯定不是 GNU Emacs,它需要超过 1 兆的可寻址内存。将需要虚拟内存。硬盘是必不可少的;至少需要 20 兆才能容纳最小系统。当然,用户的文件还需要更多空间。对于个人 GNU 系统,也许总共需要 80 兆。并非不可能为其他架构适配 GNU 的部分或全部;但我们目前不认为这是我们工作的一部分。
- 移植 现在查询有关移植 GNU 的信息(GNU Emacs、GDB、GNU C 和 GAS 除外)还为时过早。首先,我们必须完成它。
GNU 文档
GNU 文档以 Texinfo 源文件形式分发。Texinfo 源文件既可以生成排版好的硬拷贝,也可以生成通过菜单驱动系统访问的在线格式。
要制作打印的手册,Texinfo 源文件将通过 TeX 排版程序进行处理。要使用 GNU Emacs 制作在线文档,请使用 M-x texinfo-format-buffer 命令处理 Texinfo 源文件;生成的 Info 文件将安装在 `info' 目录中,您可以通过键入 C-h i 到达该目录。
以下手册随我们的软件一起提供,也可以以硬拷贝形式提供;请参阅封底内侧的订单。
Emacs 手册 描述了如何使用 GNU Emacs。它还解释了高级功能,例如大纲模式和正则表达式搜索。该手册介绍了如何使用 C 和 Lisp 等语言的编程特殊模式,如何使用标签实用程序以及如何编译和纠正代码。它还描述了如何制作自己的键绑定和进行其他基本自定义。
本手册不涵盖 Emacs Lisp 中的编程。该主题将在 Emacs Lisp 入门编程手册和 Emacs Lisp 参考手册中处理。参考手册应于今年夏天出版。请注意公告。
Texinfo 手册 描述了如何在 Texinfo 源代码中编写文档。它描述了用于从同一源文件创建 Info 文件和打印文档的标记语言:如何制作表格、列表、章节、节点、索引和交叉引用。它还描述了如何在 GNU Emacs 中使用 Texinfo 模式以及如何发现错误。
Termcap 手册 通常被描述为“你可能想了解的关于 Termcap 的两倍内容”。它描述了 Termcap 数据库的格式、终端功能定义以及如何查询终端描述。本手册主要针对程序员。
Bison 手册 描述了如何编写语法描述,Bison 可以将其转换为可以解析该语法的 C 程序。本手册假设没有解析器生成器的先验知识。它描述了这些概念,然后提供了一系列越来越复杂的示例,然后详细描述了其中发生的事情。
GAWK 手册 描述了如何使用 GNU AWK 的实现。它是为以前从未使用过 AWK 的人编写的,并描述了这种强大的字符串操作语言的所有功能。
Make 手册 描述了 GNU Make 实用程序,该程序用于在需要时重新构建其他程序的部分。该手册介绍了如何编写 makefile,其中描述了如何重新编译程序的部分以及它们如何相互依赖。
GDB 手册 解释了如何使用 GNU 调试器。它描述了如何在调试器的控制下运行程序、如何检查和更改程序中的数据以及如何修改程序中的控制流。它还解释了如何通过 GNU Emacs 使用 GDB,并自动显示源代码行。
GNU 软件现已可用
我们现在提供三个 Unix 软件源代码分发磁带,以及用于 GNU Emacs 和 GNU C 的 VMS 磁带,其中包括源代码和 VMS 可执行文件。第一个 Unix 磁带(称为“发行版”或“Emacs”磁带)包含 GNU Emacs 以及我们认为可靠的其他各种经过良好测试的程序。第二个 Unix 磁带(称为“测试版”或“编译器”磁带)包含 GNU C 编译器和相关实用程序,以及其他未经充分测试的新程序。第三个 Unix 磁带(称为“X11”磁带)包含来自 MIT X 联盟的 X11 分发。有关媒体等详细信息,请参阅封底内侧的订单。
发行磁带的内容
此磁带上的软件被认为是相当稳定的,但与往常一样,我们欢迎您报告错误。
- GNU Emacs 1975 年,Richard Stallman 开发了第一个 Emacs:可扩展、可自定义的实时显示编辑器。GNU Emacs 是他对 Emacs 的第二次实现。它是 Unix 系统上提供的第一个 Emacs,它提供了真正的 Lisp,可以平稳地集成到编辑器中,用于编写扩展。它还为 MIT 的免费 X 窗口系统(10 和 11 版本)提供了一个特殊的接口,这使得重新显示速度非常快。当前版本为 18.55。自 1985 年以来,GNU Emacs 已被广泛使用,并且由于其更高的可靠性以及良好的功能和更易于扩展性,通常会取代 Emacs 的专有实现。Unix Review 杂志的 Isaac Salzman 计划比较各种公开可用的 Emacs,但只有一家公司希望将其产品与 GNU Emacs 进行比较。该评论应出现在 1989 年 6 月号中。GNU Emacs(截至 18.55 版本)可在多种 Unix 系统上运行:Alliant、Altos 3068、Amdahl (UTS)、Apollo、AT&T(3B 机器和 7300 pc)、CCI 5/32 和 6/32、Celerity、Convex、Digital (Vax,非 PDP-11;BSD 或 SysV)、Dual、Elxsi 6400、Encore(DPC 和 APC)、Gould、HP (9000 系列 200、300 或 800 (Spectrum) 但非 500 系列)、HLH Orion 1/05、IBM (RT/PC;4.2 和 AIX)、Integrated Solutions(带有 68020 和 VME 总线的 Optimum V)、Intel 80386 (BSD、SysV 和 Xenix)、Iris(2500、2500 Turbo 和 4D)、LMI (Nu)、Masscomp、Megatest、MIPS、NCR(Tower 32)、Nixdorf Targon 31、Plexus、Pyramid、Sequent Balance、SONY News、Stride(系统版本 2)、Sun(所有类型)、Tahoe、Tektronix(NS16000 系统和 4300)、Texas Instruments (Nu) 和 Whitechapel (MG1)。GNU Emacs 在 GNU Emacs 手册中进行了描述,该手册以 Texinfo 形式随软件一起提供。请参见上面的“GNU 文档”。
-
GDB GDB 2.8(GNU 的调试器)是 1986 年编写的源代码级 C 调试器。它提供了 Unix 上的调试器通常不具备的许多功能,例如 Emacs 样式的命令历史记录和替换、记录调试器内检查的所有值的历史记录以便以后简洁地引用、多行用户定义的命令以及良好的自我文档。GDB 2.8 当前在 4.2 和 4.3bsd 下的 Vax 上、在系统版本 2 和 3 和 4 下的 Sun 3 上、在系统版本 3.2 和 4.0 下的 SPARC (Sun 4) 上、HP9K320、ISI、Merlin、SONY News、Gould NPL 和 PN、i386 以及某些 32000 系统上运行。GDB 3.
*
目前正在测试磁带上分发,并支持更多系统。该软件附带 GDB 的在线帮助和用户手册;该手册的印刷版本也可以从基金会获得。 - Bison Bison 是 Yacc 的向上兼容的替代解析器生成器,并具有其他功能。 它已经使用了好几年。 Bison 用于编译 GNU C,因此它也包含在 GNU beta 测试磁带中。 Bison 的用户手册随软件一起提供;印刷版也可以从基金会获得。
- X Window 系统,V10R4 X Windows 的第 10 版在 GNU Emacs 磁带上分发;第 11 版(完全不兼容)在 X11 磁带上分发。 GNU Emacs 18.55 版本支持第 10 版和第 11 版。
- MIT Scheme Scheme 是一种简化的、词法作用域的 Lisp 方言,由麻省理工学院和其他大学设计,用于教授学生编程和研究新的并行编程结构和编译技术。 Scheme 用 C 编写,可在许多 Unix 系统上运行。 它现在符合 “Scheme 算法语言修订版^3报告” (MIT AI Lab Memo 848a),其 TeX 源代码包含在发行版中。 关于 Scheme 的另一个好的文档来源是 Harold Abelson 和 Gerald J. Sussman 与 Julie Sussman 合著的 “计算机程序的构造和解释”,由 MIT Press \& McGraw-Hill Book Company 于 1985 年出版。
- Yale T T 是耶鲁大学开发的 Scheme 的变体,旨在用于程序开发的生产用途。 T 包含一个本机代码优化编译器,它生成的代码的运行速度与用传统语言编写的程序的速度相当。 它在 BSD Vaxes 和少数几种 68020 系统上运行。 T 是用它自己编写的,如果没有二进制文件(已包含),则无法引导启动,但如果您可以使用它,那就太棒了。 包含一些文档。
-
texi2roff
texi2roff
将 GNU Texinfo 文件转换为可以使用 Unix [nt]roff 程序(利用 mm、ms 或 me 宏包)打印的格式。 它包含在两个磁带上,以便没有 TeX 副本的人可以打印出 GNU 文档。 - GNU Chess 和 NetHack GNU Chess 是 John Stanback 和 Stuart Cracraft 用 C 语言编写的国际象棋程序。 它包括一个广泛的开局库,并且最近被 USCF 高级大师 IM Larry Kaufman 在 Sun 3 工作站上运行时评为 USCF 1950 左右(接近专家级别)。 在 Sun 4 上,它应该达到接近大师级的水平。 Hack 是一款类似于 Rogue 的面向显示的冒险游戏。
Beta 测试磁带的内容
此磁带上的程序都是最近发布的版本,可以被认为处于用户测试的各个阶段。 与往常一样,我们征求您的意见和错误报告。 此磁带也称为编译器磁带。
-
GNU CC GNU C 编译器是一个相当可移植的优化编译器。 它为 32000、680x0、80386、Alliant、SPARC、SPUR、Tahoe 和 Vax CPU 生成良好的代码。 使用这些 CPU 的机器包括 Encore NS32000、Genix NS32000、Sequent NS32000、AT&T 3B1、HP-UX 68000/68020、ISI 68000/68020、SONY News、所有 Sun 的、Intel 386、Sequent Intel 386、Alliant FX/8。 也支持 MIPS 处理器。 它支持最新的草案标准中的完整 ANSI C。 编译器附带 GNU 汇编器 GAS、Make、Bison(也在 Emacs 发布磁带上)和完美的哈希表生成实用程序 (Gperf),以及目标文件实用程序
ld
、nm
、size
、strip
、ar
、ranlib
和gprof
以及 GCC 手册 的 Texinfo 源代码(适用于那些有兴趣扩展或重新定位 GCC 的人)。 - GDB GDB 的第 3 版在 Vaxes 和 Suns(2、3 和 4)、Convex、HP 9000/300 (在 BSD 下)、HP 9000/320 (在 HPUX 下)、Intel 386 工作站(使用 GNU 或本机目标文件格式)、ISI Optimum V、Utek 2.1 下的 Merlin、SONY News、Gould NPL 和 PN 机器、Sequent Symmetry(基于 386 的机器)和 Umax 4.2 下的 Encores 上运行。
-
GAWK、FLEX 和
tar
GAWK 是 GNU 版本的 Unix AWK 实用程序;它附带一个 Texinfo 手册。 FLEX 是 Lawrence Berkeley 实验室的 Vern Paxson 编写的 Unixlex
扫描器生成器的基本兼容替代品。 FLEX 生成的扫描器比lex
更有效。 GNUtar
包括多卷支持、存档的自动压缩和解压缩、远程存档以及允许tar
用于文件系统的增量和完整备份的特殊功能。 - U.C. Berkeley 4.3-tahoe 版本中释放的文件 这些文件已被伯克利声明为不包含 AT&T 代码,并且可以自由重新分发。 它们包括一些实用程序、游戏、库例程的完整源代码以及许多其他程序的局部源代码。
-
RCS 和 BASH 用于大型软件项目的版本控制和管理的最新版本修订控制系统。 GNU Shell BASH (Bourne Again SHell) 提供与 Unix
sh
的兼容性以及来自csh
和ksh
的扩展。 -
diff
和grep
这些程序是 GNU 版本的同名 Unix 程序。 它们比 Unix 中的对应程序快得多。 -
Ghostscript 和
gnuplot
Ghostscript 是 GNU 的图形语言。 它几乎与 postscript 语言完全兼容。 它支持 X 第 11 版。gnuplot
是一个用于绘制数学表达式和数据的交互式程序。 奇怪的是,该程序既不是为 GNU 项目完成的,也不是以 GNU 项目命名的——这个名字只是巧合。 然而,我们仍然在分发它。 如果您能让我们联系到该程序的作者,请务必联系! -
g++
、libg++
、OOPS 和 InterViews G++
是 GCC 的一组更改,它编译 C++
,这是一种众所周知的面向对象语言。 由于 G++
依赖于 GCC,因此必须与相应编号的 GCC 版本一起使用。libg++
(GNU C++
库)是 C++
类和用于 G++
的支持工具的集合。 OOPS(面向对象程序支持)类库是 Keith Gorlen of NIH 开发的一个可移植的类集合,类似于 Smalltalk-80 中的类,使用 C++
编程语言。 InterViews 是一个面向对象的 C++
库,用于支持用户界面的设计和实现。 - GnuGo GnuGo 允许用户在围棋游戏中与机器对弈。 它是名为 Hugo 的程序的更新版本。
X11 磁带的内容。
X11 磁带包含 MIT X 窗口系统的第 11 版,第 3 发行版。 X11 比不再支持的第 10 版功能更强大,但不兼容。 麻省理工学院不再将第 11 版标记为“beta 测试”,但仍在发布频繁的补丁和更新。
VMS Emacs 和编译器磁带
我们提供 GNU Emacs 编辑器的 VMS 磁带,以及单独的包含 beta 测试版 GNU C 编译器的 VMS 磁带。 VMS 编译器磁带还包含 Bison(编译 GCC 所需)、GAS(汇编 GCC 的输出所需)以及一些库和包含文件。 两个 VMS 磁带都包含您可以从中引导启动的可执行文件。
如何获取 GNU 软件
来自自由软件基金会的所有软件和出版物均在允许复制和重新分发的情况下分发。 获取 GNU 软件的最简单方法是从其他拥有该软件的人那里复制。
如果您可以访问 Internet,则可以从主机 `prep.ai.mit.edu' 获取最新的软件。 有关更多信息,请阅读该主机上的文件 `/u/emacs/GETTING.GNU.SOFTWARE'。 请注意,`prep' 的互联网地址已更改为 18.71.0.38
。
如果您无法从朋友那里或通过网络获取该软件,或者如果您想为我们的工作贡献一些资金并获得最新版本,自由软件基金会会收取复制和分发费用来分发磁带。 请参阅内封底的订单表格。
还有一些第三方团体分发我们的软件:不与我们合作但以其他形式拥有我们软件的个人和组织。 为了您的方便,下面列出了一些。 请注意,自由软件基金会与他们没有任何关系,并且不对其版本的时效性或响应的迅速性负责。
这些提供匿名 FTP 的 Internet 站点
scam.berkeley.edu, spam.istc.sri.com, bu-it.bu.edu, wsmr-simtel20.army.mil (under `PD:<Unix.GNU>'), cc.utah.edu (VMS GNU Emacs), and uunet.uu.net.
SPAN 网络上的用户可以询问 rdss::corbet
。
有关如何使用 UUCP 获取一些 GNU 程序的信息可以通过电子邮件从以下地址获得
hao!scicom!qetzal!upba!ugn!nepa!denny, [email protected], uunet!hutch!barber, hqda-ai!merlin, acornrc!bob, ames!killer!wisner, mit-eddie!bloom-beacon!ht!spt!gz, sun!nosun!illian!darylm, or [email protected].
俄亥俄州立大学还通过 UUCP 提供 GNU 程序。 他们每月在 USENET 上的新闻组 comp.sources.d
上发布他们的说明。 来自 Karl Kleinpaste [email protected]
或 ...!osu-cis!karl
的当前详细信息;或 Bob Sutterfield(在以上地址中将 karl
替换为 bob
)。
有关为 AT&T Unix PC(又名 3B1 或 PC7300)获取 GNU Emacs 软盘的信息,请访问:[email protected]
。
感谢 GNUs
感谢我们的匿名贡献者,并感谢惠普公司各捐赠了 100,000 美元。 此外,感谢开放软件基金会捐赠了 25,000 美元。
非常感谢以下人员复制 Sun 磁带:Index Technology 的 Barry Kleinman 和 Andre Mesarovic;George Brown;Devon McCullough 和 Nick Papadakis;Phoenix Technology 的 Mark Nahabedian 和 Shaun Keller;最后,预先感谢 ICAD 的 Mark Hannon。
感谢 GNU Flashes 和 GNU 项目状态报告中提到的所有人。
感谢麻省理工学院计算机科学实验室及其主任 Michael Dertouzos 教授。 LCS 为 FSF 提供了一台 Microvax 的贷款,用于程序开发。
感谢麻省理工学院人工智能实验室提供的各种宝贵帮助。
感谢 Arnold Robbins 和 Dave Trueman 在 GAWK 和 GAWK 手册方面的工作。
感谢麻省理工学院 INFOODS 项目的 John Klensin 使用该项目的机器制作我们的 VMS 主磁带。
感谢所有借给我们机器的人,包括 Thinking Machines, Inc. 的 Brewster Kahle 提供的 Sun 4/110、K. Richard Magill 提供的 AT&T Unix PC、卡内基梅隆大学的 Mach 项目提供的 Sun 3/60、英特尔公司提供的 386 工作站,以及 SONY 公司和 Software Research Associates, Inc.(东京)提供的 SONY News 工作站。
感谢所有贡献移植和扩展的人,以及贡献其他源代码、文档和优秀错误报告的人。
感谢那些寄钱并提供帮助的人。 还要感谢那些通过订购 Emacs 手册和分发磁带支持我们的人。
创建此公告是我们感谢所有对我们的工作表示兴趣的人的方式。
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 USA | here | | | -------