Reference Tutorial Developer 1 Compile 2 Design 3 Implement 4 Modify 5 Misc 6 Licence SEARCH

4.3 What I Want to Protect

The concerns expressed in the previous section about modifications to the FunnelWeb program do not exclude modifications. They merely suggest that some conditions be observed when modifications are made. In the end there are two things that I want to protect and maintain:

1. Restriction of the name "FunnelWeb" only to computer programs that exactly implement my "official" definition of the language.
2. Restriction of the FunnelWeb source file extensions "`.fw`" (input files) and "`.fwi`" (include files) only to source files that conform exactly to my "official" definition of the language.

So long as these conditions hold, `.fw` source file will be universally portable. Here are my suggestions for how to obey these rules. These suggestions are in addition to the GNU license rules about documenting any changes that you make in the source files.

> Level 0: Modifications that do not affect functionality: If you change the FunnelWeb program in a manner that does not affect the functionality of the program in any way (e.g. port it to a new machine, or just speed it up), then you should modify the program to write out a message when it starts up saying that it is a modified version of FunnelWeb. No other actions need be taken.

> Level 1: Modifications that affect surface functionality: If you make changes to FunnelWeb that affect its functionality without altering or extending the syntax or semantics of the FunnelWeb language, you should augment the name of the program to indicate that it is a FunnelWeb variant. For example, you could call it "FunnelWeb-Dave".

> Level 2: Modifications that affect the language: If you make changes to FunnelWeb that affect the FunnelWeb language (e.g. by adding some new syntax), you should change the name of the program so that the name no longer contains the word "FunnelWeb", and should choose alternative input and include-file file extensions (the current ones are "`.fw`" and "`.fwi`"). For example, you might call your program "BananaWeb" and use the file extensions "`.bw`" and "`.bwi`".

These rules are not very restrictive. Basically you can do what you like so long as you change the name of the resulting program. I do not wish to restrict anyone who might want to use FunnelWeb as a foundation for a more sophisticated literate programming system. My sole aim here is to protect the integrity of what already exists.

Webmaster Copyright © Ross N. Williams 1992,1999. All rights reserved.