gnu-misc-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ROFL] GCC's GPLv3 "Updated License Exception"


From: Alfred M. Szmidt
Subject: Re: [ROFL] GCC's GPLv3 "Updated License Exception"
Date: Thu, 05 Feb 2009 13:12:53 +0100

   >    >    The degree of creativity involved in writing a few
   >    >    comparison and conditional/unconditional jump
   >    >    instructions is too low to merit copyright, just as
   >    >    composing the sentence "This is silly." would be.

   >    > Well, depends... Duff's device is quite a smart way to
   >    > unroll a loop, and loop unrolling is quite trivial.

   >    > Saying out right that making a efficient switch statment is
   >    > trivial, is really not true, if you have a long one, you
   >    > really wish to do it as fast as possible, and might resort
   >    > to vector tables or other stuff.

   >    Trivial it may or may not be, but what I said was that it's
   >    too trivial TO MERIT COPYRIGHT.  In any case, the machine
   >    instructions in a piece of object code weren't written by the
   >    copyright non-owner.  They were mechanically generated by a
   >    program (a compiler) written by him, the creative input being
   >    supplied by the author of the C code.

   > Someone had to write the assembly code for generation of a switch
   > statement, and that is copyrightable.  The compiler then inserts
   > parts of it verbatim (prelude, epilouge code for example) into
   > the program, or with some other transformation on top of that.

   Let's get the terminology right: "Assembly code" is a source file
   which an assembler processes, a fragment of which might look like
   "mov #5, d4".  I think you were talking more about "machine code"
   than "assembly code".

I see no difference between either, assembler is a one-to-one
translation to machine code.  One is a set of human readable
memenonics, the other is computer readable.

   What I think you meant is that the sequence of machine code, part
   of which might be representable as:

       ...
       cmp #5862, d1
       bne 52
       ...

   generated from a C source file, the corresponding fragment of which
   is:

       case 5862:

   is copyrightable by the writer of the compiler.  This is false,
   since the compiler writer isn't the author of that machine code.
   In particular, she didn't write the constant 5862.  The was written
   by the author of the C source file.

I am not talking about a trivial case statement that only consists of
a jmp.  I am talking about a vector jump table using hashes.  This
requires a big prelude, and a bunch of helper functions, _ALL_ of this
is copyrightable.

You clearly have absolutley no clue what is going on in an advanced
compiler.  You also clearly insist of assuming what I mean when what I
wrote is as plain as the sun shine outside my window.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]