GNU 公告,第 1 卷第 4 期,1988 年 2 月

目录


GNU 公告是自由软件基金会不定期出版的通讯,为您带来有关 GNU 项目的新闻。

请注意:我们已搬迁至新地址
自由软件基金会,   电话:(617) 876-3296
马萨诸塞大道 675 号,   电子邮件:[email protected]
美国马萨诸塞州剑桥市 02139

GNU 是谁

在过去的几个月中,GNU 团队的规模扩大了:Brian FoxOpus Goldstein 加入了 Jay Fenlason,成为基金会仅有的员工。最近,Brian 创建了一个独立的 texinfo 格式化器和浏览器,现在正在开发 sh,即 shell。Stacey 负责邮件室,分发磁带和手册,并通常做程序员不做的事情(例如,与“现实”世界对接)。Jay Fenlason 刚刚完成了分析器,现在正在开发各种实用程序。

Richard Stallman 继续执行无数任务,包括改进 C 编译器、GDB、GNU Emacs 等;他还编写了 termcap 手册和其他一些文档。Robert J. Chassell 出版我们的手册,并担任基金会的财务主管。Chris Hofstader 已成为我们的筹款人。(如果他向您要钱,请不要感到惊讶。)最后,Len Tower 继续处理电子管理事务(邮件列表、信息请求和系统管理)。

GNU 公告

版权 (C) 1988 自由软件基金会公司。

编辑:Stacey (Opus) Goldstein、Robert J. Chassell、Leonard Tower Jr.

撰稿人:Richard M. Stallman、Opus Goldstein、Michael Tiemann

插图:Etienne Suvasa、Jean-Marie Diaz

订单表格:Karl Berry、Kathryn Hargreaves

允许任何人以收到的形式制作或分发本文档的逐字副本,以任何媒介形式,前提是保留版权声明和许可声明,并且分发者授予接收者按照本通知允许的进一步分发权限。

什么是自由软件基金会?

作者:Richard M. Stallman

自由软件基金会致力于消除对软件的复制、重新分发、理解和修改的限制。

我们名称中的“自由”一词并非指价格;它指的是自由。首先,是复制程序并将其重新分发给邻居的自由,以便他们也可以像您一样使用它。其次,是更改程序的自由,以便您可以控制它而不是让它控制您;为此,必须向您提供源代码。

基金会通过开发自由的、兼容的专有软件替代品来赋予您这些自由。具体来说,我们正在组装一个完整的、集成的软件系统“GNU”,它与 Unix 向上兼容。当它发布时,每个人都将被允许复制它并将其分发给其他人;此外,它将随源代码一起分发,因此您可以通过阅读它来了解操作系统,将其移植到您自己的机器上,改进它,并与其他人交换更改。

已经有一些组织分发免费的 CPM 和 MSDOS 软件。自由软件基金会正在做一些不同的事情。

  1. 其他组织主要用于分发;他们分发任何碰巧可用的东西。我们希望提供一个完整的、集成的自由系统,该系统将消除对任何专有软件的需求。
  2. 一个结果是,我们现在只对适合 GNU 系统上下文的软件感兴趣。分发免费的 MSDOS 或 Macintosh 软件是一项有用的活动,但这并不是我们的目标。有关如何获取我们分发的软件的信息,请参阅本期稍后的文章“如何获取 GNU 软件”。
  3. 另一个结果是,我们将积极尝试改进和扩展我们分发的软件,速度与我们的人力允许的速度一样快。因此,我们将始终寻求金钱、计算机设备或时间、劳动力、文档和源代码的捐赠,以改进 GNU 系统。
  4. 事实上,我们的主要目的是这项软件开发工作;分发只是一个辅助手段,也可以带来一些收入。我们认为,用户将自己进行大部分分发,而不需要或不想要我们的帮助。

为什么选择类 Unix 系统?

有必要与一些广泛使用的系统兼容,以便为我们的系统提供一个经过培训的用户群,他们可以轻松地切换到该系统,并提供一个可以在其上运行的应用程序软件的基础。(最终,我们也将提供免费的专有应用程序软件的替代品,但这将在几年后。)

我们选择 Unix 是因为它是一个相当简洁的设计,已知是可移植的,但其受欢迎程度仍在上升。Unix 的缺点似乎是我们可以在不删除 Unix 中好的部分的情况下解决的问题。

为什么不模仿 MSDOS 或 CP/M?它们的使用范围更广,这是事实,但它们也是非常弱的系统,是为小型机器设计的。Unix 功能更强大,更有趣。当一个系统需要数年才能实现时,重要的是为将来可用的机器编写它;不要让它受限于当前使用最广泛但新系统完成时将被淘汰的机器的功能。

为什么不以一种新的、更先进的系统为目标,例如 Lisp 机器?主要是因为这仍然更像是一项研究工作;很有可能做出错误的选择,并且系统最终会变得不太好。此外,此类系统通常与特殊硬件捆绑在一起。与一家制造商的机器捆绑在一起将很难保持独立于该制造商并获得广泛的社区支持。

我们的第一笔大额捐款。

日本软件公司 Software Research Associates 向 GNU 项目捐赠了 10,000 美元。此外,他们计划向我们发送一台类似 Sun 的 SONY 工作站,并借给我们一名员工程序员 6 个月。

这代表了岸田幸一的影响,他组织了日本 Sigma 项目(以刺激日本的 Unix 能力),但后来得出结论,该项目已经误入歧途,需要一场“草根运动”。我们希望成为这场运动。

GNU 快讯,1988 年 2 月

作者:Richard M. Stallman

GNU C++

将面向对象编程引入 GNU

作者:Michael Tiemann

C++ 是最流行的面向对象编程语言之一,原因有两个:它几乎是 C 的超集,因此 C 用户社区可以轻松访问它,并且它得到了 AT&T 的支持,这使得渴望标准的公众相信,通过订阅 C++(而不是 SmallTalk、Objective C 或许多其他替代方案),他们正在遵循“标准”。已经用 C++ 编写了大约一百万行代码。

去年夏天,我面临着为新的计算机架构项目选择一种语言的任务。C++ 的影响如此之大,以至于我唯一能做的决定是“选择哪一个”。来自 AT&T 的 C++ 看起来是合乎逻辑的选择,但有两个问题:它是专有软件,并且它是一个将 C++ 代码转换为 C 代码的预处理器。这很慢,这意味着 C++ 的构造和概念在调试器中不可用。

我决定看看我们是否可以快速将 GNU C 修改为一个 C++ 编译器,使其具有人们期望的其他语言编译器的质量,例如易于重定位和源代码级调试支持。我能做到,而且我已经做到了。

GNU C++ 编译器旨在实现 C++ 编程语言,如 Stroustrup 的参考手册中所指定的那样。由于 GNU C 编译器的大部分是独立于语言的,因此仅用了六个月的时间就完成了通用的 beta 测试版本。仍然存在差距和 bug,但我正在努力完成它。GNU C 的所有优化同样适用于 C++。我还添加了受 C++ 启发的优化。其中一些,例如内联函数,在某些情况下也适用于 C;另一些,例如优化虚函数,则严格属于 C++

GNU C++ 不仅是第一个免费的 C++ 编译器;它是第一个以任何价格提供的 C++直接编译器,并且它是第一个与 C++ 源代码级调试器(GDB+,现有 GNU 调试器的修改版)接口的 C++ 实现。

因此,从技术角度来看,GNU C++ 非常出色,但在组织上更加出色,因为它是免费软件,其开发费用由微电子和计算机技术公司(MCC)支付,MCC 成立于 1982 年,为大约 20 家股东公司进行长期研究。

一月份,在我开始开发 GNU C++ 六个月后,赞助计算机架构项目的 MCC 股东小组第一次被告知我正在编写免费软件。很容易想象他们可能会像守财奴一样不赞成,甚至坚持停止工作。但事实恰恰相反:我们与自由软件基金会的合作对他们来说是个好消息。技术转让是股东在接受 MCC 研究时最难克服的障碍之一。

当 MCC 交付专门的软件时,除了编写它的人之外,没有任何专家,而且除了痛苦的学习之外,它几乎无法使用。当我们交付依赖他们无法访问的专有环境的软件时,该软件就成为其环境的昂贵人质。通过提供可以供任何人访问的软件,而无需担心会损害合作协议,它可以让股东自由地以他们以前无法使用的方式使用该技术。

我们的小组特别因其交付了他们想要的技术,并通过自由软件基金会提供该技术而受到祝贺。考虑到这是 MCC 赞助的第一个免费软件,以及我们收到的非常积极的反应,想到未来的可能性令人非常兴奋。

现在可用的 GNU 软件

GDB 之歌

感谢Joel Bion、Mark Baushke和Lynn Slater

有人问我们GDB是什么。我们向奥斯卡·汉默斯坦二世、理查德·罗杰斯和朱莉·安德鲁斯致歉,我们提供了以下回复

让我们从最开始说起,一个很好的起点,

当你学习唱歌时,它是Do、Re、Mi;
当你学习编程时,它是G、D、B。

(背景)G、D、B。

前三个字母恰好是G、D、B。

(背景)G、D、B。

(合唱)

G!
GNU!这是斯特曼的希望,
B,
我自己设置的一个断点。
D,
调试那些糟糕的代码,
Run,
还有很长的路要走。
Print,
看看你做了什么,
Set,
一个跟随打印的补丁。
Quit,
并重新编译你的代码 - - -
That will bring it back to G,
                                        D,
                                             B,
                                                   <link>

(从合唱开始)

为什么发明了版权?

作者:Richard M. Stallman

现在,版权正在成为公众试图忽视的公害,版权所有者试图通过称之为固有权利来证明这种强加于人的行为是合理的。正如他们所说,他们的固有权利是一种使公共利益变得无关紧要的传统。

这与版权的历史事实相反。

最高法院明确声明了版权的用途。斯图尔特法官在为法院撰写的文件中解释说

我们版权法的直接作用是为“作者”的创造性劳动确保合理的回报。但最终目标是通过这种激励,刺激艺术创造力,以造福公众。“美国唯一的利益和授予[版权]垄断的主要目标,”法院曾说过,“在于公众从作者的劳动中获得的一般利益。”

             ---Fox Film Corp. v. Doyal (286 US 123, 127)

因此,当版权妨碍公众使用程序时,这直接攻击了拥有版权的原因。

程序何时可用

或者,更确切地说,如何不查找程序何时可用...

作者:Richard M. Stallman

我曾大胆地对某些程序何时准备好分发做出了一些预测。现在,事后看来,我希望那不是一个错误。

创建一个给定的程序通常比预期的要花费更长的时间。如果发生这种情况,许多渴望使用它的您可能会想到打电话或写信问我该程序是否已经可用。或者,更糟糕的是,描述哪些部分已完成,或将移植到哪些机器,或移植到某些机器的容易程度,或将要实现哪些功能。

其中一些问题没有答案。当一个程序没有完成时,我们不知道在完成它时会添加哪些功能。我们不制定移植程序的计划,因为我们通常的政策是将移植留给您。这是一种招募更广泛参与的方式。

回应所有可能的查询会分散时间和精力,并减慢程序的完成速度,从而导致更多的查询。如果我们允许这种情况发生,那么用于编程的时间量可能会接近零。

只有您才能将GNU项目从这种荒谬的命运中拯救出来。请发挥您的意志力,耐心等待,并等待我们宣布程序可用。如果您希望看到更多的GNU软件更快地出现,那么最好的方法是自愿投入大量的时间。

当一个GNU软件发布或更新以进行通用在线分发时,快速找到它的最佳方法是安排接收info-gnu邮件列表,我们的公告将在该列表上发布。要接收info-gnu,请将请求发送至

ucbvax!prep.ai.mit.edu!info-gnu-request(usenet)

[email protected](互联网)

一些特定的程序,如Emacs、GCC、GDB、GNU Chess和G++都有自己的特定邮件列表,新版本将在这些列表上公布。要加入这些列表,只需在您的请求中提及您感兴趣的程序即可。

磁带分发通常比在线分发晚几周开始,这要么是因为我们对无法轻易获得升级的用户要求更高的可靠性标准,要么是因为我们陷入了绝望的混乱,无法将我们的行动协调起来。当磁带分发开始时,我们通常会再次发布电子公告。如果您愿意,您可以提前订购磁带,前提是您了解交付可能会因我们致力于提高可靠性而延迟数周。

当我们预计真正的可靠性需要数月才能实现时,我们可能会在较早的时间提供测试版磁带,就像我们对GNU C所做的那样。我们以通常的方式宣布这些磁带。

如果您无法接收Usenet或Internet邮件,并且您计划订购特定程序的磁带,您可以致电基金会以了解该程序是否可用于磁带分发。我们的电话号码是(617)876-3296。最好在EST上午致电,因为您更有可能联系到我们的办公室和发货人员Opus Goldstein,而不是我们的磁带机。通常,Opus无法单独联系每个人以告知何时准备好磁带,但如果很重要,也许可以做出安排。

如果您计划从其他人那里获取副本,请要求该人告知您何时准备好。这将分担负担。

如果您真的迫切需要预测,您可以尝试咨询您当地的算命先生。他们对未来的了解不比我们少。

GNU 愿望清单

如何获取 GNU 软件

自由软件基金会的所有软件和出版物均在允许复制和再分发的许可下分发。获取GNU软件最简单的方法是从拥有它的人那里获得。直接从他们那里复制即可。

如果您可以访问互联网,您可以从主机`prep.ai.mit.edu`获取最新的软件。有关更多信息,请阅读该主机上的文件`/u2/emacs/GETTING.GNU.SOFTWARE`。

如果您无法从朋友处或通过网络获得软件,自由软件基金会会收取复制和分发费来分发磁带。请参阅内封底的订购单。

如果您没有网络访问权限,并且您的计算机无法使用我们分发的两种介质中的任何一种,您必须从第三方组获取我们的软件——与我们没有合作但拥有我们其他形式软件的人员和组织。为了您的方便,下面列出了其他帮助传播GNU软件的组织。请注意,自由软件基金会与他们没有任何关联,也不对其版本的时效性或响应速度负责。

这些Internet站点提供了一些用于匿名FTP的GNU程序:louie.udel.edu, nic.nyser.net, bu-it.bu.edu, uunet.uu.net, spam.istc.sri.com, 和 simtel20.arpa(在PD:<Unix.GNU>下)。

有关如何使用uucp获取一些GNU程序的信息,可以通过以下电子邮件获取:[email protected], ihnp4!hutch!barber, hqda-ai!merlin。此外,您还可以询问:hao!scicom!qetzal!upba!ugn!nepa!denny或从以下地址:[email protected]

俄亥俄州立大学也使用uucp传输GNU程序。他们每月将说明发布到Usenet上的新闻组comp.sources.d。当前的详细信息来自Karl Kleinpaste [email protected][email protected]...!cbosgd!osu-cis!karl;或Bob Sutterfield(在上面的地址中用bob替换karl)。

有关为AT&T Unix PC(又名3B1或PC7300)获取GNU Emacs软盘的信息,可通过电子邮件从以下地址获取:[email protected]

感谢 GNU

感谢GNU Flashes中提到的所有人。

感谢麻省理工学院计算机科学实验室及其负责人Dertouzos教授。LCS为FSF提供了用于程序开发的Microvax贷款。

感谢麻省理工学院人工智能实验室提供的许多宝贵帮助。

感谢东京软件研究协会的Nobuyuki Hikichi将GCC移植到SONY NEWS机器。还要感谢他们捐赠的10,000美元。

感谢NeXT, Inc.对GNU汇编器和GNU调试器的改进。

感谢MCC的Micheal Tiemann扩展GCC和GDB以处理C++,并将GCC移植到32000,其中一些贡献来自查尔默斯计算机俱乐部的Jan Stein

感谢Ted Lemon编写了GCC的RTL读取器和打印器的部分。

为了移植GCC,感谢Charles LaBrec(集成解决方案68020系统);感谢Greg Satz(HPUX);感谢David Kashtan(VMS)。

感谢David S. Hayes增强了GNU diff。

感谢Dan LaLiberte率先编写了GNU Emacs Lisp程序员手册,并感谢Bill LewisTom Scott一直在努力将其整理在一起。

感谢Wolfgang Rupprecht为GNU Emacs提供了浮点支持。

感谢Torbjorn Granlund快速实现了splitwccmpcatcp

感谢所有贡献移植和扩展的人,以及所有贡献其他源代码、文档和有效错误报告的人。

感谢那些捐款和提供帮助的人。 还要感谢那些通过订购 Emacs 手册和发行磁带支持我们的人。

创建这份公告是为了感谢所有对我们正在做的事情表示兴趣的人。

                                                -------
                                               |       |
Free Software Foundation, Inc.                 | stamp |
675 Massachusetts Avenue                       |       |
Cambridge, MA  02139                           | here  |
                                               |       |
                                                -------