[image of a Brave GNU World]
《勇敢 GNU 世界》 - 〈第 47 期〉
Copyright © 2003 Georg C. F. Greve <greve@gnu.org>
[中文] 翻译:刘 昭宏 <chliu@gnu.org>
许可声明 如下

[CN | DE | EN | IT | KO | ZH]

Welcome to another issue of the Brave GNU World, which will be a little more technical this month. But even though some projects are probably of primary interest to developers, one can hope that also less-technical readers will be able to draw new perspectives and inspirations from them.

欢迎来到又一期的《勇敢 GNU 世界》, 这个月将会多一点点技术性。 但是即使一些工程可能主要对开发者来说才会感〔到〕兴趣, 还是可以期望比较没有技术背景的读者也〔有能力〕 由於它们而激起新的看法和灵感。 【译注:为求优译,中英文并陈将持续到二○○三年三月上旬; 在此期间,请不吝於提供对於本文翻译的意见。】

Twin(文字模式窗格环境)

The first topic this month is Twin, [5] a multi-window, multi-application text-based environment by Massimiliano Ghilardi. Consequently, Twin is an acronym for "Text WINdows" or (even better) "a textmode window environment."

本月份第一个要讨论的是 Twin , [5] 由 Massimiliano Ghilardi 所完成的一个多窗格(multi-window)、 多应用(multi-application) 的以文字作为基础的环境(text-based environment)。 因此 Twin 是「Text WINdows」的一个首字母缩写语, 或「(更好的〔扩展全名〕)textmode window environment (文字模式窗格环境)。」

The project aims at people who seek to have an environment with several windows without needing or wanting all the features of X11 - especially its significant resource hunger.

这个工程的目标在於那些寻求拥有一个具有多个窗格的环境, 同时不需要或缺少 X11 的所有特徵(features) -- 特别是它吞噬资源的惊人胃口 -- 的人。

Combining Twin with Links, a text-mode web browser, only requires about 5% of the resources compared to X11 with the graphical browser Konqueror. All applications that can be used on a console or in a terminal window can also be used under Twin.

将 Twin 与〔网路〕链接(Links)组合起来, 〔就成了〕一个文字模式的网页浏览器(text-mode web browser), 与在 X11 下的图形浏览器 Konqueror 相比, 只需要大约百分之五的资源。 同时, 可以在主控台(console)或终端机窗口中使用的所有应用〔程序〕, 也都可以在 Twin 下面使用。

In a time where graphic cards are trying to outrace each other with new features and where what was impossible to afford yesterday is available for pocket change the day after, this seems almost anachronistic. But as already explained for the RULE project in the last issue, [6] this is only true for a small part of mankind.

在〔图形〕显示卡百家争鸣推陈出新, 而且产品降价迅速的时代里, 这看起来似乎不合时代〔潮流〕。 但是如同在前一期 RULE 工程〔的介绍〕中已经作出的解释, [6] 这个〔所谓的不合潮流,〕 只有对一小部份的人〔而言〕是真实的。

In many places people will depend on using hardware for a long time that has already been declared outdated. This is often also true for schools in financially better-off countries.

在许多地方, 有许多人仍然需要长时间地使用过时的机器。 就算是在富裕及小康(financially better-off)的国家的学校里, 也经常是如此。

But there is also another group that profits from Twin, that is normally not the focus when thinking about new software: Blind and vision-impaired people. As they depend on using Braille-Terminals, they have little use for graphical user interfaces.

但是也有其他的群组可以从 Twin 获得利益, 当想到新软件时正常来说不是焦点的〔群组〕: 盲人与视觉障碍的同胞。 由於他们依赖於使用点字终端机(Braille-Terminals), 图形使用者介面对於他们没有多大用处。

With Twin, they can now also use a full environment with multiple windows and applications. In fact Massimiliano tells that he indeed gets a lot of feedback from this group of users, which was initially suprising to him.

经由 Twin 〔的使用〕, 他们现在也可以使用具有多窗格以及应用的完整环境。 事实上, Massimiliano 说他确实收到了来自这个群组的许多回应, 这在一开始对他〔而言〕是个惊喜。

Technically speaking, the project consists of a server, called "twin" like the whole project. This server accepts connections by the clients and creates or modifies windows according to their commands. Also the server dynamically manages the different displays and devices.

从技术上来讲, 这个工程含有一个如同整个工程〔所称的〕, 称为「twin」的服务器。 这个服务器接受由用户端(clients)〔所作出〕的连接(connections), 并且根据它们的指令建立或修改窗格。 这个服务器也动态地管理不同的显示(displays)和装置(devices)。

Twin currently handles the console with mouse support via gpm and every termcap or ncurses compatible terminal with mouse support by the "xterm" mouse protocol, if available. But it is also possible to use X11 by means of a simple X11 driver or the graphically enhanced gfx-driver for output as well as another Twin server on another machine.

Twin 目前处理具有滑鼠支持的主控台的方式是, 经由 gpm 和每一个与 termcap 或 ncurses 相容的终端机, 如果可以取得的话, 这些终端机并且通过“xterm”的滑鼠协定。 但是它也有可能用一个简单的 X11 驱动器(driver), 或者(为了输出的)图形增强的 gfx-驱动器, 和另一个在其它机器上的 Twin 服务器的方式使用 X11 。

The General Graphics Interface (GGI) is also supported, but since it still lacks keyboard support, this most probably makes it rather unsuitable for most applications.

〔它〕也支援一般图形介面(General Graphics Interface ; GGI), 但是由於它还缺乏键盘的支援, 这相当〔程度〕地使它不适合於大部份的应用。

Among the other components are the libraries libTw, which handles the communication with the server, as well as libTT, which as the toolkit library provides an abstraction from of the more graphically oriented server-side functions to the more window/object oriented functions clients prefer. The third library is libTutf, a Unicode library, which allows transferring text from and to unicode. This library will probably become obsolete by using standard libraries some time in the future when the final open issues have been addressed.

其他的组成(components)还有 libTw 程序库, 它操纵著与服务器〔之间〕的通信(communication), 以及 libTT ,它是作为提供「由较为图形导向的服务端功能, 到较为窗格/物件导向 -- 这是用户端较为喜欢(的表示法) -- 的功能」 的抽象化(abstraction)的工具组程序库。 第三个程序库是 libTutf , 一个允许在 unicode (万国码)和文字(text) 之间互相转换的 Unicode 程序库。 这个程序库或许在未来, 当最后的公开刊行〔的 Unicode〕已经被提出后, 会由於使用了标准程序库而被淘汰。

And finally there are the clients. Currently there are only a few of them, of which two are built into the server. Both the window manager, which can be configured through a "~/.twinrc" configuration file, and a simple terminal emulating the console have been integrated into the server for technical reasons.

最后有〔一些〕用户端。 目前来说它们只有几个, 而其中有两个是建造在服务器中。 窗格管理员(可以经由“twinrc”组态档来进行组态) 和用来模拟控制台的一个简单终端机这两者, 都己经由於技术的理由而被集成到服务器中了。

Other clients are an additional terminal emulator (twterm), a login manager similar to xdm/gdm/kdm (twdm), a system monitor (twsysmon), utilities to (de-)register displays with the server as well as other smaller clients that are more suited for testing than real work.

其它的用户端有: 一个额外的终端模拟器(twterm)、 一个类似於 xdm/gdm/kdm 的登录管理器(twdm)、 一个系统监视器(twsysmon)和 一些登录(和取消)显示到服务器以及其它较为适合测试, 而非实际工作的较小用户端的实用性程序(utilities)。

The project originates as a DOS program in 1993, but multitasking problems brought it to a halt pretty soon. It only took up speed again when Massimiliano switched to GNU/Linux in 1999 and ported the project to his new platform.

这个工程是在一九九三年作为一个 DOS 程序而开始, 但是多工(multitasking)问题使它暂停了好一段时间。 当 Massimiliano 在一九九九年将它切换到 GNU/Linux 后, 它才又开始加速了进行, 并将这工程改写并实现(ported)到他的新平台上。

The project has been written entirely in C, one of the reasons for its small memory footprint - a Twin server usually requires less memory than the Bash shell. And of course Twin is Free Software - its licenses are the GNU General Public License (GPL) for server and clients and the GNU Lesser General Public License (LGPL) for the libraries.

这个工程完全是以 C 〔语言〕编写而成, 其中一个理由是它的小记忆体需求量(memory footprint) - 一个 Twin 服务器通常比 Bash 外壳(shell)需要更少的记忆体。 Twin 当然是自由软件 - 它的许可证在服务器上是 GNU General Public License (GPL) , 而在用户端(为了程序库〔的使用〕)则是 GNU Lesser General Public License (LGPL) 。

Further development is pursued by Massimiliano in his (rather spare) free time, and he still has a lot of ideas. First he'd like to complete the toolkit library and its documentation, then more editors, task bars, file managers, web browsers, email programs and TTY based programs should be expanded to use it.

更进一步的开发是由 Massimiliano 在他的(变得更少的) 空闲时间中所进行, 并且他还有一大堆想法。 首先他想要完成工具箱程序库(toolkit library)及其文档, 这样更多的编辑器、任务列(task bars)、档案管理器、网页浏览器、 电子邮件程序和以 TTY 作为基础的程序可以被扩展来使用它。

For these tasks Massimiliano explicitly asked to relay his need for help, because there is still so much to do. He for instance seeks volunteers to document the communication library, creating a libTW screensaver, completing twdialog, the Twin equivalent of Dialog or work on twclip, a utility to copy and paste the contents of a clipboard.

对於这些任务, Massimiliano 明确地请求「传达他的需要」的帮助, 因为还有许多要做的事情。 举例来说他寻找从事下列工作的自愿者: 通信程序库的文档化、 建立一个 libTW 萤幕保护程序、 完成 twdialog (Twin 中的对话框〔Dialog〕同等物) 或在 twclip (一个可以复制和贴上 clipboard 中的内容的实用性程序) 上的工作。

Those who are interested in participating should take a look at the mailing list, users will for instance find Twin already present in the stable branch of the Debian distribution.

有兴趣参与的人应该要看一下邮寄清单, 使用者将会, 举例来说, 发现 Twin 已经出现在 Debian 散布件的稳定版本(stable branch) 中了。

C++ 包(C++ Packages)

The column continues with some projects that should make the life of C++ developers more easy and have all been released by Christian Holm around December 1st 2002. [7]

这个专栏接下来将以一些应该可以让 C++ 开发员〔的日子〕 好过一点的工程继续, 它们大约在二○○二年都己经由 Christian Holm 发布了。 [7]

When people shall communicate with computers, they need to agree upon a common language to be used in communication. Especially when this communication does not happen in real time or is very complex. That is for instance the case with programming languages or configuration files.

当人们以电脑进行通信时, 他们需要同意在通信中使用一个共同的语言。 特别是当这个通信并没有即时地发生或是非常复杂的时候。 那正是如编程语言或组态档案所显示的情形。

The basic problem is that functions for syntax checking and reading or evaluating of such languages can easily become very complex. And when changes of definition or grammar become necessary, this often results in a very time consuming search for bugs.

最基本的问题是, 给语法检查用的函数以及这样子的语言的读入或求算 (reading or evaluating)可以很容易地就变得非常复杂。 而且当定义或语法的改变成为必要时, 通常会导致非常耗时的臭虫搜寻。

Additionally, creating such functions tends to be a tedious job without major intellectual feats, which programmers seek to avoid.

此外, 建立这样的函数倾向於变成一种冗长的工作, 而没有主要的智力挑战〔的成就感〕, 而这是程序员所寻求要避免的。

For this reason, tools have been created that can automate the translation of definitions of grammar into functions that can read that grammer. Of course this means that the definition of grammar itself needs to be machine readable. The probably most common form of such a definition is the "Lookahead Left to Right Parsing" (LALR) context-free grammar.

一些工具已经由於这个原因被建立出, 并且也可以用来自动地转译语法的定义到「可以读入那个语法的函数」。 当然这表明了语法的定义本身也需要是机器可读的。 这样一个定义的最为共同的形式可能是“前看由左至右剖析” (Lookahead Left to Right Parsing ; LALR) 的环境无关(context-free)语法。

One of the best and most-popular LALR(1) parser is Bison, [8] the Yacc equivalent of the GNU Project. Yacc itself stands for "Yet Another Compiler-Compiler" and Bison has deliberately been kept compatible to Yacc in order to ease transition from Yacc to Bison.

其中一个最好并且最受欢迎的 LALR(1) 剖析器是 Bison , [8] 它是 GNU 工程的 Yacc 同等物。 Yacc 它本身指的是“又一个用来制作编译器的编译器” (Yet Another Compiler-Compiler) 并且 Bison 刻意地保持与 Yacc 的相容以简化从 Yacc 到 Bison 的转移。

An application often working hand in hand with Bison is Flex, [9] which can be used to generate routines that allow dissecting a source input into single expressions, because it automates generation of source code for pattern matching. Flex is also the GNU-counterpart to another program - in this case "Lex"

一个通常与 Bison 一同工作的应用程序是 Flex , [9] 它可以被用来建立允许「解析一个来源输入到单一表示式」的规则, 因为它自动化了源码的样式比对的建立。 Flex 也是另一个程序的 GNU 对等物 - 在这里〔这个程序〕则是“Lex”。

Hopefully this short introduction was also understandable for not-so-technical readers; if you wish to learn more about this, the web provides some good entry points. [10]

希望这个简短的介绍, 对於并不那么具有技术背景的读者而言也是可以理解的; 如果你想要学习到更多关於这个〔的相关知识〕, 这个网站提供了一些很好的进入点。 [10]

Yacc/Lex--”(剖析器/扫描器的 C++ 标头档)

Both Bison [8] and Flex [9] usually create C source code. Is this code used in C++, they tend to clutter the global namespace; also there are no C++ interfaces available.

Bison [8] 和 Flex [9] 这两者通常建立 C 〔语言〕源码。 如果这代码在 C++ 中使用, 它们有倾向将全域名称空间(global namespace)搞得一团乱〔的状况〕; 同时也没有 C++ 介面可以取得。

For this reason Christian Holm Christiansen has written a group of header files called Yacc/Lexx--, which allow encapsulating the C output of Bison and Flex in C++ classes. In this, the changes to the parser/scanner specifications were deliberately kept at a minimum to allow for greatest possible flexibility.

由於这个原因, Christian Holm Christiansen 已经编写了一群称为 Yacc/Lexx-- 的标头档(header files), 它们允许将 Bison 与 Flex 的 C 语言输入封装到 C++ 类别(classes)中。 在此, 对「剖析器/扫瞄器」规格书(specifications)的改变, 都被慎重地维持在最少〔的状况〕, 以允许最大的可能变通性。

In fact Flex itself provides capabilities to generate C++ sourcecode, but the output was too inflexible for Christians liking and also it didn't fit well with the parser classes generated by Bison. Therefore he wanted a common capsulation for both. In fact it was this asymmetry between the C output of Bison and the C++ output of Flex that made him start this project.

事实上, Flex 它本身提供了建立 C++ 源码的能力, 但是这输出太过於无法变通, 所以并不合 Christians 的意, 而且它也没有与 Bison 所建立的剖析器类别很好地搭配。 因此他想要一个可以为两者所使用的共同封装。 事实上, 正是由於 Bison 的 C 输出和 Flex 的 C++ 输出之间的不对称, 使得他开始了这个工程。

Compared to projects like bison++, which has the advantage of direct C++ output, Christian sees the advantages of his method in being independent from the internals of the employed Yacc/Lex implementation. Therefore it is more stable with respect to changes in the Yacc/Lex projects and not immediately affected by their internal modifications.

与类似 bison++ 的工程相比, 它有著一个直接的 C++ 输出的优点, Christian 看到了他的方法, 因为独立於部署的 Yacc/Lex 实现的内部(internals), 因此就「在 Yacc/Lex 工程内的改变」而言它较为稳定, 并且不会立即地由於它们内部〔所作出〕修改而受影响。

But there are also some Yacc/Lex clones displaying odd behaviour and are not POSIX compliant; these can be problematic to use, which is a special problem of this project.

但是也有一些 Yacc/Lex 仿制品表现出奇怪的行为, 并且不合乎(compliant) POSIX 〔标准〕; 这些可能会对使用造成问题, 这是这个工程的一个特殊问题。

Therefore Christian plans for the close future to test more Yacc/Lex implementations and would be happy about help in this area. Also help testing it on other platforms and with different compilers would be very welcome.

因此 Christian 打算在最近的将来测试更多的 Yacc/Lex 实现品, 并且他会很高兴在这个领域上获得帮忙。 另外在其它的平台和以不同的编译器测试它也是非常欢迎的。

Readline--”(提供程序具有命令列功能的 C++ 程序库)

The GNU Readline Library [11] provides functions that allow integrating a versatile commandline into other projects.

GNU Readline 程序库 [11] 提供了允许「集成一个用途广泛的命令列到其它工程」的一些函数。

Among the features of GNU Readline are a vi and EMACS mode, it can save old input, recreate it and allow editing it again or also complete the beginnings of previously entered commands similar to the csh shell.

GNU Readline 的特色中有一个 vi 与 EMACS 模式, 它可以储存旧的输入、 重新建立它并且允许再次编辑它, 或者也〔可以〕完成类似於 csh 外壳的先前输入, 〔而尚未完成的〕指令的起头。

The Readline-- project by Christian Holm Christensen allows C++ programmers to access the GNU Readline Library by means of C++ classes. Not surprisingly, C++ developers seeking to include a commandline interface in their applications are the main target group of this project.

由 Christian Holm Christensen 所完成的 Readline-- 工程, 允许 C++ 程序员〔直接〕用 C++ 类别的方式取用 GNU Readline 程序库。 没有让人意外的是, 寻求将一个命令列介面包括到他们的应用程序中的 C++ 开发员, 是这个工程的主要目标群组。

The program originated when Christian himself needed a commandline interface to test his C++ parser, a task during which he also created the previous project.

这个程序是在当 Christian 他自己需要一个命令列介面, 以测试他的 C++ 剖析器的时候开始, 那是一个在他也建立了前面的工程期间内的任务。

The largest problem is currently that the library is not yet , so it should be handled with care in complex applications. Fixing this as well as improving the interface are Christians next plans for the project, because even though the interface is complete, he considers it not intuitive in some places.

目前最大的问题是, 这个程序库还不是线程安全(thread safe)的, 所以在复杂的应用程序中它应该要被小心地处理。 修正这个〔问题〕以及改进介面是 Christians 这个工程的下一步, 因为即使介面被完成了, 他〔还是〕认为它在某些地方不够直观。

Option--”(使用命令列选项)

With Option--, Christian provides a C++ parser for commandline options; a library that allows C++ programs to find and evaluate commandline options passed at program start.

经由 Option-- , Christian 提供了一个为命令列选项(options)〔所用的〕 C++ 剖析器; 〔那是〕一个允许 C++ 程序找出并求算(find and evaluate) 在程序一开始传递〔进去〕的命令列选项。

The major advantage of the project compared with similar projects is that possible options are represented by template-classes, which makes the project very flexible. Option-- only works for non-positional arguments, though. So if the user needs to be forced by syntax to only use a certain option at a certain position in the commandline, Option-- is not a good choice.

这个工程与相似的工程相比的主要优点就是, 可能的选项是由样板类别(template-classes)所表示, 这使得这个工程相当具有变通性。 然而, Option-- 只作用在非位置引数(non-positional arguments)〔的实用〕上。 所以如果使用者的需要受到了语法〔规则〕的强迫, 而只能够使用在命令列中特定位置的特定选项, 那么 Option-- 并不是个好选择。

The first lines of this project were written by Christian, when the ROOT project needed commandline-options, even though that project later used another solution.

这工程的前面几行是由 Christian 所编写的, 当 ROOT 工程需要命令列选项(commandline-options)时, 虽然那个工程在稍后使用了另一个解决方案。

But when he discovered to need something of the kind himself, Christian completed the project and by now it has gotten so stable that there are little plans besides further tests.

但是当他发现到他自己有那类型的需求时, Christian 完成这个工程, 并且现在它已经变得如此地稳定, 除了更进一步的测试之外只有很少的〔修改〕打算。

Thread--”(在 C++ 程序中使用线程)

The last project by Christian Holm Christensen in this issue is Thread--, a project to use Threads in C++ programs.

在本期中由 Christian Holm Christensen 所完成的最后一个工程是 Thread-- , 那是一个在 C++ 程序中使用线程(Threads)的工程。

Since the concept of "Threads" is most likely not known to all readers, a short explanation is probably in order.

由於“线程”(Threads)的概念很有可能并没有被所有的读者了解, 〔因此,有〕一个简短的解释可能会比较好。

Essentially, all computers work linear. If they get a task, they will complete it step by step in the given order with all their capacity. In most cases, this would only allow running one program at a time, however.

本质上, 所有的电脑都是线性地进行工作。 如果它们有了一项任务, 它们会全力地以给定的次序将它一步一步地完成。 然而, 在大部份的情况这将只会容许在同一个时间执行一个程序。

In order to allow working on several programs simultaneously - the so-called "Multi-Tasking" - the executing kernel of the computer, the processor, jumps from task to task. Each of these tasks in turn is again worked on in a strictly linear fashion, but the method allows splitting the computers capacity between different programs.

为了允许同时地处理几个程序 - 也就是所谓的“多工”(Multi-Tasking) - 电脑的执行内核(处理器)〔必须〕在任务与任务间跳跃。 每一个这些的任务轮流著以一个严格的线性方式再一次地〔进行〕处理, 但是这个方法允许在不同的程序间分担电脑的能力。

As the programs and their tasks become more complex, working only strictly linear within a program is increasingly insatisfactory. A solution to this problem are threads, which allow splitting programs into different "task threads" that again can be worked on linearily to solve different subunits of the complex problem.

随著程序以及它们的任务变得更加复杂, 在一个程序中只以严格的线性方式进行工作也变得愈来愈不合适。 针对这个问题的一个解决方案就是线程, 它允许将程序拆解成不同的“任务线程”, 因而再一次, 〔电脑〕可以线性地解决复杂问题的不同次要单元(subunits)。

The interaction and communication between these different threads of course also needs to be coordinated and controlled, a functionality which can be accessed by means of Thread-- from C++.

介於这些不同线程之间的互动和通信当然也需要被协调和控制, 那是一个可以经由 C++ 的 Thread-- 而被取用的功能(functionality)。

Different from similar projects like Boost::Thread, ZThread or Common C++, Thread-- does not distribute preprocessor macros throughout the source code. Implementation specific parts are instead put into Traits. This makes the library quite small and extensible.

与像是 Boost::Thread 、 ZThread 或 Common C++ 等类似工程不同的是: Thread-- 并没有散布前置处理器(preprocessor)宏码(macros), 而使其遍及源码〔之中〕。 取而代之的是实现品的特定部份被放到 Traits 中。 这使得这个程序库很小并且可以扩充。

Christian originally began working on Thread-- in order to test the thread-safety of Readline-- and according to him it works fine on GNU/Linux, but GCC versions of 2.95.x and below are problematic, so it is advisable to check for the GCC version.

Christian 最初开始致力於 Thread-- 上是为了测试 Readline-- 的线程安全, 并且根据他的说法, 它在 GNU/Linux 运作地还好, 但是 GCC 2.95.x 或以下的版本还有点问题, 因此建议检查一下 GCC 的版本。

The other problems are semaphores under Solaris and Threads under Win32; he could not test it on other platforms. Help with these problems as well as information about other platforms is very welcome.

其它的问题有在 Solaris 下的信号器(semaphores) 还有在 Win32 下的线程; 他没有办法在其它平台上测试它。 对於这些问题的帮忙以及关於其它平台的信息是非常欢迎的。

So far enough of the projects written by Christian. Regular readers of the Brave GNU World will have noticed that two essential pieces of information are still missing. These will now be provided.

到目前为止, 由 Christian 所编写的工程已经足够了。 《勇敢 GNU 世界》的老读者将已经注意到信息中的两个必要片断还付诸阙如。 现在〔我们〕将要来提供这些。

First: The programming language used for all projects is C++ with the GNU Autotools and second: All projects are available as Free Software under the GNU Lesser General Public License (LGPL) available. All of them can be found on the C++ page of Christian. [7]

首先:所有工程所使用的编程语言是搭配 GNU Autotools 的 C++ ; 其次:所有的工程都可以在 GNU Lesser General Public License (LGPL) 下作为自由软件取得。 它们全部都可以在 Christian 的 C++ 页面中找到。 [7]

第六届欧洲委员会架构网领(6th EC Framework Progamme)

As mentioned in issue 40 [12] of the Brave GNU World, the FSF Europe [13] wrote a recommendation [14] to the European Commission on April 30th, 2002. The recommendation, which was supported by over 50 parties throughout Europe, first explained the advantages of Free Software for the region Europe and European countries in order to then suggest giving Free Software priority status.

如同在《勇敢 GNU 世界》第 40 期中所提到的, [12] FSF 欧洲 [13] 在二○○二年四月三十日撰写了一份推荐书 [14] 给欧洲委员会。 这份由遍及欧洲的五十个团体所支持的推荐书, 首先解释了自由软件在欧洲区域以及欧洲国家的优点, 以为了接著提议给予自由软件优先权状态(priority status)。

The background for this recommendation was the 6th Framework Programme [15] for European funding of Research and Development, which was decided upon last year. These programs always run for four years and contain most of the European funds for the scientific area. In this, one of its main goals is to further the European economy and society through funding of research and development.

这个推荐书的背景是, 在去年被决定的提供欧洲研发资金的第六届架构网领 [15] 。 这些〔政策〕网领总是以四年〔为一期〕来实行, 并且包含了大部份科学领域的欧洲资金提供。 在此, 其中一个它的主要目标在於经由提供研发资金, 以更进一步地促进欧洲的经济和社会〔发展〕。

Although the 5th Framework Programme already contained some first initiatives for Free Software, the 6th Framework Programme originally did not plan to further Free Software in any way. Therefore the FSF Europe issued the aforementioned recommendation.

虽然第五届的架构网领已经包含了一些自由软件的初步提议, 第六届架构网领在最初却也没有以任何方式促进自由软件的打算。 因此 FSF 欧洲提出了上述的推荐书。

On December 17th 2002 the 6th Framework Programme was finalized and it seems that the recommendation to make Free Software the preferred form for project proposals has been heard. The "Information Society Technologies" (IST) Work Programme, in which the funding of computer science and information technology is handled, now contains a statement that can give Free Software projects in the evaluation process.

在第六届架构网领於二○○二年十二月十七日结束后, 看起来这份推荐书使得自由软件在已经听取的工程提出中成了较为优先的形式。 “信息社会技术”(Information Society Technologies ; IST)工作网领, 也就是处理提供电脑科学和信息技术资金的〔政策〕网领, 现在包含了一项陈述, 给予了自由软件工程得以处在评估过程(evaluation process) 中〔的机会〕。

This means effectively that the whole budget of the IST Work Programme, containing 1,725 billion Euro, has been opened for Free Software. This is most likely the largest sum that was ever available for Free Software funding; although of course not exclusively in this case.

这有效地表明, IST 工作网领的全部预算(包含十亿七千二百五十万欧元) 都已经对自由软件开放了。 这相当有可能是可以为自由软件提供资金的曾经出现的最大总数; 虽然(当然是这样)在这个例子中并不是〔由自由软件〕独占的。

In order to now support companies, universities and research centers to launch projects for and with Free Software within this framework, the FSF Europe sent out a request [16] on December 18th 2002, in which it asks all interested parties to get in touch.

现在为了要在这个网领中支持公司、大学和研究中心, 使其为了或以自由软件开始〔新的〕工程, FSF 欧洲在二○○二年十二月十八日送出了一个请求 [16] , 要求所有有兴趣的团体〔与其〕取得联系。

The goal is to possibly create a Free Software project for each of the important areas addressed in the 6th Framework Programme, in order to avoid seeing these funds spent on proprietary software. Because areas like eDemocracy, eHealth or eSecurity could have massive effects on our future and must be addressed with Free Software.

目标是在可能的范围内, 在第六届架构网领中所提及的每一个重要领域都建立一个自由软件工程, 以避免看到这些资金被花在私权的软件上。 因为像是 eDemocracy (电子民主)、 eHealth (电子保健)或 eSecurity (电子安全)等领域, 对於我们的未来可以发挥重大的影响, 因此必须以自由软件〔的形式〕来加以表达。

It takes a lot of time and effort to set up these projects, get them organized and coordinated with the administration in Brussels, but the FSF Europe will do as much as it can to see Free Software projects use the possibilities that it created.

建立起这些工程、 使它们具有组织并且与在布鲁塞尔(Brussels) 的管理部门进行协调将会花去许多时间和努力, 但 FSF 欧洲将会竭尽所能地, 以看到自由软件工程利用它所创造出来的可能性。

《TUX&GNU@school》(教育领域专栏)

Towards the end of this issue it is my pleasure to point readers to another remarkable column. Mario Fux, himself a long-time reader of the Brave GNU World, began last year to write a similar column dedicated specifically to Free Software in school.

接近了这一期的尾声, 我很高兴地向读者指出另一个出色的专栏。 Mario Fux ,他本身是个《勇敢 GNU 世界》的长期读者, 在去年开始了撰写一个特别地致力於在学校中的自由软件的类似专栏。

By now he has finished 5 issues of the "TUX&GNU@school" column in German and English, which has found its new home on the FSF Europe home page. [17] I wish Mario, as well as Christian Selig and Kristian Rink, who support him as a kind of editorial board, all the best for the future and encourage especially - though not only - readers from the educational field to take a look at it.

目前为止, 他已经以德文和英文完成了 5 期的“TUX&GNU@school”专栏, 并且已经找到了它在 FSF 欧洲首页中的新家。 [17] 我希望 Mario 以及作为一种编辑群的 Christian Selig 和 Kristian Rink 未来的一切都很好, 同时也特别地鼓励来自教育界(以及其它领域)的读者可以看一看它。

下月待续

Enough Brave GNU World for this month, as usual I'd like to ask for questions, ideas and comments by mail. [1]

本月份的《勇敢 GNU 世界》〔已经〕足够了, 和平常一样, 我想请求〔大家〕以邮件寄来问题、想法和意见。 [1] 【译注:请以英文或德文撰写邮件,其他的语言无法被了解; 或以中文送到本文翻译。】

This address is also where project proposals should be sent. And I'd like to encourage all authors to take the time. It may seem suspiciously like writing documentation, but it is a good way to inform other people about your project.

这个位址也是工程提出(project proposals)应该要送到的地方。 我也想要鼓励所有〔工程〕的作者花点时间〔提出你的工程〕。 看起来可能会十分类似於撰写文档(documentation), 但〔却〕是个通知其他人有关於你的工程的好方法。

And also please do not worry about your project not being important enough. In fact I still have to encounter a project that would not be interesting enough to at least write a few interesting lines about it.

同时也请不必担心你的工程还不够重要。 事实上我还没有遇过一个无趣到让我写不出几行有趣文字的工程。

So much for now, until next month.

就到此为止, 下个月见。

信息
[1] 请将想法、意见和问题送到 《勇敢 GNU 世界》 <column@brave-gnu-world.org>
[2] GNU 工程的首页 http://www.gnu.org/home.cn.html
[3] 乔格的《勇敢 GNU 世界》首页 http://brave-gnu-world.org
[4] 「我们经营 GNU」原创 http://www.gnu.org/brave-gnu-world/rungnu/rungnu.cn.html
[5] Twin 首页 http://linuz.sns.it/~max/twin/
[6] 《勇敢 GNU 世界》 - 〈第 46 期〉 http://brave-gnu-world.org/issue-46.cn.html
[7] C++ 包 http://cholm.home.cern.ch/cholm/misc
[8] Bison 首页 http://www.gnu.org/software/bison/
[9] Flex 首页 http://www.gnu.org/software/flex/
[10] Lex 与 Yacc 页面 http://dinosaur.compilertools.net
[11] GNU Readline 程序库 http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
[12] 《勇敢 GNU 世界》 - 〈第 40 期〉 http://brave-gnu-world.org/issue-40.en.html
[13] 欧洲自由软件基金会 http://fsfeurope.org
[14] 由 FSF 欧洲提出的给第六届架构网领的推荐书 http://fsfeurope.org/documents/fp6/recommendation.html
[15] 第六届架构网领 http://www.cordis.lu/fp6/
[16] 请求参与 FSF 欧洲 http://mailman.fsfeurope.org/pipermail/press-release/2002q4/000047.html
[17] 《TUX&GNU@school》专栏 http://fsfeurope.org/education/tgs/

[ 上一期 | 《勇敢 GNU 世界》首页 ]

返回 GNU 首页

请将有关 自由软件基金会 与 GNU 的 查询 与 问题 送到 gnu@gnu.org
您也可以使用 其他方法联系 自由软件基金会。

请将有关乔格的《勇敢 GNU 世界》专栏的意见(以英文或德文)送到 column@gnu.org
有关这些网页的意见送到 webmasters@www.gnu.org
其他问题则送到 gnu@gnu.org

Copyright (C) 2003 Georg C. F. Greve
[中文] 翻译:刘 昭宏

Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.

【允许在不变更文档内容的前提下刊登本文副本在任何形式的媒体中, 但需保留版权宣告和此声明。】

Last modified: Wed Jan 22 18:38:33 CET 2003