The User's Commitment To FunnelWeb

One of the problems that might prevent potential users from using FunnelWeb is the level of commitment that it requires. As soon as the user starts creating FunnelWeb .fw files, the user becomes dependent on the FunnelWeb program, as the files so created will become unmanageable if the FunnelWeb program were to become unavailable for some reason. There are a number of ways in which computer programs can become unavailable, including operating system upgrades, copyright problems, inability to fix bugs, or just the inability of the program to be ported to a new target platform.

The fact is that FunnelWeb defines an input language and that currently there is only one implementation of the language. Users will only write programs using that language if they feel comfortable about the availability of its implementation.

I have been critically aware of these issues throughout the development of FunnelWeb and have taken every possible step to make FunnelWeb a solid base onto which to build programs. The following points describe the actions I have taken.

1cm 1cm GNU license: FunnelWeb's C source code has been released under GNU General Public License Version 2. This means that the source code to FunnelWeb will always be available to anyone who wants it. The FunnelWeb program can never be taken away from you.

1cm 1cm Portability: FunnelWeb has been designed and written to be extremely portable. First, all FunnelWeb really does is read and write text files. This makes it easy to make portable. Second, FunnelWeb is written in the C programming language[ANSI]
[1] with portability as a major design goal. Third, FunnelWeb has already been ported to four popular platforms: SunOS, VAX VMS, PC, and Macintosh and it should not prove hard to move it to others. Fourth, FunnelWeb comes with a huge automated regression test suite. This makes it easy to pinpoint problems when it is moved to a new platform. Portability is important because, even if you are not using FunnelWeb on some funny platform, you may want to send a computer program written using FunnelWeb to someone who does.

1cm 1cm Quality: The FunnelWeb source code is high quality code. Although it has not been formally developed under any particular coding standard, it is well designed and documented. Design decisions have not been taken lightly.

1cm 1cm Documentation: FunnelWeb is well documented by this manual and by the FunnelWeb Hacker's Manual. This is important because it means that if you want to send someone a program written using FunnelWeb, you can simply point them to this manual rather than having to explain it all yourself. It is also comforting for managers who are controlling source code to know that the format in which the source code is written is well-documented.

1cm 1cm Standardization: Users who create source files using FunnelWeb are not only committing to the FunnelWeb program; they are also investing in the FunnelWeb language. If FunnelWeb's language changes radically for some reason, then this investment by users will be undermined. To protect this investment, I intend to maintain an ``official'' version of FunnelWeb whose language will not change radically, at least not in a non backward compatible manner.

It is my hope that the combination of these factors will alleviate any fears that users may have about committing their source files to FunnelWeb.