Gentoo Archives: gentoo-user

From: Fernando Rodriguez <frodriguez.developer@×××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: [WAS: keyboard stops working] Recent kernels block the loading of non-GPL kernel modules
Date: Thu, 20 Aug 2015 07:25:49
Message-Id: BLU436-SMTP1018F899F328535B93D09A98D660@phx.gbl
In Reply to: Re: [gentoo-user] Re: [WAS: keyboard stops working] Recent kernels block the loading of non-GPL kernel modules by Rich Freeman
1 On Wednesday, August 19, 2015 10:53:39 PM Rich Freeman wrote:
2 > On Wed, Aug 19, 2015 at 10:37 PM, Fernando Rodriguez
3 > <frodriguez.developer@×××××××.com> wrote:
4 > >
5 > > Try a different exercise. Go buy a Quran. Now use it as a cryptographic key
6 to
7 > > encrypt an email. Is the email now a derived work? That's no a perfect
8 analogy
9 > > but it's more like what happens when you dynamic link a library.
10 >
11 > But that isn't what happens with dynamic linking.
12 >
13 > In the paragraph below, insert word 1 after the 3rd word in place of
14 > the xx, and insert word 2 after the 9th word in place of the xx.
15 >
16 > This is an xx of dynamic linking. I have a xx where various elements
17 > are replaced with others.
18 >
19 > Somebody else will tell you next week what word 1 and word 2 are. He
20 > owns the copyright on those words, but he will refer to them as word 1
21 > and word 2.
22 >
23 > Dynamic linking doesn't render code unreadable the way encryption
24 > does. It just means that not all of the code is actually present.
25 > All the original code written by the author of the object file is
26 > actually present, and in completely executable form except where it
27 > accesses memory that isn't a part of the object file. You can
28 > actually execute parts of an object file as a result.
29
30 The point I was trying to make is that just like the email would be useless
31 unless I have a Quran so will a program be useless without the library it
32 depends on. I did say it wasn't a very good analogy.
33
34 >
35 > > It's not the symbols that are copyrighted, it's the code that those
36 symbols
37 > > load into your programs address space.
38 >
39 > The symbols don't load anything. The linker loads the external code
40 > into RAM, and inserts its address into your own code where it
41 > references the exported symbols. In the example above my instructions
42 > don't actually do anything. They just tell you what to do when you
43 > find out what words 1 and 2 are.
44
45 The linker/loader doesn't load anything either, it just tells the kernel to
46 load it...the kernel doesn't load it either, it tells the cpu to do it and so
47 on. The point is that the symbols are instructions too, they're just not
48 executed by the processor but interpreted by the loader. It all starts with
49 the developer's decision to link against the library in order to take
50 advantage of _existing works_.
51
52 > > Here's a better example, see the Mona Lisa example in wikipedia[1]. Now,
53 > > suppose I write a small program that downloads a Mona Lisa picture of the
54 > > internet and displays it with a mustache overlaid? Is my program now a
55 > > derivative work of the Mona Lisa? That's *exactly* what happens when you
56 > > dynamic link to a library.
57 >
58 > That program would not be a derivative work of the Mona Lisa. The
59 > picture it displays would be a derivative work of the Mona Lisa. The
60 > analogy isn't perfect, but it is decent.
61 >
62 > Executing the program might or might not be a violation of copyright,
63 > but distributing the program itself would not be. At most you could
64 > argue it is inducing copyright violation, which is a horrible legal
65 > argument, but admittedly one that US courts have seemed to embrace.
66 > Go Mercia!
67
68 Yet just about everyone would agree that if I fireup gimp and edit the picture
69 and save it as a jpg would be a derived work. But for an end user there's no
70 difference. The difference is only in the implementation. Both files contain
71 binary code, one is interpreted by the cpu the other by an image viewer. One
72 is statically linked to the original work the other dynamically.
73
74 If this does goes to court a judge will have to determine if the letter of the
75 law still serves it's intended purpose if it doesn't (and it obviously
76 doesn't) then it's obsolete and the loophole needs to be patched.
77
78 --
79 Fernando Rodriguez

Replies