[image of a Brave GNU World]
Brave GNU World - Issue #22
Copyright © 2000 Georg C. F. Greve <greve@gnu.org>
Permission statement below.

[DE | EN | FR | JA | ES | KO]

Welcome to the 22nd issue of Georg's Brave GNU World. The 2 year anniversary is slowly coming up and as a kind of appetizer I got two special features that kind of explain what I have been working on the last year. But first let me come to the technical part.


CGIBurn [5] by Scott Gifford is a web-based front-end for writing CDs. It is meant to allow several users on one or several machines to share a single CD writer.

Since CD writing is a process rather susceptible to timing problems, the CD writer is very often put into a dedicated machine or the file server. Most front-ends are not designed to be used by several users. Additionally they very often create problems when the display is being exported to some other machine over the network. In the case of a flaky network the writing process is frequently inadequately insulated against nework outages. Also problems with the desktop machine usually lead to the production of wasted CDs. Fortunately, web-based front-ends do not have these problems.

Additionally CGIBurn offers advantages in terms of usability. Given a computer used by several people, one user can trigger writing a CD and then free up the workspace for someone else. Also, in heterogenous networks this method offers several advantages. If the CD writer is housed in the machine that also hosts the SAMBA server, then users can drop files into certain directories and use their favorite web browser to start writing them to CD.

According to Scott Gifford on of the big advantages is its modular concept. The first public release already supports copying from CD to CD, between CDs and directories as well as ISO images. Since the configuration files define certain actions and the modules used for them, it is rather easy to implement new functionality. The look & feel of CGIBurn can also be catered to personal taste by HTML templates.

As the previous paragraph already suggested, CGIBurn ist still rather young - the current version is the first one publicly available. Not surprisingly the list of planned features is rather long. The next step will be copying music CDs from and to MP3 and WAV files. Also on the list is an option to delete CDRWs, directories or ISO images. If there is enough interest, Scott considers rewriting the template system to become more flexible and versatile as well as adding support for locking directories. And finally he can imagine writing front-ends for the command line, ASCII interfaces and even a LCD display with buttons.

The biggest weakness at this point is the lack of audio support although he is certain to have that included within a few weeks. But despite the early version he already considers it to be quite stable. Interested developers and HTML designers should feel encouraged to get in touch with him. Help is very much welcome and Scott has even documented the concepts and backgrounds rather well.

Personally I think one thing can be improved - the installation. So "standard users" should feel cautioned at this point. Nevertheless CGIBurn has a great potential and is definitely worth taking a look at.

By the way: this project does have quite an interesting history. Scotts and his fiance went to buy a CD writer that of course should go into his GNU/Linux machine. But as his fiance only has limited knowledge of GNU/Linux, he would have considered this to be quite unfriendly. So he looked for a solution, didn't find anything that satisfied him and began writing CGIBurn. When he realized that this might also be of interest to other people he began to clean up the code a bit and released it under the GNU General Public License.


Multiple [6] is a small command line tool by Oliver Bandel under the GNU General Public License. Its function is to find identical files and get rid of the duplicates.

Since the second law of thermodynamics does apply to home directories as those tend to collect quite a bit of saved news & mail as well as other files, duplicates are a relatively common thing. Especially finding duplicates in saved news and mail has been the reason for Oliver to write this program. In order to do this better it offers the option to ignore everything before the first empty line in order to avoid problems with different time/date stamps in the saved mail.

Multiple can directly get rid of all duplicates, printing the name of the remaining files to stdout as deleting all files can hardly be what the user wants.

Unlike diff it can compare an unlimited amount of files and it is also not based upon md5 checksums - which makes it relatively fast and efficient. Especially people with a certain tendency of accumulating things might find this a useful tool.

According to Oliver, the big weakness of multiple is that if taking the files to compare from find, giving find the option to follow symbolic links might result in deleting all files. This problem arises whenever files are given to the program multiple times. To avoid this, he considers writing his own routine to search directory structures. At the moment he feels that writing proper documentation and a manpage would be more important.

diff2html & dv

Diff2html [7] & dv [8] are two interlinked programs by Daniel E. Singer from what you could call the area of "something2html" programs.

As the name already indicates, diff2html is a program to present the output of the diff program in a HTML document. The output is color coded and lists both versions next to each other in a pretty nice way. The colors can be defined by environment variables.

Dv stands for "diff viewer" and is essentially a wrapper for diff2html that starts a browser to show its output.

Being BASH shell-scripts, both programs are very portable which makes them useable on any Unix machine. Unfortunately the author did not specify a license for them since he did not consider this to be necessary as he has no wish to control them in any way. This is a disadvantage but the programs might be helpful for some users.


The GNU "GRand Unified Bootloader" (GRUB) [9], being an official part of the GNU Project is of course published under the terms of the GNU General Public License.

GNU GRUB is quite probably the most powerful bootloader for i386 based machines. It has its origin in 1995 when Erich Boleyn began working on it. In 1999 Gordon Matzigkeit has become the official maintainer and a little later OKUJI Yoshinori, the former Japanese translator of the Brave GNU World, has become the most active developer. But of course these aren't the only developers. A lot of people have contributed to GNU GRUB over the years, unfortunately the list is too long to be quoted here.

The capabilities of GNU GRUB are rather astonishing. It does have a relatively comfortable menu as its interface and even supports operating over serial console. Additionally it has the capability to boot over the network via TFTP or NFS, so workstations can be configured to pull their kernels off some central server.

At boot time the GRUB can already deal with a lot of file systems (Ext2fs, ReiserFS, BSD UFS, MS-DOS FAT16 & FAT32 and Minix) in order to be able to load kernels or files for booting. This comes in very handy when trying out new kernels without having to reconfigure the GRUB. Not to mention troubleshooting, where it can be real life-saver.

Should something special be missing or not be supported, the GRUB can chainload another boot loader. Of course all these features can be password-protected if so desired.

The GRUB shell is a Unix program that emulates the GRUB bootcode under another operating system like GNU/HURD, GNU/Linux or *BSD - this makes it possible to test features without having to reboot the machine.

Right now the GRUB is just before its 1.0 release and most of the work will be eliminating the last bugs and increasing stability - new features are not planned for it.

After the 1.0 release a new infrastructure for the GRUB called Figure [10], which is already being developed by Gordon Matzigkeit, will be tried out. Should this prove to be a good idea it would essentially give the GNU GRUB the capabilities of a mini operating system with compiler, memory management and so on. Independently of Figure everything seems to indicate that the GRUB is headed towards becoming a kernel in its own right. The main reason is that it does make a lot of sense to have a tiny boot loader that extends itself by loading modules or a kernel that completely replaces the bootstrap environment.

But those plans are rather far-fetched, right now it is much more important that with GNU GRUB we got a boot loader that can boot GNU/HURD and has features that could only be dreamt of so far. Knowing this it does make a lot of sense that several GNU/Linux distributions like OpenLinux, Plamo Linux, Mandrake, BestLinux and Conectiva Linux use it by default.

But now I will leave the technical part and come to the already announced special features.

FSF Europe

Founding a European sister organization of the Free Software Foundation is an idea I had over a year ago. Richard M. Stallman considered this a good thing and together we agreed that Werner Koch, author of the GNU Privacy Guard (GPG), and Peter Gerwinski, maintainer of GNU Pascal, would be good people to do this with. After an initial brainstorming phase we asked Bernhard Reiter, co-founder of the FreeGIS project and board member of the ffII, to join us.

The four of us have discussed advantages and possible pitfalls as well as really got to know each other and our views on things before we could bring the discussion out in the open. In November 2000 it was finally time.

What is the purpose of the Free Software Foundation Europe?

The main task of the Free Software Foundation in the United States is to provide a certain technical and organizational infrastructure as well as gathering, bundling and distributing funds. All these parts were underrepresented in Europe until now since in every day work, the United States sometimes are rather far away. Additionally the tax-deductability of donations is an important point that was not possible so far.

The declared goal of the FSF Europe is to support the technical and organizational side of the GNU Project as well as other useful Free Software projects just like the original FSF does. Furthermore we want to maintain the financial side in Europe to provide better and more effective funding. And finally we seek to become a competent political partner in order to lay a sound fundament for Free Software in Europe.

Together we have created a core concept and built up mutual trust in this closed group since discussing these things in public normally leads to very emotional debates that have the tendency to cloud the core issues. From the political side, this often looks like there is no consensus in the Free Software scene, which has proven to be pretty counterproductive. Now we feel that we have found a sound basis to present a lasting landmark.

To assure its lastingness is our goal and for this the help of the whole community is desired. As points of reference for interested people there we prepared the very minimalistic web page [11] and the public mailing lists [12].

But there is also a fourth job that the FSF Europe will be doing, it will maintain and organize the GNU Business Network.

GNU Business Network

Creating a "GNU Business Network" has occured to me when we were still discussing the FSF Europe without Bernhard and it has become much more concrete on the LinuxTag in Stuttgart when organizations and companies were asking the organizators of the LinuxTag for something like it. As an additional test I have talked about it with several people at the Linux Expo in San Jose and got very positive feedback.

The idea is to have the GNU Business Network bring companies and the GNU Project closer together and to offer an additional incentive for companies to commit business according to the GNU philosophy. Its focus will be the web site that acts as a central HUB with a worldwide list of all participants. This list serves essentially three purposes.

First of all it allows customers to specifically prefer companies that contribute to the Free Software community in some way. This way everyone can indirectly strengthen the community with the money spent.

The second functionality it provides is a business to business contact platform for companies in Free Software around the world. This way companies can find possible distribution contractors, local support providers or build cooperations in software development. Especially the last part does have a huge potential that is still untapped. We hope to change this.

And finally we wish to encourage companies to reduce their proprietary activities in order to gain a better position in the GNU Business Network as membership in the GNU Business Network is not based on financial contributions but solely on the business activities of a company.

Furthermore it is planned to offer a kind of certification for Free Software projects that will come with a branding which can be used by companies to display their affinity to Free Software to customers and the community.

The core document of the GNU Business Network will be the "GNU Business Network Definition" that is being developed by the protagonists of the FSF Europe in permanent dialog with Richard M. Stallman. We are currently at about the 20th iteration and believe to have found a point that allows making this possible, too.

Interested people and especially companies are very much encouraged to discuss the concepts and ideas on the public maling lists [13].

that's it

Alright, that's the Brave GNU World for this month. I hope to get a lot of feedback [1] and of course I'll bring updates about the FSF Europe and the GNU Business Network in case of new developments.

[1] Send ideas, comments and questions to Brave GNU World <column@brave-gnu-world.org>
[2] Home page of the GNU Project http://www.gnu.org/
[3] Home page of Georg's Brave GNU World http://brave-gnu-world.org
[4] "We run GNU" initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] CGIBurn home page http://www.tir.com/~sgifford/cgiburn/
[6] Multiple FTP-address ftp://www.belug.org/pub/user/ob/Programs/Tools/
[7] Diff2html FTP-address ftp://ftp.cs.duke.edu/pub/des/scripts/diff2html
[8] Dv FTP-address ftp://ftp.cs.duke.edu/pub/des/scripts/dv
[9] GNU GRUB home page http://www.gnu.org/software/grub/
[10] Figure home page http://fig.org/figure/
[11] Free Software Foundation Europe home page http://www.fsfeurope.org
[12] Free Software Foundation Europe mailing lists http://mailman.fsfeurope.org
[13] GNU Business Network mailing lists http://mailman.gnubiz.org

[ previous issue | Brave GNU World home | next issue ]

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org.
There are also other ways to contact the FSF.

Please send comments on Georg's Brave GNU World (in English or German) to column@gnu.org,
send comments on these web pages to webmasters@www.gnu.org,
send other questions to gnu@gnu.org.

Copyright (C) 2000 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: Mon Jan 15 12:34:29 CET 2001