GNU 公告,第 1 卷第 12 期,1992 年 1 月
目录
- GNU 的是谁
- 什么是自由软件基金会?
- 什么是 Copyleft?
- 自由软件支持
- GNU 快讯
- 帮助自由软件的一种小方法
- AT&T 威胁 X Windows 用户
- 受版权保护的编程语言
- LPF 结束对 Ashton-Tate 的抵制
- 约翰·冯·诺伊曼反对专利
- GNU 以大方式帮助小型科学
- GNU 也帮助大型科学
- GNU 项目状态报告
- 日本的 GNU
- GNU 项目愿望清单
- 现在可用的 GNU 软件
- GNU 文档
- 如何获取 GNU 软件
- 微型计算机的自由软件
- 感谢 GNU
《GNU 公告》是自由软件基金会的半年刊,为您带来有关 GNU 项目的新闻。
Free Software Foundation, Inc. Telephone: (617) 876-3296 675 Massachusetts Avenue Electronic mail: [email protected] Cambridge, MA 02139, USA
GNU 的是谁
Michael Bushnell 正在开发 GNU 操作系统并维护 GNU tar
。Jim Blandy 正在准备 GNU Emacs 19,而 Joseph Arceneaux 正在为 GNU Emacs 的未来版本实现活动区域。Roland McGrath 正在打磨 C 库并维护 GNU make
。
Tom Lord 正在编写图形库并接手 GNU 电子表格 Oleo 的开发。Brian Fox 正在维护他编写的各种程序,包括 makeinfo
、info
、BASH、GNU finger
和 readline
库。Jan Brittenson 正在开发 C 解释器。David J. MacKenzie 维护 GNU 的大多数小型实用程序——比几乎所有其他人加起来的程序还要多。
Melissa Weisshaus 正在编辑文档,并将致力于撰写 GNU 实用程序手册。Kathy Hargreaves 和 Karl Berry 正在制作字体,开发用于处理字体的实用程序,并致力于 Ghostscript。
Noah S. Friedman 是我们的系统管理员。Lisa 'Opus' Goldstein 继续运营 FSF 的业务端,Gena Lynne Bean 在办公室协助。Spike MacPhee 协助 RMS 处理软件和其他行政任务的法律分配。我们的财务主管 Robert J. Chassell 负责我们的出版工作,并且正在编写 Emacs Lisp 编程入门,以及许多其他任务。
Richard Stallman 继续担任志愿者,他完成了无数的任务,包括改进 C 编译器、Emacs 等及其文档。志愿者 Len Tower 仍然是我们的在线 JOAT(万事通),处理邮件列表和 gnUSENET、信息请求等。
GNU 公告
撰写和编辑:Noah S. Friedman、Tom Lord、Robert J. Chassell、Lisa Goldstein、Melissa Weisshaus、Richard Stallman 和 Leonard H. Tower Jr.
插图:Etienne Suvasa
日文版:Mieko Hikichi 和 Nobuyuki Hikichi
《GNU 公告》每年出版两次。要获取副本,请将您的请求发送至第一页上的地址。如果您居住在美国邮政局服务的区域,请同时发送 SASE(自带邮资的 10 号信封),否则请附上预先打印的邮寄标签。非常感谢您捐赠少量费用以支付复印成本,但这不是必需的。
版权 (C) 1992 自由软件基金会公司。
此页面根据 知识共享署名-禁止演绎 3.0 美国许可协议 获得许可。
什么是自由软件基金会?
自由软件基金会致力于消除对计算机程序复制、再分发、理解和修改的限制。我们通过促进在计算机使用的所有领域开发和使用自由软件来实现这一目标。具体而言,我们正在组装一个名为“GNU”(GNU's Not Unix)的完整集成软件系统,该系统将与 Unix 向上兼容。该系统的某些大型部分已经可以工作,我们现在正在分发它们。
我们名称中的“自由”一词指的是自由,而不是价格。您可能需要支付一定的价格才能获得 GNU 软件,也可能不需要。无论哪种方式,一旦您拥有该软件,您就拥有两种特定的自由:首先,复制该程序并将其赠送给您的朋友和同事的自由;其次,通过完全访问源代码,随心所欲地更改程序的自由。此外,您可以研究源代码并了解此类程序的编写方式。然后,您就可以移植它、改进它并将您的更改与他人分享。(如果您重新分发 GNU 软件,您可以为物理传输副本的行为收取费用,也可以免费赠送副本。)
其他组织分发任何碰巧可用的自由软件。相比之下,自由软件基金会专注于开发新的自由软件,致力于构建一个足够完整的 GNU 系统,让您不再需要购买专有系统。
除了开发 GNU 之外,FSF 还以分发费用的形式分发 GNU 软件和手册的副本,并接受可免税的礼物来支持 GNU 的开发。FSF 的大部分资金来自其分发服务。
基金会的董事会成员为:Richard Stallman,主席;Robert J. Chassell,财务主管;Gerald J. Sussman、Harold Abelson 和 Leonard H. Tower Jr.,董事。
什么是 Copyleft?
使程序自由的最简单方法是将其置于公共领域,不设置版权。但这允许任何人侵犯作者的意愿对其进行版权保护和限制使用,从而剥夺了其他人访问和自由重新分发它的权利。这完全颠倒了最初的意图。
为了防止这种情况发生,我们以一种新颖的方式为我们的软件添加版权。典型的软件公司使用版权来剥夺您的自由。我们使用copyleft来保护它们。它是一种法律工具,要求传递程序的人包括进一步重新分发它以及查看和更改代码的权利;代码和权利在法律上变得不可分割。
GNU 项目使用的 copyleft 由常规的版权声明和GNU 通用公共许可证 (GPL) 组合而成。GPL 是一种复制许可证,它基本上表示您拥有上述讨论的自由。另一种形式,即GNU 库通用公共许可证 (LGPL),适用于某些 GNU 库。此许可证允许在特定条件下将库链接到专有可执行文件中。适当的许可证包含在所有 GNU 源代码分发和我们的许多手册中。我们也会应要求向您发送打印副本。
请注意,库许可证实际上代表了一种战略上的退让。我们宁愿尽可能坚持认为基于 GNU 软件的程序本身必须是自由的。然而,在库的情况下,我们发现坚持只在自由软件中使用它们似乎会阻碍库的使用,而不是鼓励自由应用程序。
如果库许可证确实促进了专有应用程序的开发人员进一步使用和开发自由库,我们将把更多的 GNU 项目库置于其下。
我们强烈鼓励您为您的程序和文档 copyleft,并且我们已尽最大努力使其尽可能简单。有关如何应用 GPL 的详细信息随附在其中。
自由软件支持
自由软件基金会不提供任何技术支持。尽管我们创建软件,但我们将其留给他人提供支持以谋生,因为我们宁愿专注于前一项任务。我们认为程序员提供服务,就像现在的医生和律师一样——医疗和法律知识都是可自由重新分发的实体,从业者会为此收取分发和服务费。
我们维护一份提供支持和其他咨询服务的人员列表,称为 GNU 服务目录。它位于 GNU Emacs 发行版中的“etc/SERVICE”文件和 GCC 发行版中的“SERVICE”中。如果您想要打印副本或希望将其列入其中,请与我们联系。
如果您发现任何 GNU 软件存在缺陷,我们希望知道。我们有许多用于公告、错误报告和问题的 Internet 邮件列表。它们还作为 gnu.*
新闻组进入 USENET 新闻。
如果您无法访问 Internet,您可以通过 UUCP 获取邮件和 USENET 新闻。联系本地 UUCP 站点或商业 UUCP 站点,例如
Anterior Technology, P.O. Box 1206, Menlo Park, CA 94026-1206 USA Phone: (415) 328-5615 or FAX: (415) 322-1753 E-mail:[email protected]
UUNET Communications Services, 3110 Fairview Park Drive - Suite 570, Falls Church, VA 22042 USA Phone: (703) 876-5050 E-mail:[email protected]
当我们收到错误报告时,我们通常会尝试修复该问题。虽然我们的错误修复可能看起来像是个人帮助,但事实并非如此。我们的任务如此之大,以至于我们必须专注于那些有助于整个社区的事情,例如开发和维护软件和文档。我们没有资源来帮助个人。如果您的错误报告没有引起我们的解决方案,您仍然可能会从阅读我们错误报告邮件列表的许多其他用户那里获得解决方案。否则,请使用服务目录。
因此,请不要要求我们帮助您安装软件或弄清楚如何使用它——但请告诉我们安装脚本如何不起作用或文档不清楚的地方。
GNU 快讯
- 重新组织的发行磁带 FSF 软件发行版添加了第三个磁带。旧的编译器磁带已拆分为语言磁带和实用程序磁带。某些软件也已从 Emacs 磁带移至其他两个磁带(请参阅“现在可用的 GNU 软件”)。
- GCC 2、GDB 4 和 C 库接近 Beta 版 在有限的时间内,还将分发包含 GCC 2、GDB 4 和 GNU C 库 (libc) 的磁带(请参阅“实验磁带的内容”)。它将在 1992 年 3 月提供。
- 摩托罗拉标志着自由软件的又一项进步 摩托罗拉最近宣布为其 DSP56000/1 数字信号处理器提供 C 语言工具包。该工具包包含一个改编自 GCC 的交叉编译器和一个 GDB 端口。该系统的源代码可根据 GNU copyleft 的条款从摩托罗拉获得。
- TUGboat 转向港口 TeX 用户组董事会最近投票决定为该组的时事通讯 TUGboat 的未来版本添加 copyleft。
- 内核 我们正在使用卡内基梅隆大学开发的 Mach 消息传递内核。早期,Mach 的非自由版本受到出口限制,但现在没有任何限制。最新版本的 Mach 微内核不包含 AT&T 代码。(微内核不提供高级功能,例如文件系统和信号。)Mike Bushnell 正在编写一组服务器,称为 GNU Hurd,以在 Mach 之上运行,以提供完整的 GNU 操作系统。虽然它远未完成,但正在取得令人兴奋的进展(请参阅“GNU 项目状态报告”)。
-
GNU Fortran 邮件列表 一个经过审核的邮件列表可供对 GCC 的 Fortran 前端感兴趣的人员使用。将请求加入该列表的邮件发送至
[email protected]
。同时,前端本身正在迅速接近 alpha 测试状态。 - GNU 在俄罗斯的进展 GNU 项目在俄罗斯取得了进展。“GNU 开发中心”不久前在那里成立,他们将把 GNU 文档翻译成俄语,并执行其他仍在规划阶段的任务。最近,他们完成了 Modula-2 到 C 转换器的第一个版本。他们还在开发一个 SQL 数据库管理系统。
- GDB、GAWK 和 Make 手册更新 最近,志愿者修订了 GAWK 和 GDB 手册;两者都比以前更长、写得更好。我们还修订了 Make 手册。我们将以类似于 GNU Emacs 手册 的六乘九英寸格式印刷和分发所有这些手册。
帮助自由软件的一种小方法
如果您发现 GNU 软件对您有所帮助,特别是如果您受益于免费提供的源代码,请通过告诉他人来帮助支持自由软件的传播。例如,您可以在发表的论文和内部项目报告中说
“我们能够修改
fubar
实用程序以满足我们的特定需求,因为它是一个自由软件。因此,我们能够提前六个月完成 XYZ 项目。”
让用户、管理层和朋友知道!并给我们发送一份副本。谢谢!
AT&T 威胁 X Windows 用户
作者:Richard Stallman
去年春天,AT&T 向 X 联盟的每一位成员(包括麻省理工学院)发送了威胁信,称他们需要为 X Window 服务器支付版税。这是因为 AT&T 已经为多处理窗口系统中的“后备存储”的使用申请了专利(美国专利号 4,555,775)。X 联盟称这些发展“对大学研究构成威胁”。麻省理工学院正在研究如何在必要时在法庭上对抗 AT&T,但我们不知道这是否会成功。
与此同时,Cadtrak 继续要求 X Windows 的用户为使用异或在屏幕上写入支付版税,这受美国专利号 4,197,590 的保护。
如果 GNU 系统不能使用 X Windows,它将不会非常有用。但这并不是唯一处于危险中的基本系统功能。Emacs 受美国 IBM 专利号 4,674,040 的威胁,该专利涵盖了文本编辑器中“在文件之间剪切和粘贴”。一些 Emacs 扩展受到美国专利 4,458,311 的威胁,该专利涵盖了“在同一屏幕上进行文本和数字处理”。美国专利 4,398,249,涵盖了称为“自然顺序重新计算”的通用电子表格技术,威胁到其在 GNU 软件中的使用。
9 月,就在 FSF 即将发布使用 Ross Williams 春季开发的算法的数据压缩程序时,一项新专利涵盖了他的算法。因此,我们不得不放弃该程序——而且我们仍然不知道该使用什么来代替它。
FSF 本身对这些威胁无能为力。在法庭上对抗一项专利将耗尽我们所有的资金。因此,我们在 GPL 第 2 版中添加了一项条款,以便我们可以在某些国家/地区禁止分发我们的某个程序,如果该程序在那里受到专利保护。最有可能的是,其中一个国家将是美国。
如果您开发供广泛使用的软件,您很可能会发现,如果不侵犯适用于软件的数千项专利,您将无法完成工作。如果您逐一与他们斗争,每次诉讼可能要花费数百万美元。您加入编程自由联盟难道没有道理吗?
受版权保护的编程语言
作者:Richard Stallman
GNU 项目已经产生了现有的最好的 C 编译器之一。我决定编写一个 C 编译器,而不是设计一种全新的、完全干净的语言,因为 C 是用户编写程序的语言。对于类似 Unix 的系统,C 编译器绝对是必不可少的。
如果一种新语言对于有用的计算机系统变得同样重要,我们是否可以编写该语言的编译器?如果我们想让欧洲人使用该编译器,则不能。1991 年 5 月 15 日,欧洲共同体通过了一项新的软件版权指令。它不仅确立了受版权保护的用户界面,还确立了受版权保护的协议、受版权保护的数据格式和受版权保护的编程语言。
以下是欧洲共同体法律关于界面的规定
鉴于为了避免疑问,必须明确,只有计算机程序的表达受到保护,并且构成程序任何要素的基础的想法和原则(包括构成其界面的基础)不受本指令的版权保护;
没有任何规定可以阻止界面的细节(与底层思想相反)受到版权保护。
欧洲议会法律事务委员会建议添加以下内容以解决某些类型界面的此问题
鉴于,这些不受保护的项目包括,例如,通信协议、交换或相互使用已交换的信息的规则、数据格式以及编程语言的语法和语义;
在经过激烈的辩论(其中保守党特别反对)后,该修正案被否决。对该问题的高度重视表明它被视为实质性变更——表明议会认为成文法允许对协议、格式和语言进行版权保护。
这些广泛而危险的垄断的主要支持者是少数几家大型计算机公司:IBM、Digital、Apple 和 Siemens。(其中只有一家是欧洲公司。)许多小型公司成立了欧洲互操作系统委员会,以游说反对界面垄断,但收效甚微。
那么美国呢?
最新版本的 System V 接口定义声称该接口受版权保护。Adobe 表示 Postscript 语言受版权保护。您可以肯定,IBM、Digital 和 Apple 正在大声而清楚地告诉国会,应该对编程语言进行版权保护。他们将以欧洲法律为证据,证明这是一项健全的政策。
因此,下次您采用一种新语言时,我们能否在 GNU 编译器中支持它?在欧洲不行,可能在美国也不行。下次您编写程序时,您是否希望被迫使其与现有的其他所有内容不兼容,仅仅是为了避免被起诉?
由于调查显示大多数程序员不赞成这些限制,因此您也很有可能不赞成。问题在于您是否想对此采取任何措施。您可以发表意见并对决策产生影响,或者您可以什么都不做,让 IBM、Digital 和 Apple 来表达一切。
如果您想做点什么,最简单的事情就是加入编程自由联盟——一个在政治上努力恢复编写程序自由的草根组织。
来自联盟会员表
编程自由联盟是由教授、学生、商业人士、程序员和用户组成的草根组织,致力于恢复编写程序的自由。该联盟并不反对国会想要的法律制度——对单个程序进行版权保护。我们的目标是推翻法官最近为响应特殊利益而做出的改变。
程序员、经理和专业人士的联盟会员费为每年 42 美元;学生为 10.50 美元;其他人为 21 美元。
要加入,请将支票和以下信息发送至
League for Programming Freedom 1 Kendall Square - #143 P.O. Box 9171 Cambridge, MA 02139 USA
- 您的姓名和电话号码(家庭、工作或两者)。
- 联盟邮件的地址,每年几次(请注明是您的家庭地址还是工作地址)。
- 您所在的公司和您的职位。
- 您的电子邮件地址,以便联盟可以就政治行动与您联系。(如果您不想为此被联系,请说明,但请务必提供您的电子邮件地址。)
- 请提及任何可以使您对 LPF 的支持给公众留下深刻印象的关于您的信息。
- 请说明您是否愿意帮助 LPF 活动。
如果您尚未决定,请致电 (617) 243-4091,使用上述地址写信给联盟以获取更多信息,或发送电子邮件至 [email protected]
。
LPF 结束对 Ashton-Tate 的抵制
Ashton-Tate(现在是 Borland 的子公司)已表示愿意放弃对 Fox 的外观和感觉诉讼。作为回应,编程自由联盟已经放弃了对 Ashton-Tate 产品的抵制。
约翰·冯·诺伊曼反对专利
--包含给编程自由联盟
传记 John von Neumann and the Origins of Modern Computing(作者:William Asprey,MIT Press,1990 年,第 41-45 页)描述了 1946-47 年冯·诺依曼与埃克特和莫奇利之间关于 EDVAC 的专利纠纷。冯·诺依曼曾是 EDVAC 项目的顾问,并在那里为许多基本发明做出了贡献。1946 年,埃克特和莫奇利试图为 EDVAC 的大部分技术申请专利,包括冯·诺依曼声称自己发明的技术。
当冯·诺依曼在 1945 年撰写的关于 EDVAC 的报告草案被认为是先前出版物时,这场战斗结束了。因此,所有有问题的发明都成为了公共领域的一部分。
这场纠纷的一个结果是,冯·诺依曼改变了他在高等研究院的计算机项目的专利政策。最初的计划是将专利分配给个别工程师。相反,所有想法都被放入了公共领域。
冯·诺依曼说:“这当然意味着情况发生了对我们非常有利的转变,因为我们对独家专利几乎没有兴趣,而是希望看到我们为该主题贡献的任何东西……尽可能地对公众开放。”
GNU 以大方式帮助小型科学
作者:Lester Ingber,科学转移公司,[email protected]
大多数人很可能都在使用诸如 Emacs、GCC、G++、GDB、Groff、Gnuplot 等 GNU 产品,以及其他部分基于这些产品(例如,利用 GCC 编译器)的产品,如 BASH、Oleo、Perl 等,因为他们个人需要 (a) 玩耍/探索新软件,(b) 利用即使与“商业”供应商相比也更出色的产品,以及 (c) 使用廉价软件。很可能,GNU 软件开发项目的大部分受益者是中大型学术和商业机构的计算机科学家/黑客。他们通常更关心优势 (a) 和 (b),而不是成本 (c)。
对于许多小型科学项目来说,控制成本 (c) 的需求,加上对最先进软件 (b) 的要求,至关重要。许多人,例如我自己,宁愿把更多时间花在做“科学”上,而不是玩弄/解决经常伴随 (a) 项的带有错误的软件,仍然会因为 (b) 和 (c) 项而偏爱 GNU 软件。人们越来越意识到,尤其是在当前预算赤字和政治推动更大、更昂贵的项目的情况下,为了使我们的国家在目前面临的激烈竞争中生存下来,以及为了简单地促进良好的科学——任何文明民族的基本目标——我们必须找到确保“小型”科学的方法。许多人认为,这种科学只是在金钱成本上是“小型”的,而真正重要的新发展大部分都来自这种研究。
最近,为了继续我的项目,我不得不再次自掏腰包购买了自己的电脑。我使用过许多大型机和工作站,但始终是以最终用户的身份使用由专家管理的计算机系统。我选择了一台 Sun SparcStation,因为 (1) 它足够强大来处理我的代码,并且 (2) 他们的系统似乎有大量的可用软件。我并没有意识到 (2) 对我的项目有多重要!我以为我的 Sun 会立即完成一切,但我甚至无法用激光打印机打印出我的数千个 troff
文件,而且捆绑的 C 编译器慢得可怕!
然后,我发现了 GNU 项目,在经历了几个月作为计算机系统管理员的挣扎之后,我现在拥有了一个软件系统,允许我自由地使用我的科学工具。例如,我的论文《新皮质相互作用的统计力学:应用于脑电图的尺度范式》,Phys. Rev. A,44:4017-4060, 1991,展示了我的大脑理论模型如何用于拟合在头皮上测量的脑电图(脑电图)数据。这是我对我的理论进行的多项严格测试中的另一项;这最后一次测试及其出版确实需要 GNU 软件,即使以合理的商业价格,我也绝对买不起。
所以,我向 Richard Stallman 和 GNU 项目的其他敬业人士致敬。他们不仅为世界各地的计算机科学家贡献了最先进的软件,而且在促进小型科学方面发挥着极其重要的作用。
GNU 也帮助大型科学
不仅仅是小型科学项目可以从免费软件中获益。JET 项目的 Colin Manning 有话说:
据我所知,在 JET,这个世界领先的用于开发核聚变发电技术的研发项目,无需赘言,那里有大量的计算机,GNU 软件得到了广泛的使用和赞赏。GNU Emacs 几乎被普遍使用。GCC/BASH/GAWK 等等也一样。我们(目前)是基于 Sparc 的。
“当我们享受他人发明带来的巨大优势时,我们应该乐于通过我们自己的任何发明来为他人服务。”
-Benjamin Franklin
GNU 项目状态报告
- 新的配置方案 为了使 GNU 软件能够在大量平台上编译和运行,通常有必要包含特定于平台的代码来处理不同的情况。那么,了解您将在其上构建软件的平台类型就很有用了。我们现在正在理顺配置 GNU 软件包以进行编译的统一方案的细节。这将使以相同的方式配置任何和所有 GNU 软件成为可能。特别是,所有 GNU 软件都将支持机器类型和系统类型的相同命名方案。配置方案将使您能够使用一个命令配置包含多个 GNU 软件包的目录。当我们有一个完整的系统时,就可以一次配置所有内容,从而无需学习如何配置组成 GNU 系统的每个单独程序。对于开发中使用的工具,配置方案允许您指定主机系统和目标系统,因此您可以轻松配置和构建交叉开发工具。GCC 2 版本和 GDB 4 版本支持新的配置方案,许多较小的程序和集合也支持。在未来的一年里,我们将更改我们的其他软件以支持它。
-
GNU OS 工作:The Hurd GNU 操作系统的内核相关方面的开发正在继续。这项工作包括编写一组服务器,称为 GNU Hurd,它运行在 CMU 的 Mach 3 微内核之上。Mach 微内核提供了一个任务抽象,在单个任务中具有多个线程,以及强大的 IPC 和虚拟内存系统。Hurd 由文件系统、终端驱动程序、进程服务器、网络协议服务器和一些次要服务器组成。每个挂载的文件系统都使用单独的 Mach 任务,并提供 Unix 功能的超集。没有特权的用户将能够以安全的方式将他们自己设计的文件系统添加到目录树中。Mike Bushnell 编写了 BSD 快速文件系统的实现,现在正在调试它。此实现提供了作为共享内存访问文件的功能(允许更快的访问),并且如果 C 库中的
stdio
直接使用它,则可以消除大量 I/O 密集型程序中的数据复制。GNU C 库的未来版本将提供此支持。最终,我们将实现其他文件系统,包括诸如 NFS 之类的传统文件系统,以及诸如透明访问 FTP、tar
和ar
存档之类的非传统文件系统。Hurd 终端驱动程序对用户程序来说看起来像文件服务器,但它支持更多种类的ioctl
调用,并提供 BSD 和 POSIX 终端功能。终端驱动程序将支持分层在串行线、网络端口和其他通道上的终端。进程服务器提供进程抽象;它提供进程和主机 id,向其他进程发送信号,获取类似ps
的程序的信息等等。服务器的主要目的是充当信息存储库;系统调用解释器处理信号传递的复杂方面。当 Hurd alpha 测试开始时,我们将认真开始实现网络。计划是编写一个库,使 BSD 内核的网络模块(现在许多是免费的)能够“插入”并以最小的修改使用。GNU C 库将提供与 BSD 的源代码兼容性。此外,将在某些机器上使用 Mach 的系统调用仿真工具提供二进制兼容性。该系统旨在与 4.4 BSD 源代码兼容,并且在使用 GNU C 库时符合 POSIX.1 标准。将在某些系统上提供二进制兼容性。我们有一个邮件列表来讨论 Hurd 的设计。欢迎操作系统设计方面的专家和经验丰富的 Unix 大师帮助解决接口的细节问题。 - GNU Emacs Emacs 18 的维护工作仍在继续,主要针对简单的错误修复。19 版本将于今年晚些时候进入 beta 测试阶段。其新功能包括:更改前和更改后挂钩、Emacs Lisp 程序的源代码级调试、X 选择处理(包括剪贴板选择)、滚动条、对欧洲字符集的支持、浮点数、每个缓冲区的鼠标命令、X 资源管理器接口、鼠标跟踪、函数键的 Lisp 级绑定、多个 X 窗口(Emacs 的“屏幕”)、新的输入系统和缓冲区分配,它使用一种新的机制,能够在缓冲区被杀死时将存储返回给系统。输入流现在是一个 Lisp 对象序列,而不是一个字符序列。这允许合理地表示鼠标点击、功能键、菜单选择等。感谢 Alan Carroll 和那些在 Epoch 上工作的人,他们为多窗口 Emacs 生成了初步反馈,以及 Eric Raymond 在改进 Emacs 19 Lisp 库方面的帮助。
-
C 编译器 GNU C 编译器 (GCC) 1.40 版本去年发布。它支持 ANSI 标准 C。1 版本是稳定的,但仍通过错误修复进行维护。它支持以下 CPU 类型:680x0、Vax、32x32、80[34]86、Sparc (Sun 4)、SPUR、Convex、MIPS、Tahoe、Pyramid 和 Alliant。与合适的汇编程序一起使用时,它支持
a.out
和 COFF 格式的目标文件。GCC 2 版本正在开始 beta 测试(请参阅“实验磁带的内容”)。正在开发新的前端,但它们还不是 GCC 的一部分。Ada 的前端正在通过 Ada 9X 标准委员会资助。由于它是一种非常复杂的语言,我们预计完成需要一段时间。Fortran 的前端现在正在集成,但也不会很快可用。志愿者正在开发 Modula 3 和 Pascal 的前端。有人在谈论其他语言,但还没有人自愿做 Cobol。 -
Binutils Steve Chamberlain 和 Cygnus Support 的其他人员重写了二进制实用程序(包括链接器)。这些现在基于 GDB 使用的同一二进制文件描述符库。所有工具都可以在与目标不同的主机上运行(例如,支持交叉链接)。此外,还支持各种形式的 COFF 和其他目标文件格式。一个工具可以一次处理多种形式的目标文件。例如,链接器可以读取使用两种不同格式的目标文件,并以第三种格式写入输出。链接器解释 AT&T 链接器命令语言的超集,该语言允许对内存中放置的内容进行非常通用的控制。1.94 版本目前正在进行 beta 测试。预计不会有重大变化。Per Bothner (
[email protected]
) 协调发布。 -
C 库 Roland McGrath 和其他人继续致力于 C 库。它现在包含所有 ANSI C-1989 和 POSIX.1-1990 函数,并且正在进行 POSIX.2 和 Unix 函数(BSD 和 System V)的工作。Mike Haertel 编写了一个快速的
malloc
,它比旧的 GNUmalloc
浪费的内存更少。GNU 正则表达式函数 (regex
) 现在大部分符合 POSIX.2 标准。该库(包括“系统调用”)的手册大部分已经编写完成。C 库将为 Hurd 完成大部分 Unix 系统调用的工作。Roland 正在努力添加对它们的支持。 -
GNU 调试器 GNU 源代码级 C 和 C++ 调试器 GDB,现在与 GNU C 编译器一起分发。GDB 4.3 版本正在进行 Beta 测试。新的机器端口包括 AMD 29000 和 Intel 960。现在,对象文件和符号表是通过“二进制文件描述符”库读取的,该库允许 GDB 的单个副本调试多种对象文件类型的程序,例如
a.out
和 COFF。其他新功能包括对命令语言的改进、观察点(当表达式的值更改时触发的断点)、异常处理(与 GCC 2 版本一起使用时)以及对 SunOS 共享库和 C++ 多重继承的支持。 - Ghostscript 当前版本的 Ghostscript 是 2.3。功能包括:支持所有 PostScript 扩展颜色运算符,包括 colorimage;“带列表”技术,允许 Ghostscript 驱动内存有限的高分辨率打印机;以及“保存”和“恢复”,它们是以前未实现的 PostScript 语言的主要元素。目前,Ghostscript 接受 PostScript 中的命令,并通过在 X 窗口上绘制或写入可以直接打印的文件来执行这些命令。GNU 志愿者正在努力开发多页文件的预览器;我们希望很快就能推出一款。Ghostscript 还包括一个 C 可调用图形库(用于不想处理 PostScript 语言的客户端程序),并且还支持具有 EGA 或 VGA 图形的 IBM PC 和兼容机(但不要向 FSF 工作人员询问有关此的任何问题;我们不使用 PC,也没有时间学习有关它们的任何知识)。
-
GNU 图形 GNU 图形是一组从 ASCII 或二进制数据生成绘图的程序。它支持输出到 Tektronix 4010、PostScript 和 X 窗口系统或兼容设备。新版本的 GNU 图形将在今年年初开始 Alpha 测试。下一个版本的改进包括:修订后的手册;
graph
、xplot
和plot2ps
中的新功能;支持 ln03 和 TekniCAD TDA 文件格式的输出;spline
程序的替代品;使用graph
和plot
的 shell 脚本示例;添加统计工具包;以及使用configure
进行安装。现有的端口需要重新测试。如果您可以帮助将其测试/移植到 SparcStation 以外的任何设备,请联系 Rich Murphey([email protected]
)。 -
groff James Clark 已经完成了
groff
(GNUtroff
和相关程序)。1.04 版本现已发布。(请参阅“实用程序磁带的内容。”)此版本的新功能是 Joergen Haegg ([email protected]
) 贡献的-mm
宏的实现。groff
是用 C++ 编写的。它可以使用 GNU C++ (建议使用 1.40.3 或更高版本) 编译。groff
未来的错误将会被修复,但目前没有计划进行新的开发。但是,鼓励groff
用户继续贡献增强功能。最需要的是完整的文档、grap
仿真 (用于排版图形的pic
预处理器)、类似于pm
的页面布局后处理器(参见 Computing Systems, 2:2)以及pic
的 ASCII 输出类,以便可以将pic
与texinfo
集成。James 想借此机会感谢所有提交错误报告的人。请继续将它们提交给[email protected]
。 -
JACAL Aubrey Jaffer 正在准备发布 JACAL 的新版本,JACAL 是一个符号数学系统,用于简化和操作由数字、变量、根式、根式和代数函数、微分和有限微分算子以及完整函数构造的方程以及单值和多值代数表达式。此外,还包括上述对象的向量和矩阵。JACAL 在 Common Lisp 或 Scheme 下运行。JACAL 附带一个用 C 编写的 Scheme 版本(符合 IEEE P1178 和 Rev^4)。它在 VMS、MS-DOS、Unix 和类似的系统下运行。预发布源代码可从
altdorf.ai.mit.edu
以匿名ftp
方式获取,位于 `archive/scm' 中的 `jacal0-4.tar.Z' 和 `scm3c6.tar.Z'。FSF 尚未在磁带上分发此文件。要接收包含源代码和可执行文件的 IBM PC 软盘,请发送 70.00 美元至:Aubrey Jaffer, 84 Pleasant St., Wakefield MA 01880, USA。 -
Texinfo 2 Texinfo 2 软件包包括一个增强的用于 GNU Emacs 的 Texinfo 模式、新版本的格式化命令以及第二版 Texinfo 手册。新手册比第一版更完整,并描述了 50 多个新命令。现在,Texinfo 模式包括用于自动创建和更新节点和菜单的命令,当手动完成时这是一项繁琐的任务。新的格式化命令包括
makeinfo
,这是一个独立于 GNU Emacs 的独立 C 程序。Texinfo 软件包正在进行 Beta 测试。
日本的 GNU
Mieko, [email protected]
, & Nobuyuki Hikichi, [email protected]
, 继续在日本进行 GNU 项目的工作。他们翻译 GNU 信息、撰写专栏、请求捐款,并向人们咨询有关 GNU 的信息。他们已将 GNU 通用公共许可证的第 1 版翻译成日语,现在正在寻求律师来审查他们对新的 GNU 库通用公共许可证的翻译。
日语版本的 Emacs 可用。其中一个是 nemacs
(Nihongo Emacs),在日本广泛使用,它可以在包括 i386 MS-DOS 机器在内的许多系统上运行。日语版本的 Epoch,nepoch
也可用。
如果可以,请直接从 FSF 订购 GNU 软件——每 150 个磁带订单允许我们聘请一名程序员一年来创建更多自由软件。否则,日本的许多团体都在分发 GNU 软件,包括 JUG(PC 用户组)、日经商业出版物和 ASCII(出版商)以及富士通 FM Towns 用户组。匿名 UUCP 现在在日本也可用;如需更多信息,请联系 [email protected]
。FSF 不分发 nemacs
或 nepoch
。
一个与日本商业个人计算机网络相关的团体正在编写和分发一个硬件设计和相关的软件,该软件使用 MIPS 架构 CPU。该操作系统称为 t2
,是 Unix 的一个子集。
日本的 GNU 软件支持公司
在日本,人们将首次能够联系一家公司以获得 GNU 软件支持;该公司名为 Wingnut。组织者受到了 GNU 宣言的启发。Wingnut 将提供两项服务:移植和定制 GNU 软件,以及回答技术问题(包括如何安装软件)。
许多日本人想使用 GNU 软件,但没有组织提供软件支持。Wingnut 计划以合理的价格提供支持服务,其中一部分将捐赠给 FSF。
我们预计这种类型的软件支持公司将帮助 GNU 项目在日本的发展。
GNU 项目愿望清单
本期希望得到以下支持:
- 公司借给我们有能力的程序员和技术作家,至少六个月。真正的专家可能欢迎短期合作,但我们发现,六个月是优秀程序员完成有价值项目的最短时间。
- 可能对赞助或主持研究助理进行 GNU 开发感兴趣的教授,并获得 FSF 的支持。
- 有人完成
smail
邮件传递系统。 - 一台 386 或 486 PC-AT 兼容机,至少 200 兆硬盘和一个以太网卡。
- 一个可以连接到 Sun-3 的 300 兆 SCSI 磁盘;一个 Sun QIC-150 盒式磁带驱动器;用于 IBM RT 的硬盘;Sun-3 工作站;以及一台软盘复制和验证机。
- 一位志愿者更新和维护 Roget's Thesaurus 的在线版本(从现在在公共领域的旧版本开始)。
- 志愿者帮助编写程序和文档。请发送邮件至
[email protected]
获取任务列表和编码标准。 - 语音和字符识别软件(如果设备不太奇怪),如果可能的话,附带设备驱动程序。这将有助于我们认识的几位部分残疾程序员的生产力。
- 对未来 GNU 公告中的优秀文章的想法。我们特别喜欢突出参与自由信息交流的组织。
- 未来 GNU 公告的新引言。
- 提及 GNU 项目或 GNU 软件的报纸和杂志文章的副本。请将这些发送到封面上的地址,或将引文发送到
[email protected]
。 - 像往常一样,需要资金。请记住,捐款可免税。有了最新的捐款,我们已经能够再次扩大我们的员工队伍。随着员工的增加,我们对捐款的需求更大。给我们少量资金的一种方法是订购一两盘分发磁带。这可能不属于税务目的的捐款,但可以作为业务支出。
现在可用的 GNU 软件
我们提供以下媒体类型的 tar
格式的 Unix 软件源代码分发磁带:1600 bpi 9 轨盘带、Sun QIC-24 盒式磁带、惠普 16 轨盒式磁带和 IBM RS/6000 1/4 英寸盒式磁带(RS/6000 磁带上还包含一个 Emacs 二进制文件)。我们还为 GNU Emacs 和 GNU C 提供 VMS 磁带,其中包括源代码和 VMS 可执行文件。
用于 Unix 系统的各种 9 轨磁带和盒式磁带的内容是相同的(RS/6000 Emacs 磁带除外)。只有媒体不同(请参阅“FSF 订购单”)。文档以 Texinfo 格式提供。GNU 软件磁带包括 texinfo.tex
和 texi2roff
。
程序名称列出的版本号是本公告发布时的最新版本。当您订购分发磁带时,某些程序可能会更新,因此版本号更高。
Emacs 磁带的内容
此版本磁带上的软件被认为是相当稳定的,但与往常一样,我们欢迎您提交错误报告。过去曾在此磁带上的某些软件已转移到新的“语言和实用程序”磁带中。
- GNU Emacs 18.57 1975年,理查德·斯托曼开发了第一个 Emacs,它是一个可扩展、可自定义的实时显示编辑器。GNU Emacs 是他的第二个实现。它是第一个为 Unix 系统提供的 Emacs,它提供真正的 Lisp(平滑地集成到编辑器中)来编写扩展,并为 MIT 的 X 窗口系统提供一个特殊的接口。除了其强大的原生命令集外,还编写了一些扩展来模拟其他三个流行的编辑器:vi、EDT(DEC VMS 编辑器)和 Gosling(又名 Unipress)Emacs。GNU Emacs 由随软件提供的《GNU Emacs 手册》和《GNU Emacs Lisp 参考手册》进行描述。还提供了一张参考卡。GNU Emacs 18.57 可以在许多 Unix 系统上运行:Alliant、Altos 3068、Amdahl (UTS)、Apollo、AT&T(3B 机器和 7300 PC)、Aviion、CCI 5/32 和 6/32、Celerity、Convex、Digital(DECstation 3100 和 5000、Vax(BSD、System V 或 VMS))、Motorola Delta(System V/68 release 3)、Dual、Elxsi 6400、Encore(DPC、APC 和 XPC)、Gould、HP(9000 系列 200、300、700 和 800,但不包括 500 系列)、HLH Orion 1/05、IBM(RT/PC(4.2 和 AIX)、PS/2(AIX(仅限 386))和 RS/6000(AIX))、Integrated Solutions(具有 68020 和 VMEbus 的 Optimum V)、Intel 80386(BSD、Microport、System V、Xenix 和 PS/2(对于 MS-DOS,请参阅“微型计算机的免费软件”))、Iris(2500、2500 Turbo 和 4D)、LMI (Nu)、Masscomp、MIPS、National Semiconductor 32000、NCR (Tower 32)、Nixdorf Targon 31、Plexus、Pmax、Prime EXL、Sequent(Balance 和 Symmetry)、SONY News、Stride(系统版本 2)、所有 Suns(包括 386i)、Stardent 1500 和 3000、Tahoe、Tandem Integrity S2、Tektronix(NS32000 和 4300)、Texas Instruments (Nu)、Titan P2 和 P3、Ustation E30 (SS5E) 和 Whitechapel (MG1)。
- GNU Calc 2.01 Calc(由 Dave Gillespie 用 Emacs Lisp 编写)是一个可扩展的高级桌面计算器和数学工具,作为 GNU Emacs 的一部分运行。它附带《Calc 手册》,该手册既是教程又是参考。如果您愿意,您可以仅将 Calc 用作简单的四则运算计算器,但它还提供了其他功能,包括代数或 RPN(基于堆栈)条目的选择、对数、三角函数和财务函数、任意精度、复数、向量、矩阵、日期、时间、无穷大、集合、代数简化、微分和积分。
- MIT Scheme 7.0 和 Yale T 3.1 Scheme 是 Lisp 的一个简化、词法作用域的方言。它是在麻省理工学院和其他大学设计的,用于教授学生编程和研究新的并行编程结构和编译技术。MIT Scheme 用 C 编写,可在许多 Unix 系统上运行。它现在符合“修订版^3 关于算法语言 Scheme 的报告”(MIT AI Lab Memo 848a),其中包含 TeX 源代码。T 是在耶鲁大学开发的 Scheme 的变体;它旨在用于程序开发中的生产用途。T 包含一个本地代码优化编译器,生成的代码运行速度与用传统语言编写的程序的速度相当。它可以在 BSD Vaxen、680x0 系统、Sparc 工作站、MIPS R2000 工作站(包括 Decstation 3100)和 NS32000 机器(包括 Encore Multimax)上运行。T 是用它自己编写的,如果没有二进制文件(包含),则无法引导,但如果可以使用它就太棒了。包含了一些文档。
-
Texinfo 2.12,
texi2roff
2 Texinfo 是一组实用程序,可生成打印手册和在线超文本样式手册(称为“Info”)。beta 测试的 Texinfo 包包含对当前套件的增强功能和扩展的手册(请参阅“GNU 项目状态报告”)。texi2roff
由 Beverly Erlebacher 编写,它翻译 GNU Texinfo 文件,以便可以使用 `[gnt]roff
` 程序利用 `-mm
`、`-ms
` 或 `-me
` 宏包进行打印。它包含在所有 Unix 磁带中,以便没有 TeX(但有[gnt]roff
)的人可以打印出 GNU 文档。 -
数据压缩软件 我们磁带发行版中的一些内容已压缩,目前用“.Z”后缀表示。我们在磁带上包含用于压缩/解压缩这些文件的软件。由于 `
compress
` 的专利问题,我们将切换到另一种压缩算法。`prep.ai.mit.edu
` 上的在线发行版将首先更改,以便为新程序提供试用期。每个磁带都包含用于解压缩其中压缩文件的程序。
语言磁带的内容
此磁带包含编程语言工具:编译器、解释器和相关程序(解析器、转换程序、调试器等)。其中许多程序都在编译器磁带上,该磁带已不复存在。
- GCC 1.40 GNU C 编译器是一个相当可移植的优化编译器,它执行自动寄存器分配、公共子表达式消除、循环中的不变代码移动、归纳变量优化、常量传播和复制传播、延迟弹出函数调用参数、尾递归消除、内联函数集成和帧指针消除,以及许多从机器描述自动推导出的局部优化。GCC 支持完整的 ANSI C。它为 32000、680x0、80386、Alliant、Convex、Tahoe 和 Vax CPU 生成良好的代码,并为以下 RISC CPU 生成良好的代码:i860、Pyramid、Sparc 和 SPUR。还支持 MIPS RISC CPU。使用这些 CPU 的机器包括 386 (AIX)、Alliant FX/8、Altos 3068、Apollo 68000/68020 (Aegis)、AT&T 3B1、Convex C1 和 C2、DECstation 3100 和 5000、DEC VAX、Encore MultiMax (NS32000)、Genix NS32000、Harris HCX-7 和 HCX-9、HP-UX 68000/68020、HP (BSD)、IBM PS/2 (AIX)、Intel 386(System V、Xenix、BSD,但不包括 MS-DOS)、Iris MIPS 机器、ISI 68000/68020、MIPS、NeXT、Pyramid、Sequent Balance (NS32000)、Sequent Symmetry (i386)、SONY News、Sun(2、3(可选 FPA)、4、SparcStation 和 Sun386i)。有关更多详细信息,请参阅“GNU 项目状态报告”。优秀的程序员将能够在大多数这些系统上制作一个交叉编译器,以交叉编译到大多数这些架构。大部分工作将是使用编译器支持工具,而不是 GCC 本身。编译器附带《GCC 手册》。该手册(尚未在我们的订单上)描述了如何运行和安装 GNU C 编译器,以及如何将其移植到新的处理器。它描述了编译器的新的特性和不兼容性,但对 C 不熟悉的人还需要一本关于 C 编程语言的好书。
-
G++ 1.40.3、
libg++
1.39.0 和 NIH 类库 2.204a G++ 是一组针对 GCC 的更改,用于编译 C++(众所周知的面向对象语言)。在可能的情况下,G++ 会与不断发展的 ANSI 标准草案保持兼容,但不会与 `cfront
`(AT&T 编译器)兼容,因为后者已偏离 ANSI。G++ 附带《GNU G++ 用户指南》(尚未以纸质形式出版)。G++ 可以快速编译源代码,提供良好的错误消息,并且可以很好地与 GDB 配合使用。由于 G++ 依赖于 GCC,因此必须与相应编号的 GCC 版本一起使用。GNU C++ 库 `libg++
` 是一个广泛的、有文档记录的 C++ 类集合和支持工具,用于 G++。NIH 类库(以前称为“OOPS”,面向对象程序支持)是由 NIH 的 Keith Gorlen 开发的使用 C++ 编程语言的与 Smalltalk-80 中类似的类的可移植集合。 -
GAS 1.38.1、binutils 1.9、
dld
3.2.3 和 COFF 支持 GNU 汇编器 (GAS) 是一个相当可移植的单遍汇编器,它的速度几乎是 Unix `as
` 的两倍,并且适用于 32x32、680x0、80386、Sparc (Sun 4) 和 Vax。我们有 `ar
`、`gprof
`、`ld
`、`nm
`、`ranlib
`、`size
` 和 `strip
` 的免费版本。GNU 链接器 `ld
` 速度很快,并且是唯一一个具有针对多重定义符号和未定义引用的源代码行编号错误消息的链接器。`dld
` 是由 W. Wilson Ho 编写的动态链接器。您可以使用 `dld
` 库链接您的程序,这将使您的程序能够将目标文件动态加载到正在运行的二进制文件中。整个 GNU 软件工具套件可以在 System V 上运行,完全替换 COFF。GNU 工具可以使用 System V 内核接受的 COFF 标头操作 BSD 目标文件。`robotussin
` 用于将标准库转换为此格式。 -
flex
2.3.7 和 Bison 1.16flex
是 Unix `lex
` 扫描器生成器的主要兼容替代品,由劳伦斯伯克利实验室的 Vern Paxson 编写。`flex
` 生成的扫描器比 `lex
` 生成的效率高得多。Bison 是解析器生成器 `yacc
` 的向上兼容替代品,具有附加功能。该软件附带《Bison 手册》。 -
make
3.62、GDB 3.5 和indent
1.1 GNU `make
` 具有 BSD 和 System V 版本 `make
` 的大多数功能以及我们自己的许多扩展功能,并且符合 POSIX.2。GNU 扩展包括并行性、条件执行和文本操作。GNU `make
` 的 3.62 版本相当稳定。`make
` 也包含在实用工具磁带中。源代码附带《Make 手册》。GDB 3.5,GNU 调试器,在 Vaxen 和 Suns (2、3、4 和 SparcStation)、Altos、Convex、HP 9000/370 (BSD)、HP 9000/320 (HP/UX)、System V 386 系统(使用 GNU 或本机目标文件格式)、ISI Optimum V、Utek 2.1 下的 Merlin、SONY News、Gould NPL 和 PN 机器、Pyramid、Sequent Symmetry(基于 386 的机器)和 Umax 4.2 下的 Encore 上运行。GDB 的功能包括增量读取符号表(以实现快速启动和减少内存使用)、命令行编辑、在正在调试的程序中交互式函数调用、通过串行线路进行远程调试、值历史记录和用户定义的命令。它可用于调试 C、C++ 和 Fortran 程序。《GDB 手册》包含一张参考卡。`indent
` 是 GNU 修改的 UCB 免费分发程序版本。它包含一个“-gnu
”选项,该选项会根据 GNU 编码标准格式化 C 源代码。 -
GAWK 2.13、Smalltalk 1.1.1 和
perl
4.019 GAWK 与 System V Release 4 版本的awk
向上兼容。《GAWK 手册》随软件一同提供。GNU Smalltalk 是一种用可移植 C 语言编写的解释型面向对象编程语言系统。其特性包括增量垃圾收集器、二进制映像保存功能、调用用户编写的 C 代码并向其传递参数的能力、GNU Emacs 编辑模式、可选的字节码编译跟踪和字节码执行跟踪,以及自动加载的每个用户的初始化文件。Larry Wall 编写了一个名为perl
的快速程序,它结合了sed
、awk
、sh
和 C 的特性。它具有上述所有程序的功能,以及 TCP/IP 套接字操作工具、各种其他系统调用的接口和 C 库例程。 -
gperf
2.1、ae
、f2c
3.2.90 和gdbm
1.5gperf
是一个“完美”哈希表生成实用程序。实际上有两个版本的gperf
,一个用 C 编写,一个用 C++ 编写。两者都会生成 C 或 C++ 的哈希函数。ae
与 GCC 协同工作,以产生更完整的性能分析信息。f2c
将 Fortran-77 源文件转换为 C 或 C++。gdbm
库是 GNU 对标准dbm
和ndbm
库的替代品。gdbm
支持两种格式。gdbm
不需要稀疏数据库格式(与其 Unix 同类产品不同)。
实用程序磁带的内容
此磁带包含 GNU 项目编写的所有程序(以及一些第三方软件),这些程序不在其他两个磁带上。在大多数情况下,它们由较小的实用程序和杂项应用程序组成。像往常一样,欢迎提交错误报告。其中许多程序都在旧的 Emacs 磁带和现已废弃的编译器磁带上。
-
BASH 1.08、
groff
1.04、make
3.62 和texi2roff
2.0 GNU Shell,BASH(Bourne Again SHell 的缩写),与 Unixsh
兼容,并提供了csh
和ksh
中的许多扩展。BASH 具有作业控制、csh
风格的命令历史记录和命令行编辑(内置 Emacs 和vi
模式以及重新绑定键的能力)。BASH 应该可以在大多数系统上编译。groff
是一个文档格式化系统,其中包括troff
、pic
、eqn
、tbl
、refer
、-man
、-ms
和-mm
宏的实现,以及 PostScript、TeX dvi 格式和类似打字机设备的驱动程序。还包括修改后的 Berkeley-me
宏版本和增强版的X11
xditview
预览器。此磁带上的make
程序与语言磁带上的相同。此处的texi2roff
与 Emacs 磁带上的相同。 -
tar
1.10 和cpio
1.5 GNUtar
包括多卷支持、归档稀疏文件的能力、自动压缩和解压缩归档文件、远程归档以及允许tar
用于增量和完整备份的特殊功能。cpio
是tar
的替代归档格式。 -
diff
1.15、grep
/egrep
1.5、fgrep
1.1 和patch
2.0.12u5diff
和[ef]grep
程序是 GNU 版本的同名 Unix 程序。它们比传统的 Unix 版本快得多。patch
是 Larry Wall 的程序,它接收diff
的输出,并将这些差异应用于原始文件以生成修补版本。 -
RCS 5.6 和 CVS 1.2 修订控制系统 (RCS) 用于软件项目的版本控制和管理。当与 GNU
diff
一起使用时,RCS 的更高版本会处理二进制文件(可执行文件、对象文件、8 位数据等)。并发版本系统 (CVS) 在多开发人员、多目录、多组环境中管理软件修订和发布控制。它在 RCS 4 及以上版本的基础上效果最佳,但会解析旧的 RCS 格式,从而损失 CVS 的更高级功能。请参阅 Brian Berliner 的《CVS-II:并行化软件开发》,1990 年冬季 USENIX 协会会议论文集。 -
fileutils 3.1、shellutils 1.5 和 textutils 1.1 “fileutils” 是文件操作实用程序:
chgrp
、chmod
、chown
、cp
、dd
、df
、du
、install
、ln
、ls
、mkdir
、mkfifo
、mknod
、mv
、mvdir
、rm
、rmdir
和touch
。“shellutils” 包含命令行或 Shell 脚本中常用的命令:basename
、date
、dirname
、env
、expr
、groups
、id
、logname
、nice
、nohup
、pathchk
、printenv
、printf
、sleep
、stty
、tee
、test
、tty
、uname
、whoami
和yes
。“textutils” 是处理文本数据的程序:cat
、cmp
、comm
、csplit
、cut
、expand
、fold
、head
、join
、paste
、pr
、sort
、split
、sum
、tac
、tail
、unexpand
、uniq
和wc
。 -
Ghostscript 2.3 和
gnuplot
3.0 Ghostscript 是 GNU 的图形语言,它几乎完全与 Postscript 兼容(请参阅“GNU 项目状态报告”)。gnuplot
是一个用于绘制数学表达式和数据的交互式程序。奇怪的是,该程序既不是为 GNU 项目编写的,也不是以 GNU 项目命名的 - 该名称纯属巧合。 -
m4
1.0、sed
1.08 和find
3.2 GNUm4
是传统 Unix 宏处理器的实现,并且主要与 System V Release 4 兼容,尽管它有一些扩展。例如,它可以处理宏的 9 个以上的位置参数。m4
还具有用于包含文件、运行 Shell 命令、进行算术运算等的内置函数。sed
是ed
的面向流的版本,并在 Shell 脚本中大量用于操作文本。find
经常以交互方式和 Shell 脚本中使用,以查找符合特定条件的文件并对其执行操作。 -
elvis
1.4 和screen
2.1celvis
是vi
/ex
Unix 编辑器的克隆。它在可视模式和行模式下都支持几乎所有的vi
/ex
命令。elvis
在 BSD、System V、Xenix、Minix、MS-DOS、Atari TOS 下运行,应该可以轻松移植到许多其他系统。screen
是一个终端多路复用器,允许您在单个物理终端上处理多个独立的“屏幕”(tty)。创建的每个虚拟终端都会模拟 DEC VT100 以及多个 ANSI X3.64 和 ISO 2022 函数。 -
time
1.2 和tput
1.0time
用于为命令(通常来自 Shell)计时,并报告有关进程使用的用户时间、系统时间和近似实际时间的统计信息。tput
提供了一种可移植的方式,允许 Shell 脚本使用特殊的终端功能。GNUtput
使用termcap
数据库,而不是通常的terminfo
。 - MandelSpawn 0.06、GNU Chess 3.1、NetHack 3.0 和 GnuGo 1.1 MandelSpawn 是一个用于 X 窗口系统的并行 Mandelbrot 程序。GNU Chess 具有文本和 X 显示界面。NetHack 是一款类似于 Rogue 的面向显示的游戏。GnuGo 下围棋(围棋);它还不是很成熟。
- U.C. Berkeley 4.3-tahoe 版本中的自由文件 这些文件已被 Berkeley 声明为不包含 AT&T 代码,并且可以自由重新分发。它们包括一些程序和库例程的完整源代码,以及许多其他程序的局部源代码。
实验磁带的内容
此磁带在 1992 年 3 月之前不可用。此磁带包含当前正在进行 Beta 测试的软件。某些软件已经在分发磁带上发布了版本。它适用于那些喜欢冒险的人。请将错误报告发送到相应的地址(这些地址列在磁带上每个程序的注释中)。
-
GCC 2 GCC 版本 2 中的新功能包括指令调度、循环展开、延迟槽填充、叶函数优化、常量优化乘法以及基本块之间的一定数量的公共子表达式消除 (CSE)。(并非所有受支持的机器描述都提供调度或延迟槽。)已编写了函数范围的 CSE,但需要在安装之前进行清理。88000 和 Sparc 上支持位置无关代码,也许很快也会在 680x0 上支持。GCC 2 还可以打开编码大多数 64 位值(类型为“long long int”)的算术运算。它可以为大多数与版本 1 相同的机器生成代码,外加 IBM PC/RT、IBM RS/6000、Motorola 88000、Acorn RISC 机器、AMD 29000 和 HP-PA(700 或 800)。IBM 370、Intel 960 和 NCUBE 的端口正在进行中。当与合适的汇编器一起使用时,版本 2 可以生成
a.out
、COFF、Elf 和 OSF/Rose 文件。GCC 2 可以生成多种格式的调试信息:BSD stabs、COFF、ECOFF、带有 stabs 符号的 ECOFF 和 Dwarf(尚不支持 RS/6000 上的调试)。并非所有版本 1 的机器描述都已更新;有些不起作用,有些需要工作才能充分利用指令调度和延迟槽。Pyramid、Alliant、Tahoe 和 Spur 的旧机器描述不起作用,但仍包含在分发中,以防您想处理它们。还有一个新的 Tron 端口也需要更新才能工作。在版本 2 中,使用新的配置方案,构建交叉编译器就像为同一目标机器构建编译器一样容易。GCC 2 还支持更通用的调用约定:它可以“按引用”传递参数,并可以预先分配堆栈参数的空间。在 Sparc 上,它使用结构参数的标准约定,但结构返回值仍然存在问题。如果运气好的话,这也将很快得到修复。编译器版本 2 支持三种语言:Objective C、C++ 和 C;源文件名选择语言。(对 Objective C 的前端支持由 NeXT 捐赠。)运行 Objective C 程序所需的运行时支持大部分可以正常工作,但尚不可用。C 已扩展为支持嵌套函数、非局部跳转和获取标签的地址。 -
GDB 4 GDB 4 包含自 3.5 以来的许多新功能(当前在发行磁带上的版本)。它们包括通过串行线路或 TCP/IP 进行远程调试;观察点;更具可读性的输出和简化的命令界面;支持更多二进制格式(使用 BFD);有限的 C++ 调试(当使用 GCC 2 时);初步支持 Modula-2 调试(用于在纽约州立大学布法罗分校开发的编译器,其他编译器不起作用);以及调试使用 SunOS 共享库的程序和核心文件的能力。GDB 4 可以执行交叉调试。说 GDB 4 面向一个平台意味着它可以为其执行本机或交叉调试。说 GDB 4 可以 托管 给定平台意味着它可以在其上构建,但不一定能够调试本机程序。GDB 4 可以
- 目标和宿主:Amiga 3000 (Amix), Decstations 3100 & 5000, HP 9000/370 (BSD), Motorola Delta 88000 (System V), NCR 3000 (SVR4), SGI Iris (运行Irix V3的MIPS), Sony NEWS (NEWSOS 3.x), Sun3, Sun4, & Ultracomputer (运行Sym1的29K)。
- 目标,但不是宿主:i960 Nindy & AMD 29000 (COFF 或
a.out
)。 - 宿主,但不是目标:Intel 386 (Mach) & IBM RT/PC。
- BFD 来自 Cygnus Software 的 BFD(二进制文件描述符)库是一组例程,旨在使程序使用时能够更透明地处理不同的目标文件格式。一些 GNU 软件正在转换为使用它。BFD 附带文档。
-
GNU C 库 该库符合 POSIX.1 标准,并且具有 POSIX.2 草案 11.2 中规定的大部分函数。它向上兼容 4.3 BSD C 库,并包含许多 System V 函数,以及 GNU 扩展。GNU
stdio
允许您定义任意流,并在这些流上执行printf
等操作。这使得sprintf
的实现特别容易,同时也为用户提供了更大的灵活性。已知 C 库可以在运行 4.3 BSD 的 HP 9000 系列 300 和运行 SunOS 4.1 的 Sun4 系统上工作。有人成功地为 i860 交叉开发环境构建了它。移植并不困难。 - GNU 图形 0.17 详细信息请参阅“GNU 项目状态报告”。
X11 磁带的内容
这两个 X11 磁带包含 MIT X 窗口系统的版本 11,发行版 5。第一个 FSF 磁带包含所有核心软件、文档和一些贡献的客户端。FSF 将其第一个磁带称为“必需的”X 磁带,因为它对于运行 X 或在 X 下运行 GNU Emacs 是必要的。第二个“可选的”FSF 磁带包含贡献的库和其他工具包、Andrew 软件、游戏和其他程序。
VMS Emacs 和编译器磁带
我们提供两个 VMS 磁带。一个只包含 GNU Emacs 编辑器。第二个包含 GNU C 编译器、Bison(编译 GCC 所需)、gas
(组装 GCC 输出所需)以及一些库和头文件。这两个 VMS 磁带都包含可用于引导的可执行文件,因为 DEC VMS C 编译器存在错误,无法编译 GCC。
请不要要求我们投入精力来支持 VMS,因为它与 GNU 项目无关。
GNU 文档
GNU 手册旨在解释基本概念,描述如何使用每个程序的所有功能,并提供命令使用的示例。GNU 文档以 Texinfo 源文件形式分发,通过菜单驱动的 Info 系统,既可以生成排版好的纸质副本,也可以在线呈现。这些随我们的软件提供的手册也有纸质版;请参阅封底内的“FSF 订购单”。
如何获取 GNU 软件
自由软件基金会的所有软件和出版物都以允许复制和重新分发的许可进行分发。获取 GNU 软件最简单的方法是从拥有它的人那里复制。
如果您可以访问互联网,则可以通过 ftp
匿名从主机 prep.ai.mit.edu
获取最新的软件(IP 地址为 18.71.0.38
)。获取文件 `/pub/gnu/GETTING.GNU.SOFTWARE' 以获取更多信息。
如果您无法通过这些方式之一获取软件,或者希望为我们的工作贡献一些资金并接收最新版本,我们会以复制和分发费用的形式分发磁带(请参阅“FSF 订购单”)。
还有一些第三方团体分发我们的软件:他们不与我们合作,但以其他形式拥有我们的软件。为了您的方便,我们在此列出其中的一些(另请参阅“微型计算机的自由软件”)。请注意,自由软件基金会与它们没有任何关联,并且不对其版本的时效性或响应速度负责。
这些 TCP/IP 互联网站点通过匿名 ftp
提供 GNU 软件(程序:ftp
,用户:anonymous
,密码:您的姓名,模式:binary
)
archive.eu.net, ftp.funet.fi, isy.liu.se, ftp.diku.dk, ugle.unit.no, ftp.cs.titech.ac.jp, labrea.stanford.edu, jaguar.utah.edu, cc.utah.edu (VMS GNU Emacs), wuarchive.wustl.edu, gatekeeper.dec.com, mango.rsmas.miami.edu (VMS G++), uxc.cso.uiuc.edu, and ftp.uu.net (under `/packages/gnu').
在 SPAN 网络上的人可以询问 rdss::corbet
。
在 JANET 上的人可以在 src.doc.ic.ac.uk:/gnu
下查找。
您可以通过 UUCP 获取一些 GNU 程序。俄亥俄州立大学定期在 USENET 的新闻组 comp.sources.d
上发布他们的 UUCP 指令。以下人员将通过电子邮件向您发送信息
hao!scicom!qetzal!upba!ugn!nepa!denny, uunet!hutch!barber, acornrc!bob, hqda-ai!merlin, [email protected], [email protected], [email protected], and [email protected]
对于没有互联网访问权限的人,请参阅标题为“自由软件支持”的部分,以获取有关通过 UUCP 接收电子邮件的信息。
“如果我看得更远,那是因为我站在巨人的肩膀上。”
-Isaac Newton
微型计算机的自由软件
我们不提供对微型计算机上 GNU 软件的支持,因为它与 GNU 项目无关。但是,我们愿意发布有关这样做的团体的相关信息。如果您知道任何此类工作,请将详细信息(包括邮政地址、存档站点和邮件列表)发送至 [email protected]
或封面上的邮政地址。
请不要向自由软件基金会询问有关此微型计算机软件的信息。FSF 不维护它,并且没有关于它的更多信息。
- 苹果计算机上没有的 GNU 软件 在诉讼中,苹果声称有权阻止人们编写任何用户界面与 Macintosh 的用户界面看起来哪怕是有点相似的程序。如果苹果在法庭上获胜,它将为自己创造一种新的公共权力,使其能够结束自由软件。只要苹果继续试图建立这种垄断,我们就不会为苹果机器提供任何支持。
-
波士顿计算机协会 BCS 有数千个微型计算机的共享软件和免费程序,包括一些 GNU 程序。请联系他们以了解您的机器有哪些可用的程序。
Boston Computer Society 1 Kendall Square, Bldg 1400 Cambridge, MA 02139 USA Phone: (617) 252-0600
-
Amiga 上的 GNU 软件 可以通过匿名
ftp
从以下地址获取许多 GNU 程序到 Amiga 的移植版本karazm.math.uh.edu:/pub/Amiga/Gnu (USA), titan.ksc.nasa.gov:/pub/amiga (USA), ftp.funet.fi:/pub/amiga/gnu (Europe)
有关 GCC 移植和相关项目的信息(或提供帮助的意向),请写信给 Leonard Norrgard,[email protected]
。有关 GNU Emacs 移植的信息,请写信给 Mark D. Henning,[email protected]
。更多信息位于 `/pub/gnu/MicrosPorts/Amiga' 中,可通过prep.ai.mit.edu
上的匿名ftp
获取。 -
Atari 上的 GNU 软件 您可以通过匿名
ftp
从atari.archive.umich.edu
获取许多 GNU 程序到 Atari TOS 和 Atari Minix 的移植版本,该站点由 Howard Chu 维护,[email protected]
。这些移植版本在两个 USENET 新闻组comp.sys.atari.st
和comp.sys.atari.st.tech
上进行讨论。要通过电子邮件获取前者,您可以询问[email protected]
。 -
GNUish MS-DOS 项目 请联系
[email protected]
,以获取有关将 GNU 程序移植到 MS-DOS 的信息以及相关的邮件列表。更多信息位于 `/pub/gnu/MicrosPorts/MSDOS' 中,可通过prep.ai.mit.edu
上的匿名ftp
获取。 - MS-DOS 上的 GNU 软件 Russ Nelson 提供了许多可在软盘上使用的 MS-DOS 版 GNU 软件移植版本。有关更多信息,请联系 Crynwr Software,地址:11 Grant St., Potsdam, NY 13676, USA。电话/传真号码为 (315) 268-1925。
-
DJGPP,用于 MS-DOS 的 GNU C/C++ 编译器 DJ Delorie 已将 GCC/G++ 编译器移植到 386 MS-DOS 平台。编译器及其生成的程序在 386 的 32 位模式下运行,并具有完整的虚拟内存支持。DJGPP 可通过
ftp
从barnacle.erc.clarkson.edu
的目录 `/pub/msdos/djgpp' 中获取。 -
Demacs,用于 MS-DOS 的 GNU Emacs Manabu Higashida 和 Hirano Satoshi 发布了
Demacs
,这是 GNU Emacs 为 386/486 MS-DOS 机器的移植版本。新版本为 1.2.0,是第一个 beta 后版本。Demacs 提供了几个特定于 DOS 的功能:支持二进制或文本文件转换,“8 位干净”显示模式,通过int86
Lisp 函数进行的 80x86 软件中断调用,机器特定功能(例如功能键支持、带驱动器名称的文件名补全、子进程 (suspend-emacs
,call-process
))以及一个无需 `ls.exe` 即可工作的增强型 Dired 模式。Demacs 可以通过匿名ftp
从以下位置获取:utsun.s.u-tokyo.ac.jp:/GNU/demacs (for U.S. users) ftp.sigmath.osaka-u.ac.jp:/pub/Msdos/Demacs wnoc-fuk.wide.ad.jp:/pub/msdos/Demacs
-
Freemacs,用于 MS-DOS 的可扩展编辑器 由 Russ Nelson,
[email protected]
编写。我编写了一个小巧但可编程的 MS-DOS 编辑器,它与 GNU Emacs 在某种程度上兼容。它被称为 Freemacs,并使用“MINT”(一种字符串处理语言)进行编程,但尝试模拟 GNU Emacs。对于一个 21K 的可执行文件来说,它做得非常出色——事实上,我建议 Freemacs 用户购买GNU Emacs 手册。当然,大部分模拟都是在 MINT 代码中完成的,总计 150K。您可以自由复制此软件。我只要求您将改进之处反馈给我,以便将其纳入软件包中供我们所有人使用。该发行版可从以下来源获得:从主机grape.ecs.clarkson.edu
或主机wsmr-simtel20.army.mil
(在目录 `PD:<MSDOS.FREEMACS>` 下)匿名ftp
文件 `/e/freemacs`;或CUHUG BBS: (315)268-6667
1200/2400 8N1,24 小时,文件区 25,下载 Freemacs 无需注册;或向 Russ Nelson,11 Grant St., Potsdam, NY 13676, USA,发送 15 美元(复制费),电话:(315) 268-6455,指定软盘格式:5.25"/1.2 MB
;5.25"/360K
;或3.50"/720K.
感谢 GNU
感谢以上在“GNU 快讯”、“GNU 项目状态报告”和“现在可用的 GNU 软件”中提到的所有人。
感谢 Walter Poxon 担任 GNU 项目志愿者程序员的协调员。
感谢 NCD Corporation 赠送 X 终端。感谢 Lucid, Inc. 借用 X 终端并支持 Joe Arceneaux。感谢 Interleaf, Inc. 和 Veronika Caslavsky,特别感谢 Paul English、Cindy Woolworth 和 Lisa Bergen 借用扫描仪。感谢 Jerry Peek 赠送 386 机器。
感谢 Chris Thyberg 和 卡内基梅隆大学 支持 Tom Lord。
感谢 Jim Mochel 在 MS-DOS 方面提供的帮助。
感谢 麻省理工学院的人工智能实验室和计算机科学实验室提供的各种宝贵帮助。
感谢 Chet Ramey 在改进 BASH 方面所做的持续工作。
再次感谢 开放软件基金会 的持续支持。
感谢 ASCII Corporation 和日本的 Village Center, Inc. 的捐赠。
感谢日本的匿名 GNU 用户赠送的礼物。
感谢 Devon McCullough 提供的技术援助,感谢 Carol Botteron 提供的校对和其他帮助,并感谢 Mieko 和 Nobuyuki Hikichi 在日本筹集资金和提高意识方面提供的宝贵帮助。
感谢 Cygnus Support 继续改进各种程序并以其他方式协助 GNU 项目。
感谢所有借出或捐赠机器的人,包括惠普公司(Hewlett-Packard),捐赠了六台 68030 工作站、两台 80486 计算机和四台 Spectrum 工作站;Thinking Machines Corp. 的 Brewster Kahle,捐赠了 Sun 4/110;K. Richard Pixley,捐赠了 AT&T Unix PC;AT&T Bell Labs 的 Doug Blewett,捐赠了两台 Convergent Miniframes;CMU 的 Mach 项目,捐赠了 Sun 3/60;英特尔公司(Intel Corp.),捐赠了他们的 386 机器;NeXT,捐赠了他们的工作站;麻省理工学院媒体实验室(MIT Media Laboratory),捐赠了惠普 68020 机器;索尼公司(SONY Corp.)和软件研究协会(Software Research Associates, Inc.),两者都位于东京,捐赠了三台索尼 News 工作站;IBM 公司,捐赠了一台 RS/6000 计算机;麻省理工学院计算机科学实验室(MIT Laboratory of Computer Science),捐赠了 DEC Microvax;开放软件基金会(Open Software Foundation),捐赠了 Compaq 386;Delta Microsystems,捐赠了一台 Exabyte 磁带驱动器;一位匿名捐赠者,捐赠了 5 台 IBM RT 计算机;Munin Technologies,捐赠了一台 VAX-11/750 和其他 DEC 设备;以及 Clement Moritz,捐赠了两台卷盘式磁带驱动器。
感谢所有贡献了端口和扩展的人,以及那些贡献了其他源代码、文档和优秀错误报告的人。感谢那些捐款和提供帮助的人。也感谢那些通过订购手册和发行磁带支持我们的人。
创建本公告是我们感谢所有对我们所做的事情表示兴趣的方式。
------- | | Free Software Foundation, Inc. | stamp | 675 Massachusetts Avenue | | Cambridge, MA 02139 | here | USA | | -------