From marmalade@x-stream.co.uk Tue, 21 Sep 1999 17:01:42 +0100
Date: Tue, 21 Sep 1999 17:01:42 +0100
From: Nick Fleming marmalade@x-stream.co.uk
Subject: [Patents] Re: Software UseRight

Dear Jean-Paul,

        This letter is in response to your request for comments
on your paper on "Software Useright". Please do not take my comments
the wrong way - I do not mean to be overly critical of your work, I
believe it is on the whole, well written, well thought out, technically (fairly)
accurate (and a damn sight better than my puny efforts).

        1) I know people are probably sick of me saying this, but
           in any discussion on software patents, I really believe that
           the better your definition of software, the better equipped
           you are to be able to grasp which parts of computer software
           are protected by copyright, and which are possibly patentable.

                    i)   Conceptual Design.
                   ii)   Algorithms and Data Structures
                  iii)   Language Implementation and static data
                   iv)   Object Code (including DLL's)
                    v)   Binary Executable
                   vi)   Hardware System / Operating Environment.

           Using this model, it is easy to see that the vast majority
           of a piece of software is protected by copyright. The only
           two 'layers' that are not are algorithms and possibly the
           conceptual design. I believe it is these parts that are the
           main targets of those attempting to obtain pure software
           patents, although a few are also aimed at the Operating
           Environment (For example Stac's patent on data replication
           U.S patent number 5,907,672)

        2) Part 1.1 of your paper makes the same mistake I did when
           I first started looking into patents - the assumption that
           they are there to preserve knowledge that might otherwise
           be lost. As Richard Stallman kindly pointed out to me:

           "That is one of the supposed benefits of patents. 
           However, in my experience, this benefit rarely occurs in the
           software field.  For example, many patented features are obvious
           when you see them.  So the patent tells us nothing we wouldn't
           know anyway."

           Software patents are mainly used by businesses to restrict the
           usage of software, to protect against competition, piracy and
           cheap / free software copies. Most people do not have easy access
           to patent libraries so any knowledge contained therein might as
           well be lost anyway or at the very least, considered inaccessable.

        3) Part 1.4 - Decompilation is not always necessary and indeed,
           in the case of programs written in 'C' is not always possible,
           due to the way in which the preprocessor uses macros. Scripting
           languages such as TCL and Perl don't need decompiling - you have
           the source code already there.

           Internal software is often kept secret to maintain a competitive
           advantage over the competition. For example, I know of at least
           one computer games firm that uses some specially written software
           to compress its texture maps into a very small space - better
           than most of the competition can do. Reverse engineering the game
           will not help as the compression is not part of the game itself.
           Supposing they patented their compression method. This would NOT
           benefit them in any way as:
                1) It would allow the competition access to their software.
                   Even if they get royalties off every program the
                   competition sells, for each program the competition sell
                   their own games may sell less units. (Consumers only have
                   limited spending power and can't buy every game on sale).

  2) Internally written software may infringe on an existing
                   patent. Attempting to patent it may actually reveal that
                   someone else has already patented the same idea. Oops!
                   Interestingly, Unisys is attempting to charge people
                   for using GIF files on their 'intranets'.

          This again shows up two important problems with software patents:

             a) It is almost impossible to write industrial strength
                software without infringing on somebody's patent. - I
                strongly suggest that this is made clearer somehow in your
                paper, as it is a major argument against software patents.

                If you do a rough estimation, you can work out that a
                fairly typical piece of commercial quality software contains
                around 500 to 1000 algorithms, some trivial, others used
                as major building blocks and are repeatedly used throughout
                most of the code. The calculations to 'prove' this are as
                follows.
                   Assume a 50,000 line program (a medium sized program)
                with about 200 lines per procedure on average . If each
                procedure uses just 2 algorithms, then :
                    50000 / 200 = 500 / 2 = 250 routines.
                    250 * 2 = 500 algorithms per program.
                If your program has about 100 features, I think this figure
                feels about right. But if we take it to the other extreme,
                and assume that most of the algorithms used are trivial,
                say 95% of them, out of 500 algorithms that still leaves
                25 KEY algorithms to deal with - any one of which will
                require a major patent search to verify its status. With
                the ever increasing number of software patents made worldwide
                , I don't think it is an exaggeration to say this represents
                a major investment of time and energy, even for as few as 25
                algorithms (heaven help those with 500 or more!), to do a
                thorough and exhaustive patent search to determine the status
                of those algorithms.

             b) Software patents promote secrecy, although in the context of
                maintaining a competitive advantage in a difficult market,
                it is more the threat of competition and free software rather
                than patent infringement that tends to restrict the
                availability of some software related knowledge.

        4)  In Section 2.6, third to last paragraph,

                "In particular, Patent law should not restrict the
                right for authors to grant the right to users or
                distributors to copy a software"

            If I understand you correctly, you are suggesting that copyright
            protection is removed from any software that has at least part
            of it protected by patent laws ? I don't think this is a
            valid option. If we consider my software model, the vast
            majority of a complete software application is protected by
            copyrighted material, especially if it contains images, sounds
            and text. I am sure there are a large number of people out
            there that would not appreciate losing their rights simply
            because their work is stored in a computer program that happens
            to contain patented technology.

            I think this is the 'other' great problem with software patents-
            They unduly restrict the copyrights of software authors and the
            public who constitute the largest body of computer users on the
            planet.

        5) Section 2.10. "Meta programming" raises some interesting questions
           about both copy and patent rights. If we take the example of a
           HTML Web Page creator, the user may never actually have to write
           a single line of HTML code - the software does it for them.

               I think the rights to anything generated by a computer
           should belong to the owner of that computer. This has a parallel
           with any inventions created by an employee of a company being
           owned by that company and not the inventors themselves. It should
           be pointed out, as I am sure you are aware, that independent
           invention is no defence against an existing patent - however it
           has been achieved.
            
        6) Section 3.3. (Free Software.)  There is a great myth, I think,
           that software is either free, or can be developed at very little
           cost. In terms of small, home grown software this is certainly
           true, as the costs usually involve a single computer and one
           person with a free (GNU) compiler. However, the typical costs
           for a commercial software house, currently employing around
           10-15 people tend to be about 500,000 English pounds per year
           - in wages. A quick bit of arithmetic and it works out that you
           have to sell about 1000 copies of a piece of software at 50
           pounds a go, EVERY MONTH just to balance the books. Another
           business model for bespoke (custom) software typically balances
           the books by providing specialist software to far fewer customers,
           say 5, at a much higher cost. It works out about 100,000 pounds
           per year per customer. In either case, the costs involved are
           far from trivial. For A better example, I refer you to the
           opening chapter of "The Mythical Man Month", which gives a
           far better discussion of the costs of software than I can.

           Quick Note : I am not against free software, and I think the
           threat to businesses from free software would be smaller if
           they adopted a service or distribution model rather than a
           manufacturing model for software. It can quite easily be shown
           that in these cases, free software may not only be beneficial,
           but the QUANTITY and AVAILABILITY of free software has no
           effect WHATSOEVER on the profitability or commercial viability
           of these business models. (Yes, I can prove this!)
 
        7) Section 4.3. "..a possible approach would be to ask inventors
           to publish the problem and wait one year to let people suggest
           solutions". As nice as this sounds, I think it has one major
           flaw. If you tell people that a problem has a solution, they
           will find it. Also the time, effort and manpower to implement
           this across Europe would be imense due to the sheer numbers of
           software patents likely to be filed. 

        8) Finally, one last comment on section 4.8. Software patents
           give large businesses very powerful monopolies. This is actually
           against the objectives and principles (articles 7 & 8) of the
           TRIPS agreement which states :

           Article 7 - Objectives :

             "The protection and enforcement of intellectual property
              rights should contribute to the promotion of technological
              innovation and to the transfer and dissemination of technology,
              to the mutual advantage of producers and users of
              technological knowledge and in a manner conducive to social
              and economic welfare, and to a balance of rights and
              obligations."


          Article 8 - Principles :

            "1.   Members may, in formulating or amending their laws and
                  regulations, adopt measures necessary to protect public
                  health and nutrition, and to promote the public interest
                  in sectors of vital importance to their socio-economic
                  and technological development, provided that such measures
                  are consistent with the provisions of this Agreement. 

            2.    Appropriate measures, provided that they are consistent
                  with the provisions of this Agreement, may be needed to
                  prevent the abuse of intellectual property rights by right
                  holders or the resort to practices which unreasonably
                  restrain trade or adversely affect the international
                  transfer of technology. "

-----------------------------------------------------------------------------

            I believe Software patents would adversely affect the copyright
            protection of users and developers alike and therefore should
            not legally be allowed. 

 Sorry for the length, I'll try to keep things much shorter in future. :-)

    Regards,

       Nick Fleming.

21st September 1999.






