Source files of,,,,, and Contribute:
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

drm-and-gplv3.en.xhtml 19KB

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <html>
  3. <head>
  4. <title>DRM and GPLv3</title>
  5. </head>
  6. <body>
  7. <h1>DRM and GPLv3</h1>
  8. <p>For printing, there is also available <a href="drm-and-gplv3.en.pdf">a
  9. PDF of this document</a>.</p>
  10. <p>For more information about GPLv3 and the consultation process,
  11. see <a href="gplv3.html">FSFE's GPLv3 project page</a>.</p>
  12. <p>This document shows the changes which are proposed for version three
  13. of the GNU General Public License which deal with Digital Restrictions
  14. Management (DRM). It includes public comments made by Richard
  15. Stallman and Eben Moglen.</p>
  16. <h2>Headings</h2>
  17. <ul>
  18. <li><a name="toc_About-this-document" href="#About-this-document">1 About this document</a></li>
  19. <li><a name="toc_Notes-in-preface" href="#Notes-in-preface">2 Notes in preface</a></li>
  20. <li><a name="toc_Defining-complete-source-code" href="#Defining-complete-source-code">3 Defining complete source code</a>
  21. <ul>
  22. <li><a href="#Defining-complete-source-code-em0">3.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006</a></li>
  23. <li><a href="#Defining-complete-source-code-rms0">3.2 Richard Stallman, speaking in Brussels, February 25th 2006</a></li>
  24. <li><a href="#Defining-complete-source-code-rms1">3.3 Richard Stallman, speaking in Turin, March 18th 2006</a></li>
  25. </ul>
  26. </li>
  27. <li><a name="toc_Permission-to-circumvent-restrictions" href="#Permission-to-circumvent-restrictions">4 Permission to circumvent restrictions</a>
  28. <ul>
  29. <li><a href="#Permission-to-circumvent-restrictions-em0">4.1 Eben Moglen, speaking at GPLv3 launch, January 16th 2006</a></li>
  30. <li><a href="#Permission-to-circumvent-restrictions-rms0">4.2 Richard Stallman, speaking in Turin, March 18th 2006</a></li>
  31. </ul>
  32. </li>
  33. <li><a name="toc_Closing-comments" href="#Closing-comments">5 Closing comments</a></li>
  34. </ul>
  35. <h2 id="About-this-document">1 About this document</h2>
  36. <p>This document is published by FSFE to aid understanding of the
  37. proposed changes to the GNU General Public License (GPL) with respect
  38. to Digital Restrictions Management (DRM). It quotes version two of
  39. the GPL, the first published draft of version three of the GPL,
  40. Richard Stallman (the author of the GPL), and Eben Moglen (the legal
  41. counsel of FSF).</p>
  42. <p>The above people had no part in the compilation of this document or
  43. the selection of material for inclusion. Ciaran O'Riordan was
  44. responsible for those activities.</p>
  45. <h2 id="Notes-in-preface">2 Notes in preface</h2>
  46. <table>
  47. <tr align="left">
  48. <th valign="top" width="50%">GPLv2 </th>
  49. <th valign="top" width="50%">GPLv3, first draft</th>
  50. </tr>
  51. <tr align="left">
  52. <td valign="top" width="50%">(no corresponding section in version two)</td>
  53. <td valign="top" width="50%">Some countries have adopted laws prohibiting software that
  54. enables users to escape from Digital Restrictions Management. DRM is
  55. fundamentally incompatible with the purpose of the GPL, which is to
  56. protect users' freedom; therefore, the GPL ensures that the software
  57. it covers will neither be subject to, nor subject other works to,
  58. digital restrictions from which escape is forbidden.</td>
  59. </tr>
  60. </table>
  61. <h2 id="Defining-complete-source-code">3 Defining complete source code</h2>
  62. <table>
  63. <tr align="left">
  64. <th valign="top" width="50%">GPLv2 </th>
  65. <th valign="top" width="50%">GPLv3, first draft </th>
  66. </tr>
  67. <tr align="left">
  68. <td valign="top" width="50%">(no corresponding section in version two)</td>
  69. <td valign="top" width="50%">Complete Corresponding Source Code also includes any encryption
  70. or authorization codes necessary to install and/or execute the source
  71. code of the work, perhaps modified by you, in the recommended or
  72. principal context of use, such that its functioning in all
  73. circumstances is identical to that of the work, except as altered by
  74. your modifications. It also includes any decryption codes necessary to
  75. access or unseal the work's output. Notwithstanding this, a code need
  76. not be included in cases where use of the work normally implies the
  77. user already has it.</td>
  78. </tr>
  79. </table>
  80. <h3 id="Defining-complete-source-code-em0">3.1 Eben Moglen speaking at the GPLv3 launch, January 16th 2006</h3>
  81. <p><a href=""></a></p>
  82. <p>I would translate that for vernacular use, into "plays all the same movies".</p>
  83. <h3 id="Defining-complete-source-code-rms0">3.2 Richard Stallman, speaking in Brussels, February 25th 2006</h3>
  84. <p><a href=""></a></p>
  85. <p>[GPLv3] doesn't limit what technical jobs the software can do, because
  86. that's another principle of free software, people should be able to
  87. use the software and run it for any purpose, and change the software
  88. to do whatever they like. So we have not said "you can't change this
  89. software to do the jobs that you would do if you were trying to
  90. restrict people". Instead, we focussed on a different aspect of DRM,
  91. which is, stopping the users from controlling the software that runs
  92. in their machine. Treacherous Computing is designed such that if you
  93. modify the software, it won't be able to do the job.</p>
  94. <p>They use things like checksumming the software and checking whether it
  95. has been signed and authorised, and so if you modify the program and
  96. you install it, since your version hasn't been signed by them, your
  97. version isn't really authorised, so either it won't run, or it won't
  98. be able to open the files that you want to open or the network server
  99. will refuse to talk to it, or in one way or another you will be
  100. blocked from really doing the job that the original version was set
  101. out to do.</p>
  102. <p>So what we're doing in GPL version three is, we're saying they're
  103. welcome to design free software to do whatever it is they want, and
  104. they're welcome to set up the machine such that it won't run a program
  105. unless it's been signed, but they have to give you the signature key
  106. so that you can sign your own version.</p>
  107. <p>They must give you the signature key so that you can authorise your
  108. version at least to run on your machine.</p>
  109. <p>Now, if each machine has a different signature key, they only have to
  110. give your signature key to you. Your machine's signature key. They
  111. have to give it to you, they don't have to publish it, they don't have
  112. to give it to anyone else. They can even promise you that they won't
  113. give it to anyone else, but they have to give it to you.</p>
  114. <p>So this ensures that you really have, practically speaking, the
  115. freedoms to modify the program, put it into the machine, and have it
  116. really run and it must be able to do the same jobs on the same data,
  117. which means it must be able to access the same files that the
  118. unmodified version would have accessed, or talk to the same network
  119. server that the unmodified version would have talked to.</p>
  120. <p>So whatever the program needs to be able to give the network server so
  121. that the network server will talk to it, they have to give that to
  122. you.</p>
  123. <p>[An audience member asks if this will stop GNU/Linux distributions
  124. from distributing signed binaries]</p>
  125. <p>Not at all. When the purpose is to prove this is "my" version of the
  126. binary and it was not changed by someone else, that's a completely
  127. different scenario because they're not giving you a machine that
  128. refuses to run the software unless it's been signed by them ...and
  129. therefore there's no harm in that. So, for instance, if you want to
  130. distribute binaries or sources of your program, and sign them so that
  131. people can tell they're your authentic versions, you're still free to
  132. do that, and they can still get the corresponding public key and check
  133. your signature.</p>
  134. <p>The reason that these requirements in the GPL don't apply in this case
  135. is that, in this case, the user checks if he wants to. It's not a
  136. machine that's checking it and refusing to run the software if it
  137. isn't signed by you. If you give them a machine that won't run the
  138. program unless the binary has been signed, then you have to give them
  139. the signature, but if you just sign your binaries or your sources and
  140. say "check them if you wish", the requirements don't apply in that
  141. case. The requirements say you must include whatever keys or codes are
  142. necessary to authorise a modified binary so that it will function the
  143. way the original binary would. If it isn't needed to make the modified
  144. binary function, there's no requirement.</p>
  145. <p>This is an issue that we worked on quite a bit, figuring out how to
  146. block the corruption of our software for Digital Restrictions
  147. Management without limiting the technical features it can have. So
  148. instead of attacking the technical features of DRM, we attack the
  149. thing that makes DRM evil, which is the fact that it has been taken
  150. out of the user's control. So we thwart DRM by insisting that the user
  151. must retain the control of the machine and as long as you respect
  152. that, you can program the software to do whatever you like.</p>
  153. <h3 id="Defining-complete-source-code-rms1">3.3 Richard Stallman, speaking in Turin, March 18th 2006</h3>
  154. <p><a href="/campaigns/gplv3/torino-rms-transcript.html#drm-and-laws"></a></p>
  155. <p>Freedom zero says you are free to run the program as you wish for any
  156. purpose. We are not limiting freedom zero. If someone wants to run a
  157. program to encrypt something, that's fine. If someone wants to run a
  158. program to decrypt something, that's fine. If somebody wants to run a
  159. program to produce an encrypted medium that's difficult to access,
  160. that's fine. If somebody has some other GPL covered program to access
  161. that media and he wants to run it to access the encrypted data, that's
  162. fine too. And distributing software that could be used for those
  163. purposes is also entirely permitted, and will be permitted by GPL
  164. version 3.</p>
  165. <p>However, freedom zero does not include imposing your purposes on
  166. someone else who is going to run the program, because his freedom zero
  167. is the freedom to run the program for any purpose of his. So, there is
  168. no such thing as the freedom to use any software to impose your
  169. purpose on someone else. In fact, that should be illegal. I'm
  170. serious. And that's what DRM is.</p>
  171. <p>When somebody distributes a player, that has DRM in it, what he's
  172. doing is trying to restrict your running of your computer for his
  173. purposes, which is directly in conflict with the four freedoms that
  174. you should have.</p>
  175. <p>And that's what GPLv3 is in certain ways trying to stop and it does
  176. this simply by assuring you all four of the freedoms when you use the
  177. software. You see, because DRM - Digital Restrictions Management - is
  178. a plan to restrict the public, anyone distributing a version of a
  179. GPL-covered program as a player for DRM media always does something to
  180. stop the public from modifying the player, because his purpose in
  181. distributing a DRM player is to restrict you, he has to make sure you
  182. can't escape from his restrictions, from his power. That means he is
  183. always going to try to deny you freedom one. Freedom one is the
  184. freedom to study the source code of the program and change it to do
  185. what you want. What you want, might be, to escape from his
  186. restrictions, and if you have freedom one, you can escape from his
  187. restrictions. So his goal is somehow or other, for practical purposes,
  188. to deny you freedom number one.</p>
  189. <p>Now, what he might do is, use non-free software, and then completely
  190. deny you freedom number one. In fact, that's what they usually do. We
  191. can't change that with the GPL because they're not including any
  192. GPL-covered code. They don't have to pay attention to the GPL. There
  193. should just be a law against it. It should be illegal. DRM should be
  194. illegal, but we can't change laws by modifying the GPL.</p>
  195. <p>However, there are those that want to use GPL-covered software for
  196. this purpose, and they want to do so by turning freedom number one
  197. into a sham, a facade. So they plan to do something like, make a
  198. modified version of the GPL-covered program, which contains code to
  199. restrict you, and distribute that to you and somehow arrange that you
  200. can't really modify it, or if you modify it it won't run, or if you
  201. modify it and operate it, it won't operate on the same data.</p>
  202. <p>They do this in various ways. This is known as Tivo-isation because
  203. this is what the Tivo does. The Tivo includes some GPL-covered
  204. software. It includes a GNU+Linux system, a small one, but it does,
  205. and you can get the source code for that, as required by the GPL
  206. because many parts of GNU+Linux are under the GPL, and once you get
  207. the source code, you can modify it, and there are ways to install the
  208. modified software in your Tivo and if you do that, it won't run,
  209. period. Because, it does a check sum of the software and it verifies
  210. that it's a version from them and if it's your version, it won't run
  211. at all. So this is what we are forbidding, with the text we have
  212. written for GPL version three. It says that the source code they must
  213. give you includes whatever signature keys, or codes that are necessary
  214. to make your modified version run.</p>
  215. <p>In other words, it ensures that freedom number one is real. That you
  216. really can modify the source code, install it, and then it will run
  217. and not only that, we say, they must give you enough to make the
  218. modified version operate on the same range of data. Because, you see,
  219. Microsoft's plan, which they call Palladium, and then they change the
  220. name - they change these names frequently so as to evade criticism, to
  221. make criticism difficult, to make any kind of comment on their plans
  222. difficult. You talk about their plan and they say "Oh, we've dropped
  223. that, we have a different plan now". And probably it is different in
  224. some details, but the point is that they generate encryption and
  225. decryption keys using a check sum of the program which means that a
  226. different program can't possibly access the same data. Although,
  227. that's just the base level, and then on top of that they implement
  228. other facilities where the program simply has to be signed by the
  229. authorised signer in order to be able to access the data.</p>
  230. <p>Well, GPL version three says that if they distribute a GPL-covered
  231. program in this way, they must provide you with the key necessary so
  232. that you can sign your version and make it access the same
  233. data. Otherwise, they would say "Yes, you can run your modified
  234. version, but it will have a different check sum, so your version will
  235. only operate on data files made for your version, just as our version
  236. only operates on data made for our version". And what that means is
  237. that all the available files will only work with their version and
  238. your changed version will not be able to access them. That's exactly,
  239. in fact, how Treacherous Computing is designed to work. The plan is
  240. that they will publish files that are encrypted and it will be
  241. impossible to access those files with any other program, so GPL
  242. version three is designed to ensure that you really, effectively, get
  243. the freedom to take the program you were given, modify it, and run the
  244. modified version to do a different thing on the same data on the same
  245. machine.</p>
  246. <h2 id="Permission-to-circumvent-restrictions">4 Permission to circumvent restrictions</h2>
  247. <table>
  248. <tr align="left">
  249. <th valign="top" width="50%">GPLv2 </th>
  250. <th valign="top" width="50%">GPLv3, first draft </th>
  251. </tr>
  252. <tr align="left">
  253. <td valign="top" width="50%">(no corresponding section in version two)</td>
  254. <td valign="top" width="50%">Digital Restrictions Management.<br />
  255. <br />
  256. As a free software license, this License intrinsically disfavors
  257. technical attempts to restrict users' freedom to copy, modify, and
  258. share copyrighted works. Each of its provisions shall be interpreted
  259. in light of this specific declaration of the licensor's
  260. intent. Regardless of any other provision of this License, no
  261. permission is given to distribute covered works that illegally invade
  262. users' privacy, nor for modes of distribution that deny users that run
  263. covered works the full exercise of the legal rights granted by this
  264. License.<br />
  265. <br />
  266. No covered work constitutes part of an effective technological
  267. protection measure: that is to say, distribution of a covered work as
  268. part of a system to generate or access certain data constitutes
  269. general permission at least for development, distribution and use,
  270. under this License, of other software capable of accessing the same
  271. data.</td>
  272. </tr>
  273. </table>
  274. <h3 id="Permission-to-circumvent-restrictions-em0">4.1 Eben Moglen, speaking at GPLv3 launch, January 16th 2006</h3>
  275. <p><a href=""></a></p>
  276. <p>That is to say, distribution of a covered work as part of a system to
  277. generate or access certain data, constitutes general permission, at
  278. least, for development, distribution, and use, under this license, of
  279. other software capable of accessing the same data.</p>
  280. <p>In the United States, this language, we believe, has specific
  281. consequences with respect to the Digital Millennium Copyrights Act. We
  282. wish to point out that no GPL'd program can be regarded as a measure
  283. in circumvention of any other GPL'd program's access protection
  284. schemes. We believe that this language will also provide some
  285. assistance in achieving similar results under statutory enforcement
  286. schemes in pursuance of the EUCD and other international regulation
  287. meant to assist disablement of users.</p>
  288. <p>Here again we are simply speaking to courts to explain how we
  289. understand the intent of licensors. We have no power to change local
  290. law, but we do have power by giving permission to make clear where our
  291. permissions should not be mis-read under local laws that presume user
  292. disablement from mere technological existence.</p>
  293. <h3 id="Permission-to-circumvent-restrictions-rms0">4.2 Richard Stallman, speaking in Turin, March 18th 2006</h3>
  294. <p><a href="/campaigns/gplv3/torino-rms-transcript.html#drm-and-laws"></a></p>
  295. <p>There's one other way that we're trying to thwart DRM. You see, one
  296. thing they do is, some countries, including, I'm sad to say, this one,
  297. have adopted unjust laws that support DRM. The exact opposite of what
  298. they ought to do, which is prohibit DRM, and what they say is: when
  299. media have been encoded for DRM, then writing another program to
  300. access that media is illegal, and the way they do this is they say
  301. that DRM constitutes an effective, they call it "protection" I call it
  302. "restriction", measure. So, what we say is, by releasing a program
  303. under GPL version three, you agree that it is not an effective
  304. restriction measure. In other words, you authorise others to develop
  305. on their own software to read the output of your program.</p>
  306. <p>This also is a matter of recognising and respecting their freedom to
  307. develop software and use their computers.</p>
  308. <h2 id="Closing-comments">5 Closing comments</h2>
  309. <p>A year-long consultation is being held to spread awareness of the
  310. proposed changes to GPLv3, and to solicit comments. This document was
  311. produced as part of FSFE's efforts to assist this process. For more
  312. information about FSFE's efforts, see:</p>
  313. <ul>
  314. <li><a
  315. href="/campaigns/gplv3/"></a></li>
  316. </ul>
  317. <p>The official website of the GPLv3 process is:</p>
  318. <ul>
  319. <li><a href=""></a></li>
  320. </ul>
  321. <p>Free Software Foundation Europe e.V.<br />
  322. Talstraße 110<br />
  323. 40217 Düsseldorf<br />
  324. Germany<br />
  325. Phone: ++49 700 - 373387673 (++49 700 FSFEUROPE)<br />
  326. European office e-mail: office [at]</p>
  327. </body>
  328. </html>