%==============================================================================% % 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 % %==============================================================================%