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

[DE | EN | FR | JA | ES]

Welcome again to Georg's Brave GNU World. In order to break up the routine I will start at the legal aspects followed by the technical part. Afterwards I will elaborate on some thoughts concerning the social side of the GNU Project because I have been asked to write a little more about this.

ifrOSS

In 1999, the Institut fur Rechtsfragen der Open Source Software (Institute for Legal Questions of Open Source Software, or ifrOSS for short [5 (in German)]) was founded in Germany. This institute concerns itself with the legal aspects of Free Software. It seeks to be a source of information as well as a forum for lawyers to discuss the special needs and properties of Free Software.

This is a very important task for several reasons. First of all, laws in the software realm are still developing and we need competent lawyers that make sure these laws leave enough space for Free Software. Additionally, all serious businesses need a certain security regarding their legal standpoint and the ifrOSS can help to provide this.

Regarding the applicability of the GNU General Public License in Germany, which a lot of firms have asked about in the past, there is already an interesting study by Axel Metzger and Till Jaeger - the founders of ifrOSS - that is available online [6 (in German)].

The study comes to the conclusion that the GNU General Public License can be applied without major problems with the German copyright law although some terms are not valid. Problems could arise with "artistically designed software" where changing it could be a violation of integrity as defined in §14 of the German UrhG. Additionally the creation of new ways to use the software could become problematic according to §31 Abs. 4 German UrhG. Most importantly, it appears that according to the German AGBG, the liability disclaimer is not valid. Especially when software is being sold, liability and warranty might increase significantly.

Very interesting also is the final comment, which states that the market success and presence of GNU/Linux might confuse the idea of proper payment in the copyright law. The resulting discussion might become extremely interesting.

What I would like to see in this context would be a spawning of this concept into other countries and a global networking of these institutions into a kind of "Legal FSF." This could very much further and protect the success of Free Software and Freedom because it would provide businesses with an easy way of checking their legal status in different countries.

Which brings me to the technical part of this issue.

xmlBlaster

The xmlBlaster [7] is "Message Oriented Middleware" (MOM) released under the terms of the GNU Lesser General Public License; the development is pushed ahead by Michele Laghi, Peter Roth, Konrad Krafft, Manuel Kron, James Birchfield and Marcel Ruff.

Since many people will probably draw a blank on the term "Message Oriented Middleware," I will say a few words about it. MOM is needed whenever information is exchanged in a heterogenous network with the nodes using different protocols. The classical example is a network of ticket machines distributed over a whole country. These machines have been produced by different vendors and were programmed by their own teams with different programming languages. If for instance the price of a ticket is to be changed, a translator is needed to translate the message "new price" into the correct format used by the actual machines and spread among them. It is also important to translate the result (in this case success or error) back into a language that is understood by the administration program. This job is being done by Message Oriented Middleware like the xmlBlaster. Anyone noticing a similarity to Jabber in the previous issue has been paying attention.

The xmlBlaster also relies on a client/server model but this time the server is written in pure Java and should be able to run on any platform with JDK >= 1.2. The clients supply almost the complete spectrum. Example clients for Java, Perl, C/C++ are already in the distribution. The examples for Tcl and Python are being worked on.

The communication with the server relies on CORBA and it is possible to filter messages with XPath expressions. If CORBA is a problem for certain applications, email or http can also be used as plug-ins. As the name already suggests the messages themselves are XML-encoded. Anything (including binary data) can be transmitted.

Possible uses cover a wide area and if you want to stretch it, any project relying on instant communication between several programs/computers could make use of this. Although the xmlBlaster is still rather new it is already usable and interested developers should probably risk a look.

Scsh

The Scsh [8] is a Scheme Shell, which means it is a shell based on the programming language Scheme. Putting this in one drawer with scripts based on other shells like bash wouldn't do justice to it, though.

Scheme is an extremely powerful high-level language from the LISP family that was originally developed by Guy Lewis Steele Jr. and Gerald Jay Sussman. This means that Scsh-scripts have the full assortment of types: lists, vectors, procedures, hashtables, numbers and so on. Additionally the Scheme syntax is extensible: it can be custom-fit to certain fields of application.

Of course you can write normal shell-scripts with the Scsh; this is also being supported by a special notation for program execution as well as pipelines and I/O-redirection. But the Scsh can also be used for system programming. It offers a direct access to all POSIX system functions and some extensions like a complete socket support. This makes it possible to write system programs, usually written in C, in Scheme. The MIT "Scheme Underground" [9], which is also developing Scsh, has even written a complete http server in Scsh that is being used at MIT.

In the design of Scsh a lot of care has been put into creating a clean interface for operating system access in order to achive a maximum portability. This allows the Scsh to run wherever the Scheme 48 VM can be compiled which usually only requires a working C-compiler. The OS-interface is also very portable and so far the Scsh has been used successfully on all available 32-bit Unix-derivatives without a change in the interface. Problems arise with ports to non 32-bit machines. Also there is no thread support and the startup is still rather slow - but this is being worked on.

Now I would like to close the technical part of the column and approach a topic that usually is not seen in relation with computers.

Social aspects of the GNU Project

I am quite aware that some people will never have seen the GNU Project in this context but as I already sought to show with my declaration of Informational Human Rights, the GNU Project consists of much more than just good software.

This part was originally triggered by an advertisement of the German "Wirtschaftswoche" (translates to "Business Week") that spread big posters all over the city of Hamburg, Germany stating "Every Generation has its role models." The background picture shows stone busts of Julius Caesar, Napoleon Bonaparte and Bill Gates. If it weren't for Bill Gates I would have considered this ad to be a bad joke; but as this is the "Business Week" and Bill Gates is the richest man on earth, I must assume they are being serious.

What does it say to declare these people role models? Julius Caesar and Napoleon Bonaparte were might-ridden conquerors and egomaniacs whose wars caused suffering for hundreds of thousands of people - even if their own population might have seen a slight advantage for a short amount of time. At some point both of them lost contact with reality and deemed themselves almighty. Caeser declared himself dictator and was murdered whereas Napoleon bit off more than he could chew and was exiled. Had there been more space on this picture I guess Attila and Ghengis Khan would also fit into this row pretty well. All of these persons are very much historical and they certainly changed the face of the world. But role models?

Without the picture of Bill Gates, the relation to the GNU Project would probably be very hard to see. But, as the court in the United States has already stated, his economic behaviour bears a certain resemblance with the above examples.

The "Wirtschaftswoche" probably only wanted to make a statement about the power these people have or had. But I find it highly questionable whether the pure accumulation of might based on the suffering of others is what makes a person a role model.

Which now brings me to the social aspect of the GNU Project. The GNU Project propagates the freedom of software because, for one, this leads to better software, but this is not the only reason. It is about using your own energy on something that benefits yourself and everyone else without costing someone else directly. A lot of people mistake this for altruism, but this strategy is selfish. Programs are being written for some benefit the author wants to receive; this benefit can take a lot of different forms: fun, building up a reputation, payment, altruism and many more. But altruism is just one possible motive, not the major one. In the end the philosophy's goal is to create your own place for living while harming the rest of humanity as little as possible and helping it whenever possible. But this does not require people to be "good." It is even possible to have an almost infinite number of "parasites" that coexist peacefully because they cannot cut off the flow for the rest. In the software realm this is guaranteed by the GNU General Public License which allows everyone to benefit from someone else's work but at the same time guarantees that changes are available to everyone. In fact the "parasites" strengthen the movement because they base their work on it and indirectly declare it the standard.

How this works in the software world is relatively obvious. But this thought can be transferred to other areas - although it is not always as easy to see the solution. The first step would probably be the creation of an equivalent of the GNU GPL that protects the contribution of the individual while making it available to others.

By the way: although this accusation has been made several times (especially in the beginning of the GNU Project), this has nothing to do with communism. Communism is based on a "good" and "non-selfish" human being and additionally attacks the concept of property which stirs up feelings of fright and insecurity in most people - myself included.

The GNU Project is rather a form of "selfish sharing," where everyone seeks the personal advantage but is willing to let others benefit, too, as long as it doesn't hurt them.

Although I have no idea whether I could get the point across I hope to have at least provided some interesting ideas. If you feel that this doesn't mean anything to you, just feel free to ignore it.

that's it, folks

So far for this months issue. Now I will go and organize my moving into a new place - the next column should already be written there. The only thing left is to encourage you to send ideas, comments, questions and mail about interesting projects to the usual address [1].

Info
[1] Send ideas, comments and questions to Brave GNU World <column@gnu.org>
[2] Homepage of the GNU Project http://www.gnu.org/
[3] Homepage of Georg's Brave GNU World http://www.gnu.org/brave-gnu-world/
[4] "We run GNU" Initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] "Institut für Rechtsfragen der Open Source Software" (Institute for legal questions of Open Source Software) (in German) http://www.ifross.de/
[6] "Open Source Software und deutsches Urheberrecht" (Open Source Software and German copyright law) (in German) http://www.ifross.de/ifross_html/art1.html
[7] xmlBlaster homepage http://www.xmlblaster.org/
[8] Scsh homepage http://www.swiss.ai.mit.edu/ftpdir/scsh/
[9] Scheme Underground http://www.ai.mit.edu/projects/su/su.html

[ 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.

30 May 2000 tower