diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/funnelAC/userman/u_ch5.tex |
Initial commit
Diffstat (limited to 'web/funnelAC/userman/u_ch5.tex')
-rw-r--r-- | web/funnelAC/userman/u_ch5.tex | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/web/funnelAC/userman/u_ch5.tex b/web/funnelAC/userman/u_ch5.tex new file mode 100644 index 0000000000..ab676074f8 --- /dev/null +++ b/web/funnelAC/userman/u_ch5.tex @@ -0,0 +1,387 @@ +%==============================================================================% +% Start of Ch5.tex % +%==============================================================================% +% +% Copyright +% --------- +% Copyright (C) 1992 Ross N. Williams. +% This file contains a chapter of the FunnelWeb User's Manual. +% See the main TeX file for this manual for further information. +% +%==============================================================================% + +\chapter{FunnelWeb Administration} +\label{chapadministration}\xx{FunnelWeb}{administration} + +\section{Introduction} + +Whether a computer program is useful depends not just on the functionality +provided by the program, but also on the totality of the culture +and services surrounding it such as license costs, the +quality of +documentation, presence of a standard and so on. +This chapter addresses these issues from a user perspective. + +\section{The User's Commitment To FunnelWeb} +\xx{commitment}{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 \p{.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. + +\narrowthing{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.} + +\narrowthing{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\paper{ANSI} +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 \i{you} +are not using FunnelWeb on some funny platform, you may want to send +a computer program written using FunnelWeb to someone who does.} + +\narrowthing{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.} + +\narrowthing{Documentation:}{FunnelWeb is well documented by this manual +and by the \i{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.} + +\narrowthing{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 \dq{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. + +\section{Documentation} +\xx{FunnelWeb}{documentation} + +The following FunnelWeb documentation is available: + +\begin{verbatim} + "FunnelWeb User's Manual": Tutorial, Hints, Reference Manual. + "FunnelWeb Hacker's Manual": Notes on Design and Implementation. +\end{verbatim} + +Everyone involved with FunnelWeb should read the \i{FunnelWeb User's Manual}. +It contains everything you need to know about how to use FunnelWeb. In fact, +you are reading it now! + +The \i{FunnelWeb Hacker's Manual} +is for those who want to install, modify, fix, +fiddle with, and generally hack the FunnelWeb C source code. + +Both of these manuals are shipped with the FunnelWeb distribution +kit, and should be available on your machine in the form of LaTeX text +files. If you cannot find them, you can obtain them from the +FunnelWeb FTP archive (see Section~\ref{ftparchive}). + +\section{Registration} +\label{registration}\xx{FunnelWeb}{registration} + +If you install or use FunnelWeb, please register by filling in and +returning the registration form in \figregform{}. +Feel free to expand the form if there is not enough room. + + +\begin{figure}[htbp] +\begin{verbatim} + +----------------------FunnelWeb Registration Form----------------------+ + | 1. Date: | + | | + | 2. Title and name: | + | | + | 3. Internet email address: | + | | + | 4. Snail mail address: | + | | + | 5. Work phone number (country,area,number): | + | | + | 6. Which category of FunnelWeb user best describes you? | + | Latent - Installed FunnelWeb, but don't intend to use it. | + | Beginner - Haven't used FunnelWeb much yet; have an open mind. | + | Casual - Use FunnelWeb occasionally. | + | Convert - Use FunnelWeb to do most programming. | + | Fanatic - FunnelWeb has become a way of life. | + | | + | 7. What changes or new features would you like to see in FunnelWeb? | + | | + | | + | | + | | + | | + | | + | 8. Do you want to be kept informed of new FunnelWeb developments? | + | | + +-----------------------------------------------------------------------+ +\end{verbatim} +\mylabel{\figregform{}: The FunnelWeb registration form.}{% +% +To register as a FunnelWeb user, please fill in this form and email it to +\p{ross@spam.adelaide.edu.au}, or snail mail it to +Ross Williams, 16 Lerwick Avenue, Hazelwood Park 5066, Australia. +You may wish to make a contribution when you register. +See Section~\ref{support} for more information. +% +} +\end{figure} + +Email the form to \p{ross@spam.adelaide.edu.au}, or snail mail it to +Ross Williams, 16 Lerwick Avenue, Hazelwood Park 5066, Australia. +You may wish to make a contribution when you register. +See Section~\ref{support} for more information. + +\section{Support} +\xx{FunnelWeb}{support}\label{support} + +FunnelWeb is released \dq{as is} under a GNU license, and +no formal support is available. +You have the right to make changes to FunnelWeb +and to use the modified versions created by random programmers. +However, this is discouraged (see Section~\ref{modification}). + +In fact the support that is most needed is your financial +support for the +FunnelWeb developers! It has taken \i{months} of full-time \i{unpaid} +work to bring FunnelWeb to you in its current form. +I don't want to inconvenience users who install +FunnelWeb, play with it, and then hardly ever use it. +If you are in this category, +please register, but don't bother contributing. However, if you find that +FunnelWeb has become a useful programming tool, a +contribution of some positive multiple of US\$50 would be appreciated. + +To make a contribution, send payment with a completed registration form +(see Section~\ref{registration}) to: + +\begin{verbatim} + Renaissance Software Pty Ltd + Email: ross@spam.adelaide.edu.au + Snail: 16 Lerwick Avenue, Hazelwood Park 5066, Australia. +\end{verbatim} + +Payment can be by personal or bank cheque to any bank in the world or by +Visa or Mastercard. Please give the card name, number, expiry date, and +the amount to be paid in US dollars. All contributions will be appreciated +and will encourage further FunnelWeb development. However, no undertaking +is made whatsoever about how the money will be used. + +\section{Copyright} +\xx{copyright}{FunnelWeb}\xx{FunnelWeb}{license}\xx{GNU}{license}% +\label{copyright} + +The FunnelWeb program is Copyright $\copyright$ 1992 Ross Williams. + +However, FunnelWeb has been released by the author and copyright owner Ross +Williams (\p{ross@spam.adelaide.edu.au}) under Version 2 of the GNU General +Public +License published by the Free Software Foundation. Here are some ways +that you can obtain a copy of this license. + +\begin{itemize} + +\item The license appears as an appendix in the \i{FunnelWeb Hacker's +Manual}. + +\item If you have a working version of FunnelWeb, invoke it with +\p{fw +hlicense +jlicense.txt}. + +\item Look in the \p{help} module of the FunnelWeb source code. + +\item FTP the license from \p{prep.ai.mit.edu} in \p{/pub/gnu/COPYING-2}. + +\item Write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +\end{itemize} + +The license allows you to +redistribute FunnelWeb and/or modify it under certain conditions. +The license does not cover the \i{FunnelWeb User's Manual} and +\i{FunnelWeb Hacker's Manual} which are distributed under a simpler +license that prohibits changes. + +Note: FunnelWeb is distributed WITHOUT ANY WARRANTY; without even the +implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +\section{Nowarranty} +\x{warranty} + +Users of FunnelWeb should be aware that FunnelWeb comes with no +warranty. Here is an extract from the GNU General Public License Version 2, +under which +FunnelWeb is distributed. For more information see Section~\ref{copyright}. + +\begin{verbatim} + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY + FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN + OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES + PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED + OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS + TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, + REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR + REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, + INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING + OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED + TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY + YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. +\end{verbatim} + +\section{Distribution} +\xx{FunnelWeb}{Distribution} + +Users of FunnelWeb should be aware that they can distribute the program +freely. +The following is an extract from the GNU General Public License Version 2, +under which FunnelWeb is distributed. + +\begin{verbatim} + 1. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an appropriate + copyright notice and disclaimer of warranty; keep intact all the + notices that refer to this License and to the absence of any warranty; + and give any other recipients of the Program a copy of this License + along with the Program. + + You may charge a fee for the physical act of transferring a copy, and + you may at your option offer warranty protection in exchange for a fee. +\end{verbatim} + +The license also allows you other freedoms. +For more information see Section~\ref{copyright}. + +\section{Modification} +\label{modification} + +FunnelWeb is distributed under a GNU license, and you are free to modify the +source code and distribute modified copies (see Section~\ref{copyright}). +However, there are good reasons why you should avoid doing this. + +\begin{enumerate} + +\item If you distribute modified versions of FunnelWeb, you run the risk of +creating a version that will diverge from the \dq{official} version of +FunnelWeb that I intend to maintain. + +\item If you release a version of FunnelWeb with a changed input language, +users of your modified version will create source files that will no +longer work on other versions of FunnelWeb. The result would be chaos. + +\end{enumerate} + +For these reasons I request that you do not distribute modified versions of +FunnelWeb, particularly versions with a modified language. However, if you must +distribute a version with a modified language, \i{please change its name} +(\ie{}from \dq{FunnelWeb} to something else). Please also allocate a new +file extension +to replace \dqp{.fw} as the extension for source files written in the modified +language. + +For more information, refer to the \i{FunnelWeb Hacker's Manual}. + +\section{Versions} +\xx{FunnelWeb}{versions} + +FunnelWeb was created in 1986 and was used extensively by Ross Williams +(\p{ross@spam.adelaide.edu.au}) for three years. However, +Version~1.0 was written +in Ada and was not very portable (it was fairly VAX/VMS specific). +David Hulse +(\p{dave@cs.adelaide.edu.au}) took the first step towards a +release by translating +the Ada code into C. Ross Williams then extensively reworked the C code, making +it robust and portable, adding new features, and polishing it to its +current form. + +\begin{verbatim} + Vers Lang Created Released Author Copyright Licensing + ---- ---- ------- -------- -------------- ------------- --------- + V1.0 Ada 1986 Never Ross Williams Ross Williams + V2.0 C 1989 Never David Hulse Public domain No restriction. + V3.0 C 1992 May-1992 Ross Williams Ross Williams GNU release. +\end{verbatim} + +This manual was released for: + +\begin{verbatim} + * FunnelWeb V3.0. + * User's Manual V1.0. + * Hacker's Manual V1.0. + * TeX Definitions V1.0. +\end{verbatim} + +\section{FTP Archive and Author} +\label{ftparchive}% +\xx{author}{contacting}\xx{ftp}{archive}\xx{FunnelWeb}{archive} + +The FunnelWeb FTP archive is: + +\begin{verbatim} + Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. + Directory : ~pub/funnelweb/ (or a directory of similar name). +\end{verbatim} + +The author of FunnelWeb and this manual is: + +\begin{verbatim} + Name: Dr Ross N. Williams + Email: ross@spam.adelaide.edu.au + Snail: 16 Lerwick Avenue, Hazelwood Park 5066, Australia. +\end{verbatim} + +I intend to maintain an \dq{official} version of FunnelWeb which I will +release under GNU license from time to time. I am happy to receive +constructive criticism +about FunnelWeb and its documentation. + +I will always be happy to receive mail about FunnelWeb, but cannot +guarantee that I will be able to reply to it immediately. + +%==============================================================================% +% End of Ch5.tex % +%==============================================================================% |