The concerns expressed in the previous section about modifications to the FunnelWeb program do not preclude modifications. They merely imply that some conditions be observed when modifications are made. In fact, having formally released the sources under GNU, there is nothing that I can do to stop people distributing modified versions and the conditions to be described must be imposed voluntarily.
In the end there are two things that I want to protect/maintain:
So long as these conditions hold, source files created under FunnelWeb will be portable, and the language will have the potential to be stable and well-defined. 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.
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 (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.
Modifications that affect functionality:If you make changes to FunnelWeb that affect its functionality (changes to command line options, the command language, or the input language) 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.