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: Alan Mackenzie
Subject: Re: [ROFL] GCC's GPLv3 "Updated License Exception"
Date: Thu, 5 Feb 2009 12:06:32 +0000
User-agent: Mutt/1.5.9i

Hi, Alfred!

On Thu, Feb 05, 2009 at 09:19:56AM +0100, Alfred M. Szmidt wrote:
>    >    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".

In your sentence "Someone had to write ... and that is copyrightable",
"the assembly code for generation of a switch statement", what you said
is true if (a) you mean the bit of the compiler which generates the
switch statement and (b) this bit of the compiler is written in
assembler.  I don't think that's what you meant, though.

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.

> So, a naive switch statement might not be copyrightable, but a complex
> one sure is.

I think you mean here that if the machine code generated for the switch
statement was more refined than the crude fragment sketched above, this
would make that machine code copyrightable by the compiler writer.
Again, this is false for the same reason: the compiler writer didn't
write the constant 5862 which will be contained, somehow, in that more
subtle machine code.

-- 
Alan Mackenzie (Nuremberg, Germany).




reply via email to

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