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 13:11:04 +0000
User-agent: Mutt/1.5.9i

Afternoon, Alfred!

On Thu, Feb 05, 2009 at 01:12:53PM +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".

> 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.

Possibly.  I'm trying to avoid us falling into stupid arguments about
what words mean.  I'm also trying to clear up the ambiguities in your
posts, of which the number is non-zero.  ;-)

>    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.

OK.  you're saying a direct coding of the switch statement (as above) is
not copyrightable, but an ingenious coding is.

No.  You can only copyright what you write.  Maybe the compiler writer
can copyright the sophisticated prelude; but even so, she won't have
written it EXACTLY as it appears in the code.  Anyhow, did she actually
write the prelude?  Or did she write code to generate it?  If the latter,
is this copyrightable in law?  (I don't know the answer to that
question.)

She certainly can't copyright the hashed jump table, because she didn't
write it.  If anybody wrote this jump table, it is the author of the C
source, since it is a purely mechanical manipulation, no matter how
sophisticated, of his source file.

Note that the copyright of executable files is invariably held to be held
by those who have copyright of the source files, not those who wrote the
compiler.

If the use of a sophisticated compilation of a switch statement should be
restricted to the person who devised it, the mechanism is a _patent_, not
copyright.

> You clearly have absolutley no clue what is going on in an advanced
> compiler.

Oh dear!  Hey, you're better than some of the idiots that hang around
this newsgroup, Alfred!

> You also clearly insist of assuming what I mean when what I wrote is as
> plain as the sun shine outside my window.

Yes.  It's clouded over in Nuremberg, too.  It helps to be completely
clear about what we're talking about, otherwise the discussion
degenerates into meaninglessness and squabbles about words.  With this
sort of subject, it's very difficult to write with this clarity, and your
posts haven't been very clear at all.  Please at least acknowledge that
I'm countering your points directly rather than diverting you into stupid
squabbles.

Why not consider it as me lending my expertise as a native English
speaker?  :-)

-- 
Alan Mackenzie (Nuremberg, Germany).




reply via email to

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