Evaluation of Open Source For use in a Legal Environment

Brendan Scott

Exposure draft 16 July 2002

[Open Source Implementation Page]

Brendan is a lawyer specialising in telecommunications and information technology law. Brendanís email address is brendanscott@optusnet.com.au.

    1.     Introduction
       
      1.1    In September 2001 and February 2002, a software company from Seattle, in response to customer criticism of its proposed new licensing regime Open Licence 6.0, extended the deadline for uptake of the licensing terms. By April 2002 it seemed that that firm, Microsoft, would not shift from the current deadline of July 2002. In April 2002 a law firm in New Zealand, Clendons, made a complaint about the new licensing regime to the New Zealand Commerce Commission. In an open letter the partner initiating that complaint indicated that the firm was going to look into alternatives to running Microsoft products. At the time I had a general awareness of Open Source and had some exposure to Open Source products. In May 2002 I decided to experience first hand an Open Source desktop. This paper sets out some of my experiences.


    2.    Components

       
      2.1    There are two elements to consider in approaching an Open Source solution Ė the underlying operating system, and the applications which are to run on it. At the time of implementation I was unaware of the desktop applications which were available for Linux. I was vaguely aware of the fact that different distributions of Linux existed, but by and large I was unaware of their strengths and weaknesses. I decided to implement Red Hat 7.2 based mainly on recognition of the Red Hat brand. I had not considered what applications to implement after the operating system was implemented.


    3.    Acquisition

       
      3.1    I began downloading the Red Hat 7.2 CDs. However, having downloaded the first CD I discovered that a new version of Red Hat (7.3) had just been released. Without any understanding of the differences between them I decided instead to take the more recent release and downloaded a copy of Red Hat 7.3 (without SRPM CDs). This meant I needed to come to terms with .iso files and MD5 checksums and implement them on a windows system. These ensure that the files downloaded are correct. The process is to run each iso file through an md5sum program. This program takes a minute or two to run and produces a number (checksum). This checksum is compared against a number published by Red Hat. If they are the same, the iso image has been successfully downloaded.

      3.2    Prior to installation I read through the documents available on the documentation CD, some in more detail than others. Some I just flipped through.
       

    4.    Installation
       
      4.1    Installation went smoothly and took about 2 hours, most of which was due to fretting over how much space to give to each partition. I installed Red Hat after from the boot CD and the computer was to be a dual boot Windows/RH. This involved repartitioning my hard drive to create some space for the file system. Repartitioning was intimidating because of the chance of things going horribly wrong and ending up with some of my data being wiped. I found this stage quite difficult because I had, and was unable to find, any information relating to how much relative space each mount point should be given. As a result I have ended up with ridiculously large /usr and / partitions and a ridiculously small /home partition. I suspect my boot partition is also oversized. I currently plan to use the parted program to rearrange some of these partitions.

      4.2    I used disk druid to create these partitions for me. It seemed easy enough to use. Its drawbacks were that it didnít permit the creation of a vfat partition without a mount point Ė and the mount point had to be one from a drop down list. It was also very difficult to delete partitions which I had previously created (prior to committing them) if I wanted to rearrange how the partitions were physically set up. I chose GRUB (over the alternative LILO) as the boot manager solely on the basis that it appeared to be the more recent program.

      4.3    I chose to install all the packages that were available, excluding the server components. The installation seemed to work properly, however GRUB booted to the console not to X. This made life difficult for me as I hadnít used Unix since university (some time ago) and I was unaware of the commands available. After a while I discovered the startx command and was able to run X. My cable provider had given my computer a name, which I had entered into the config screen during the Red Hat installation. As such X couldnít find the computer. The "boot to console" problem was solved by including that name in the /etc/hosts file. This took about 2 days to resolve.

      4.4    Red Hat appears to have properly detected and installed my hardware (in particular, the sound card, hard drive, network card, monitor and printer) with the following exceptions:

           
        (a)    I have an old TV tuner card which I doubt has been properly installed by RH, but I havenít yet bothered to check;
        the scroll wheel on my mouse did not work at first; (it works now, but it is not clear how this was resolved, certainly changes were needed to one of the xconfig-4 files. );

        (b)    I am able to read file names from DVDs in my drive, but canít copy files from them; (as yet unresolved, but perhaps a result of UDF file system?)

        (c)    RH doesnít seem to support hot swapping of our digital camera, nor does the GNU photo program seem to recognise it. However I can mount it as a file system and copy photos from it.

        (d)    RH canít read CD-RWs created using my CD-RW drive, although it does seem to be able to read CDRs.
        I havenít been able to test whether RH is using the UDMA on my drive to its full capacity.

        (e)    The driver for my graphics card as installed by RH was usable, but a little slow. I installed a binary driver from NVidia and it seems to be working much faster now.


      4.5    Red Hat has allowed me to identify a problem with my previous hard drive (the partition table has one too many partitions in it) and allow me to easily back up its contents. Under windows the system hangs after a short period of accessing the drive.

      4.6    On installation I gave the wrong hostname to my computer. Finding out how to change the name was difficult (hostname <newname> was not persistent across reboot). Resolved by editing /etc/sysconfig/network to add HOSTNAME = Ď<newname>í.

      4.7    Summary Ė good points

           
        (a)    Comparatively painless to install.

        (b)    Hardware by and large automagically detected and configured.

        (c)    Has allowed resolution of problems that couldnít be achieved under Windows.


      4.8    Summary Ė bad points:

           
        (a)    Too little information on how to allocate space for each of the mount points Ė /home will need to store, eg configuration information and user data, therefore ought to be comparatively large.

        (b)    Disk druid doesnít allow easy deletion of proposed partitions, nor easy creation of vfat partitions except where they match a mount point selected from a drop down list. Hence, canít create a vfat data partition for use by Win98 and Linux because it does not fit one of the mount point options.

        (c)    Some hardware not well supported.

        (d)    Not clear whether the hardware I have is being used optimally.


    5.    Installing the apps

       
      5.1    The main application I installed was Open Office 1.0. In the end, all things considered this should have been an easy procedure. In practice I needed to install Open Office about 3 times before I got it working properly. This was not assisted by my lack of knowledge of tar, gzip and rpm and lack of a GUI front end for rpm (it took a while to find GnoRPM), gzip and tar (I now discover that gzip and tar extraction functionality is integrated into the KDE navigator). Part of the problem with the installation, and this continues to be a source of frustration for me, is permission errors. In retrospect I would advise everyone to log on as root for the first couple of days, if not weeks, after implementing RH for the first time, at least if you are running a single user installation or evaluation machine. Once a standard install has been determined, user based logins can be used. Some of the errors caused by permissions are subtle Ė you sometimes canít even see the file that youíre looking for.

      5.2    Another problem with the installation of Open Office was that I didnít know which directory to install it into. However, this was largely because I didnít see the installation instructions file when I downloaded the Open Office rpms. After I found this, it was easy to install Open Office into the right place. I found that there were some problems caused by the multiple previous installations. However it was ultimately possible to remove the remnants of those installations and Open Office worked fine after that.

      5.3    The other large application I installed was the Java Runtime Environment. This was difficult because of the need to include symbolic links in various browser subdirectories (I installed JRE 1.4 for Mozilla and 1.3 for Netscape 4.73).

      5.4    I note that this section only covers packages that I installed myself. The RH install process installed a variety of applications without any problems. When installing applications it was nice that I did not need to reboot after installation in order to use the application.

      5.5    In the first 8 weeks of use I had not reached the stage where I was comfortable with rpms Ė especially where they have a number of dependencies (as at writing I remain uncomfortable). Linux would greatly benefit from an applications installer as simple to use as those available on Windows.

      5.6    Summary of good points

           
        (a)    The standard implementation does a good job of installing the standard packages.


      5.7    Summary of bad points

           
        (a)    Too little guidance is provided on to where different applications ought to be installed.

        (b)    Installation of additional apps is difficult and non-intuitive. Linux desperately needs an easy to use (ie. idiot strength) installer.

        (c)    RPMs are difficult to use (although easier than tarballs).

        (d)    Permissions can lead to difficult to diagnose problems. Suggest users login as root by default until the system has stabilised.

           
    6.    Using the Apps
       
      6.1    By and large the applications are disappointing. They are probably well suited to a software development environment where text and binaries are the main currency of exchange. For an office environment they leave something to be desired.

      6.2    My perception was that file browsing was quite slow using Nautilus (although better using Konquerer) when compared to Windows Explorer. This is particularly so where a directory has a large number of items. On the other hand, internet and network accesses through Linux seemed to be faster than on Windows. Linuxís habit of writing files can be annoying at times. For example, accessing the pictures on the digital camera resulted in the file manager writing thumbnail files for each photo to a subdirectory of the flash card. This is undesirable behaviour. I find the KDE much more attractive than Gnome and the applications generally more functional.

      6.3    The lack of default file associations in Gnome is particularly frustrating, especially for relatively simple stuff. However the possibility of having multiple associations for a given file is greatly welcomed. The lack of a list of installed applications and their location makes creating file associations difficult.

      6.4    The standard email and browser tools are fine. I rekindled my love-hate relationship with emacs. After all of these years it is still just as hard for the uninitiated to do even the most simple operations with it. I do recall a time when I remembered the control key sequences and was Mr Productivity with this thing. That time has long gone.

      6.5    I have used The GIMP with some success to format pictures for my sonís website, and to produce thank you cards for him. It is frustrating at times (eg if you use open with Gimp on a file in a directory, the GIMPís save directory defaults to ~home not the current working directory). My requirements are not that great, and it appears to cater to them adequately.

      6.6    It is nice to see that a firewall is included as part of the standard package. However it does not appear to provide the same level of reporting as available under freeware Win* packages (such as ZoneAlarm). This may be the result of my ignorance of available apps.


    7.    Open Office Writer

       
      7.1    Open Office Writer is probably an adequate tool for producing or receiving short (<5 pages) documents which have basic formatting (which can include short tables and graphics). This will probably cover the majority of office, home and school users. However, (as at June 02) Word 97 (and more recent versions) hold distinct advantages over Writer for use in a legal environment. Indeed, as at June 02 I believe Writer lacks adequate functionality for implementation in such an environment.

      7.2    The first Word document I opened in Writer was enough for me to form this opinion. Subsequent usage has confirmed it to me. The document in question contained markups and numbering. The mark ups appeared to be brought across correctly. However the numbering was all over the place. This would not be so bad except that, try for the life of me, I couldnít fix them up and couldnít fix the style properly. I grant this might be because I didnít understand the paradigm, but after a couple of hours of trying I was none the wiser. The importation appeared to create a whole heap of custom numbering systems, none of which related to any of the others, each of which had an obtuse name. That said Open Office appears to have all of the functionality necessary to provide adequate business functionality to anyone who does not need to convert from Word. However in the legal world you have to exchange Word documents with others practically every day. Any problems created by incomplete file translations is time that canít be afforded.

      7.3    Writer appears to handle paragraph marks in mark up mode better than Word. In Word, if a paragraph mark is inserted midway through a paragraph, the new paragraph following that paragraph mark can be marked as an insertion, when really just the paragraph mark has been inserted. Writer appears to handle this mark up correctly (ie the paragraph is split with only the paragraph mark shown in mark up).
       

    8.    Specific problems with Open Office Writer:
           
      (a)    Lack of format painter: The format painter is perhaps the function I use most in Word. The easiest way to correct problems with formatting is to find a correctly formatted section and paste the format from that section. There is a kludge in Open Office Ė define a style using the stylist then paint from that style. This is an unduly complicated way of achieving the end. It also does not seem to allow the painting of all styles applied to the text at once, rather numbering and text formatting styles need to be painted separately.

      (b)    Stylist in general: I find stylist quite difficult to use. In fact itís fair to say I find it impossible to use. In fact, itís a nightmare. This is partly because it splits formatting over a number of categories which are dealt with independently Ė hence to replicate a heading one needs to paste both numbering and text formatting. The additional complexity detracts from useability.

      (c)    Lack of three mode tab markers/tabulators: ie only move paragraph start and move both, rather than move paragraph start, move indent start, move both as per Word. This makes formatting paragraphs particularly tedious.

      (d)    Format in previous marker: Format for a paragraph appears to be associated with the carriage return of the previous paragraph. This is counter intuitive. It also makes selecting, cutting and pasting a paragraph more difficult than it ought to be. For example, to select a paragraph one needs to actually start at the end of the previous paragraph. To paste properly this means the cursor must be located before the end marker of the previous paragraph to where the text is to be inserted (counter-intuitive). To select the paragraph marker at the end of the paragraph one needs to flow the selection over to part of the following paragraph.

      (e)    Control- up and down/control-shift- up and down: This functionality (move paragraph up or down) should be excised and the person who mapped this function here for the default install in the first place clubbed. Not only is it inconsistent with the effect of control- left and right/ control-shift- left and right, it denies navigation functionality to users. In Word, control- up and down allow navigation by paragraph in the way control- left and right allow navigation by word. Finally, moving a paragraph up or down can be achieved by selecting the paragraph, cutting it and pasting it (which would be easy if control shift up and down selected by paragraph). This has the added benefit that multiple paragraphs can be moved easily. This can be changed by reassigning keys (Tools -> Configure, select to end/beginning of paragraph in the "Navigate" category), but the assignments should be different in the first place.

      (f)    File filters: The filters are less than perfect, even to and from rtf or html. For example, numbering is not preserved well in saving to html. When saving as rtf email addresses reset the font size (to 12 pt), either for the balance of the paragraph or of the address.

      (g)    Indent paragraph: this function operates independently of changing the numbering. It should detect that numbering is applied to this paragraph and change the numbering to the next level of the numbering scheme. Users should be able to achieve both ends with a single function rather than two functions independently.

      (h)    Display spaces: With non printing characters shown the display of spaces is deceiving. Instead of evenly distributed over the white space between characters they appear immediately before the following character. This makes it difficult to determine the number of spaces before the cursor position Ė i.e. whether the cursor is located in the right space for modifications. Indeed, spaces can be displayed as located after the cursor even though they are located in front of the cursor.

      (i)    Font handling: The default font installation was pretty hopeless. I acknowledge that this is a known issue with Open Office and Linux. I followed the Open Office instructions to access some true type fonts and was greatly relieved. However something else on my system appears to have reset the fonts and Open Office seems powerless to change them back. So Iím stuck with poor quality fonts again. To be fair this is probably not because of Open Office, but because of a third program. Nevertheless it is a barrier to Open Officeís use.

      (j)    Auto spellcheck: For some reason this has stopped working, despite appearing to be on.

      (k)    Smart undo: Wordís implementation of control-z is more intuitive than Open Officeís (ie groups of words typed at one time are undone as opposed to one word at a time) and therefore easier to use.

      (l)    Review changes (markup mode): The interface for reviewing changes needs a lot of work. It is not possible to accept part of a change, but not all of it Ė if you like sentence 1 but not sentence 2, you canít just highlight sentence 1 and accept it, then reject sentence 2 if they form one contiguous change. Rather, one needs to edit it to break them then accept/reject. Review changes functionality would be improved remarkably by "accept/reject selected" functions and "navigate next/navigate previous change" functions.

      (m)    Navigate changes: The current implementation requires users to navigate changes serially through the list of changes. It would be preferable to allow navigation visually through the document rather than through the list. As mentioned above, accept/reject selected would be of great benefit.

      (n)    Numbering: The numbering implementation seems to be confused and inconsistent, especially across multiple levels and where non-numbered areas intervene between numbered sections. I would not even consider attempting the numbering scheme in this document for Writer.

      (o)    No capitalisation on replace: Where the replace function is used the replacing word does not follow the case of the word replaced. Hence if "red" is "replace all"ed by "blue", both "Red" and "red" become "blue", leading to incorrect capitalization at the start of sentences.

      (p)    Custom styles: My experience of the import of custom styles indicates that each use of a custom style in a document gives rise to a new style definition in the imported document in writer. This means that a given style canít be changed to effect a change throughout the document.

      (q)    No smart replace/smart selection: This is a minor thing, but it would be nice to have the smart replace/select functionality from Word. That is, if inserting a word, spaces are automatically inserted around the word and, when selecting a word, the selection is extended to the start (or end) of the word when the selection includes part of another word. Hence, in the previous sentence, if the selection started between the "n" and "o" in "another" and extended to between the "w" and "o" in "word, the whole of "another" is automatically selected.


    9.    Wine as an alternative

       
      9.1    Wine (available from http://www.winehq.com/) is "a free implementation of Windows on Unix" (to quote from the wine20020710 release notes). Wine allows Windows applications to be run on Linux. A distribution of Wine is included in the Red Hat 7.3 release disks.

      9.2    I had great difficulty with the version of wine bundled with Red Hat 7.3. By and large, it was completely inadequate. In late June I decided to try a later implementation and downloaded the then most recent stable release (April 10 I think). The download and implementation of the rpm went largely without incident (some earlier versions gave dependency errors, so I removed them and reinstalled).

      9.3    Using that release from the console worked very well, with Word for windows running without incident. There was some minimal configuration required for use in KDE. A GUI is provided for this (hurrah!). While wine has been associated with windows applications in KDE navigator, they do not appear to launch properly. In order to use a windows application it is necessary to launch through wine in the console ("wine <programname.exe>").

      9.4    Word is the only program I have run and tested somewhat under wine (I have loaded others, and they seemed to work). The implementation of Word appears to vary from time to time from near perfect to slow. On some occasions I have used Word through wine and not been able to distinguish any difference between it running on Windows and running on Red Hat Linux. On other occasions Word has been very unresponsive with noticeable delays between mouse or keyboard inputs. It is not clear to me what causes this difference.

      9.5    Wine does not work for the implementation of Reason, the music composition software I use. The reason for this appears to be that the program inspects the DLLs and decides that theyíre not the relevant version (shell32 needs to be version 4). In theory I should be able to force it to inspect the windows version of this file, but I have been unable to do this to date.

      9.6    Summary Ė good points

           
        (a)    April 2002 release easy to install and configure.

        (b)    Impressive implementation of Word. Have good confidence that other applications will be able to be run.
         

      9.7    Summary Ė bad points
       
        (a)    Version of wine bundled with Red Hat 7.3 is inadequate.

        (b)    Variable response from Word. This may be addressed by more powerful hardware (running on 800 MHz PIII). Variability would preclude its use as a primary business tool, but adequate for home/hobby/occasional use.
         

    10.    Is Red Hat Linux 7.3 a complete solution? What do I miss?
       
      10.1    The main applications I use are:
       
      Application Windows Linux substitute Adequacy of substitute
      Word processing Word (a) Open Office Writer Poor
          (b) Word running under wine  Ok
      Email (IMAP/POP3 client) Outlook/Netscape Mozilla/others Same app
      Internet browsing Netscape/IE Mozilla Same app
      Web site development (html editing) Netscape Communicator Mozilla Same app
      Image manipulation Some stupid (and expensive) Adobe thing that was bundled with my printer. Lview. The GIMP (Better solution) Excellent (exceeds windows equivalent)
      Music creation  Reason None Poor
      File management Explorer KDE Navigator Excellent
      Gaming Online games Preferred game available, but not free (already acquired on Win). Could solve by switching preferred game. ?
      Printing photos Bundled photo management app Not evaluated ?
      Burning CDs Adaptec Easy CD Not evaluated. Documentation of available applications indicates that they will do the job, but not as well or as easily (inadequate interface).  ?

      10.2    Clearly, on the basis of this table, Linux is not an adequate substitute for Windows for my needs, either restricted to the home office context, or for home/hobby use. The main problem with my implementation is that I am dependent on productivity applications.

      10.3    The areas in which it fails are Ė word processing, music creation and gaming.

      10.4    There is the possibility that some of these programs will work adequately using a program called Wine, which is part of the RH 7.3 distribution. Wine allows the running of Windows programs from Linux. I have not, as yet, tested their use under Wine.


    11.    Conclusion

       
      11.1    Linux provides a substantial portion of the functionality I require in its capacity as a home office or hobby tool. However there are key areas in which it is inadequate as a complete solution.

      11.2    The main alternative to Microsoft Word (Open Office) has major drawbacks and is an inadequate substitute if interoperability with Word documents is required.

      11.3    Projects such as wine show great promise. Linux can provide an adequate solution for early adopters or the severely cost constrained. The use of wine and Microsoft Office could, on more powerful hardware, provide a complete solution for a small business. However, query whether this justifies the license cost savings for a copy of Windows. It will be some time before Linux reaches the breadth of applications and ease of use required for general office implementation.

      11.4    In addition to the perceived absence of support for third party applications, Linux suffers greatly from the difficulty of installing the applications which actually are available. Current systems (rpm and tar) are both too arcane for the average user to implement and too unhelpful when unexpected conditions (such as dependency conflicts) arise.