Authority vs User Security

securityauthority

There are a number of ways of providing the strong central design authority required to produce the portability and semantic security desired by users,

Many other variations on these themes are possible, but they are all based on the idea of regulating either the official definition of the language or all of its existing implementations.

At about this stage, a conflict arises. While users want the language they are using to be tightly controlled, they also want to feel secure about the availability of its implementations. If hundreds of source files are to be created in the language, there had better be one or more translators available when the time comes to use them.

In the case of widely-used programming languages such as C, the problem of securing implementations does not arise. If you don't get your compiler from Borland, you can get it from Microsoft. However, in the case of a newly introduced language such as FunnelWeb, there may be very few implementations, or even just one implementation, and this poses a danger to the user who is committing to that format. Despite the best intentions of the copyright owner, there are a variety of ways in which a computer program can suddenly become unavailable.programavailability Here are some examples:

These possibilities mean that users about to invest in a newly introduced programming tool such as FunnelWeb have legitimate concerns when they worry about the tool's availability. For non-commercially distributed tools such as FunnelWeb, the simplest solution to this problem is to make the source code available, either by placing it into the public domain, or by releasing it under some kind of public license, such as a GNU license. The trouble with releasing the source code is that it removes control from the design authority. Once the code is out there is no stopping anyone from modifying the program and distributing modified versions. All chaos can ensue.

One solution to this conflict is to take the trade mark approach. This separates the right of the design authority to control the language and its implementations, and the right of the users to use the source code in any way they like (but they may have to change its name!). However, the trade mark approach is expensive.

The solution that I (Ross Williams (ross@spam.adelaide.edu.au)) have adopted is to release the FunnelWeb source code under a GNU license and then to write this chapter in the ıFunnelWeb Hacker's Manual to dissuade possible hackers from releasing modified versions under the FunnelWeb name. This is about as close to the GNU/trademark approach I can get without forking out about $1200 for a US trademark or paying even more to get a lawyer to attempt to draft a contract stating thou shalt not modify the FunnelWeb language.