Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

The FSF, GPLv3 and DRM 388

whats-life-without-gpl writes "FSF has a thing against DRM. This article tries to explain why RMS isn't a DRM (Note that NewsForge is also owned by OSTG) fan and how GPLv3 is gearing up to protect against it. "
This discussion has been archived. No new comments can be posted.

The FSF, GPLv3 and DRM

Comments Filter:
  • by Anonymous Coward on Thursday August 10, 2006 @04:49PM (#15884418)
    Hardly. Slashdot features some of the most anti-GPL trolls around =- they can put the Microsoft Marketing department to shame on occasion.

    *waves to the trolls* Hi! This is for you!

    1) The GPL is only ever a problem for you if you want to distribute someone else's work that they already let you use for free.

    2) See point 1.

    Gift horse, mouth, examination via the anus... all those are things that spring to mind when I hear complaints about how restrictive the GPL is.
  • by Ed Avis ( 5917 ) <ed@membled.com> on Thursday August 10, 2006 @04:52PM (#15884452) Homepage
    TFA gets it wrong. Richard Stallman is opposed to DRM; look at the 'Defective By Design' real-world protests of earlier this year. But that's not the point here.

    Since the beginning the idea of free software (as rms sees it) is that if you use a program, you should have the freedom to modify it, among other freedoms. So if you have a Tivo, you should have the freedom to modify the software that runs on your Tivo. If Linux is GPLed, then it's clearly not allowed for the Tivo manufacturers to ship it with a label saying 'we forbid modifying the software'. It's also not allowed under the GPL for them to try blocking your freedom another way by withholding the source code. But under GPLv2 your freedom to change the program can still be taken away, by the manufacturer making the device only execute signed binaries (for which nobody but the manufacturer has the signing key). GPLv3 as proposed is about making sure your freedom to change the software running on your computer (or Tivo) isn't taken away like this.

    Of course anyone can write GPLed software that has DRM restrictions. But if you use it, you should have the right to modify it, and remove the DRM if you don't want DRM on your computer. That is the important point.

    Analogously: there is nothing in the GPL against charging a sum of money for the software. You can sell it for as much as you like. But if you do, the person who receives it still gets all the freedoms to use, share and change the program.
  • by ichin4 ( 878990 ) on Thursday August 10, 2006 @04:59PM (#15884502)
    It's not quite so simple. Suppose a manufacturer were to build a computer that would only run an OS signed with Linus's key. That turns his "signing key" into an "embedded key". The problem here is that there is no fundamental distinction between the two kinds of keys; it's just a question of how they are used.
  • by AuMatar ( 183847 ) on Thursday August 10, 2006 @05:01PM (#15884519)
    Its not the same at all. I buy Tivo hardware. I have the right to use it as I wish, since I own the hardware. A hardware mechanism that stops it from booting if unsigned prevents me from utilizing my rights as an owner. If the code Tivo uses is GPLed I'm being denied my rights twice- not only my rights as a hardware owner, but my rights under the GPL.

    Linux signing the key is different because its unenforced. Its a way of recognizing that Linux blesses this version of the kernel, but it doesn't stop you from running any other version of the kernel.
  • by Anonymous Coward on Thursday August 10, 2006 @05:03PM (#15884528)
    If a company, for example, edicts as policy that they won't accept any kernel save that signed by Linus, then that pretty much leaves everyone else out of the picture for Linux kernels, doesn't it? GPL or no, that company can't get a kernel from anyone else.

    If the company makes that decision for their own computers then that's fine. Just like I can make that decision for my computer.

    The problem arises when someone wants to sell to others a device running GPLd code and prevent those other people from being able to modify the code.

    The two situations aren't at all the same. It's silly to pretend that they are.
  • by nweaver ( 113078 ) on Thursday August 10, 2006 @05:06PM (#15884551) Homepage
    Bison (GNU's version of YACC) used to have the restriction that the output of Bison, since it was a large amount of code, was GPL. As a result, nobody used Bison except for GCC, because the liscence was untenible.

    I fear that GPLv3, by trying to force RMS's notion of "Liberty" more strongly (anti-DRM provisions, anti-closed-hardware provisions) will be a repeat: GPLv3 based software will only be used by the real FSF zealots. Everyone else will avoid it.

    Let us be thankful that Linus Torvald has more of a "tit for tat" notion rather than a liberty notion, and thus selected GPLv2 only.
  • by Decameron81 ( 628548 ) on Thursday August 10, 2006 @05:07PM (#15884557)
    The reason they have to do this is because people like to ignore the GPL while using GPL software.


    Technically speaking they are not ignoring the GPL.

    The purpose of the GPLv2 was never to force all hardware to run your custom software, it was to force other developers to publish their own changes to your code (please note that I am talking about the intents of the GPLv2, not the intents of the FSF). In other words: feel free to modify the software... just don't expect it to run in my hardware. And Linus simply chose the GPLv2 to distribute the kernel based on its intents, and not on the FSF's agenda (ie: the "quid pro quo" argument made by Linus demonstrates this point).

    I realize that there's a lot of people here that think this is wrong, and I respect that choice. But why can't Linus make his own choice? Isn't him in his full right to do so?
  • by Anonymous Coward on Thursday August 10, 2006 @05:09PM (#15884572)
    Well #1 is a pretty big goddamn problem and is the sole reason the GPL is seen as restrictive! It places a huge restriction on the use of code that more sensical licenses like BSD dont have. If you pro-GPL zealots can't understand that, then we give up.
  • by stratjakt ( 596332 ) on Thursday August 10, 2006 @05:15PM (#15884618) Journal
    You can't do anything with it. I can't modify or use it. I can't get video off my series 2 tivo any way other than the god-awful tivotogo pita encryption scheme. I can't slam in a 500gb hdd and tweak it into a networked storage device, etc.

    They comply with the letter of the "law", but not it's spirit. There's nothing open or free about tivo.

  • by Anonymous Coward on Thursday August 10, 2006 @05:19PM (#15884656)
    The DMCA prevents that if the device is capable of playing any protected media file.
  • by AuMatar ( 183847 ) on Thursday August 10, 2006 @05:21PM (#15884670)
    THe only restriction is to make sure that the code stays free and ensure the rights of the truely important person- the user- for eternity. If you pro-BSD zealots can't understand that, we give up.
  • by tchuladdiass ( 174342 ) on Thursday August 10, 2006 @05:27PM (#15884696) Homepage
    Um, nothing that Tivo does prevents you from modifying the source for the GPL'd software they ship. You just can't run the modified version on the hardware they sold you. This is no different then if they put the binary on a non-flash chip, or some other read-only media.

    So fundimentally, what's the difference between hardware only running signed code, and having the code on a PROM chip? Is the GPL V4 going to end up banning the use of read-only memory?
  • by MojoRilla ( 591502 ) on Thursday August 10, 2006 @05:29PM (#15884713)
    The irony here is that by requiring signed binaries, TiVO is both restricting and protecting users.

    Sure, by requiring signed binaries, you are restricted to run code only from TiVO. This restricts what users can do with their own hardware.

    At the same time, since these devices are now on networks, there is a real possibility of them getting hacked. If TiVO ran untrusted binaries, this probably would have already happened. Of course, this happens now with Series 1 TiVO's, but you can't put them on the net without hacking, and if you are smart enough to do that, you probably have a firewall. So in some ways TiVO is doing a good thing by only running trusted code.

    It is an interesting tradeoff.
  • by mrchaotica ( 681592 ) * on Thursday August 10, 2006 @05:40PM (#15884772)

    Complying with the letter of the license is not the same thing as complying with the spirit and intent of it. The GPL is designed to ensure that the user always has control over his hardware; since the TiVo won't run modified code, the user does not have this control. QED.

  • by sumdumass ( 711423 ) on Thursday August 10, 2006 @05:44PM (#15884797) Journal
    so, suppose Tivo leases the hardware instead of letting you buy it. Then everything would be ok right?

    You rights under the gpl require them to let you have the source code for GPLed software they distribute and possibly change it if that is your wish. Nothing in the GPL makes a claim that you are entitled to run that code on any specific hardware, is there? Not any provision that i know of.

    Having hardware and not being able to run whatever you want on it is a different story. If you want to do something the manufacturer didn't intend, then you are going to have to work around the limitations of the hardware. This includes limitations purposly implanted by the manufactuer. But, unless the hardware is GPLed, I don't see anything in the GPL guarenteeing this ability.

    This is a key example of why manufacturers don't want to provide GPLed drivers. It will be construed before the day is out that there is some fundelmental rights here and assure microsofts possition on the GPL being viral. Stop and really think about it from an angle outside the everything should be free attitude and look for the real issue.
  • by Great_Geek ( 237841 ) on Thursday August 10, 2006 @05:56PM (#15884884)
    It seems to me this loophole is already closed by (all of) the drafts of GPLv3. It does not matter which key owned by whom, the KEY TEST (sorry, can't resist) is whether a modified version will run. If TivoV3 uses Linus' signature as DRM, then TivoV3 must give the user a way to sign using Linus' key; which means TivoV3 would be stuck.

    The second draft is very explicit and well thought-out; the question is whether you agree with the intent. On the one side, RMS (and an all-star cast) with a strong philosophical position supported by well thought-out arguments. On the other hand, Linus with some spur of the moment comments opposing RMS (at least I hope Linus' comments are spur of the moment because his position is not well articulated).

  • by Hope Thelps ( 322083 ) on Thursday August 10, 2006 @05:59PM (#15884907)
    Stop and really think about it from an angle outside the everything should be free attitude and look for the real issue.

    The sensible angle to look at it from is "what am I trying to achieve in licensing my software?"

    If you want users of your software to receive the right to modify it then these terms are likely to suit your aims.

    If you want manufacturers to be able to limit the ability of recipients to modify your code then the GPL is probably not a good license for you, and never was.
  • by DShard ( 159067 ) on Thursday August 10, 2006 @06:00PM (#15884918)
    Even if they lease the hardware to you, they still are distributing licensed software for your use. They can't change the GPL with another licenses agreement. Anyone implementing this scheme is getting away with it do to lack of attention from users. So that ISP who has a DSL modem running linux who isn't offering you the source code is breaking contract law with their vendors, namely the copyright holders.

    It doesn't matter what manufactures want. They aren't obligated to support linux. They aren't forced to use linux in their closed embedded systems. But if they do use it, since it means less cost, easier maintenance and higher quality, they are agreeing to the contract under which that code may be distributed. In the case of Windows CE, there is a definite cost and an onerous contract you need to agree to. Linux to has a cost too. You need to offer the source to anyone you give the software to. Leased, bought or free, you still need to offer them that.
  • by AJWM ( 19027 ) on Thursday August 10, 2006 @06:33PM (#15885105) Homepage
    I buy Tivo hardware. I have the right to use it as I wish, since I own the hardware. A hardware mechanism that stops it from booting if unsigned prevents me from utilizing my rights as an owner.

    Uh, no, it's just that the hardware you bought was damaged by design when you bought it. Tough, you should have bought something else. If I bought a PPC Mac would the fact that it won't boot Windows be violating my rights as an owner? No. (Of course, some of us would see that as a feature rather than a bug.)

  • by noidentity ( 188756 ) on Thursday August 10, 2006 @06:56PM (#15885223)
    I haven't heard the Bison story before, so I'll go by what you wrote. The difference is that the proposed GPL v3 restrictions will only affect those wanting to make closed hardware that runs a particular binary built from GPL software, while the Bison example affects anyone not wanting to use the GPL on the output. Unless I'm missing something, these differences are vast.

    How would the proposed GPL v3 affect average programmers in a negative way, other than denying us pieces of hardware that come with GPL binaries and source code but which we can't use with modified versions of the source?
  • by AuMatar ( 183847 ) on Thursday August 10, 2006 @06:58PM (#15885240)
    THere's a difference between having to make my code work and them preventing any code not coming from them from working. In the first case I know the risks, and if I fuck up the hardware its my fault. In the second, my rights as owner of the hardware are being removed.

    And the GPL can easily be extended to hardware- thats what the GPLv3 does. It ensures that if you use GPLed code in your hardware product, that the user must maintain the right to modify the code. It protects the principles of Free Software that the GPL was created for. If the hardware maker wants to take away my rights as a user, they can write their own damn software to do it with.
  • by Anonymous Coward on Thursday August 10, 2006 @07:04PM (#15885261)
    It's my right as a software developer to forbid manufacturers to bundle software i wrote if they lock their platform. That's why i'm sooo waiting for the GPL3.
  • by Anonymous Coward on Thursday August 10, 2006 @07:04PM (#15885267)
    I don't understand. One side says "DRM is EVIL! We hate the RIAA!" and "If you don't support GPLv3, MS will lock your machine out of Linux!" (which they could do anyone regardless of what the GPL says) This is absurd.

    DRM can be used for good. Let's say you want to build an electronic voting machine properly. You use entirely GPL source code. All parts are off-the-shelf and well known. Everything is open to public review. However, when you actually go to send the machines out, you want to be damn sure those machines are running the same code you put on them at the factory. That means locked and tagged boxes, and that also means DRM. Under the GPLv3 draft, you'd have to publish the secret key to the world, making that security worthless.

    Another case: Let's say I make a system that monitors building security. I want to be open about how it all works, so I use GPL'd hardware. However, even my customers want to make sure that the software isn't tampered with. That means DRM. Again, if I have to publish the secret key, someone could write a modified version, sign it with my key, and get it on the machine.

    The GPLv3 draft makes it impossible to create tamper-resistant software. (Note, I didn't say tamper-proof, there would still be ways around it, but as part of a layered security, it is necessary.)
  • by jetxee ( 940811 ) on Thursday August 10, 2006 @07:16PM (#15885321) Journal
    Most of GPL software will easily become GPLv3, thanks to this clause:
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    So if developers support it (I expect they will do), a lot of software will turn to explicit GPLv3.

    Of course, one could always make a fork of some particular project and allow GPLv2 only. Yet starting from this point it is impossible to reuse any GPLv3 code in it. Whole libraries might become not suitable for this GPLv2 fork, at least the new versions of these libraries. Maintaining such GPLv2 forks may become really difficult. Linux kernel is probably one of few projects which may stay with GPLv2 for a long time. Most small projects are likely to make a transition to GPLv3, either willingly or by using some GPLv3 code.
  • by AJWM ( 19027 ) on Thursday August 10, 2006 @08:38PM (#15885723) Homepage
    Looks like overall you're agreeing with my point.

    But an otherwise general purpose computer that will only load specially signed binaries is "damaged by design" in the same way that a 6-slot motherboard that has had two slots filled with glue and sold (cheaper) as a 4-slot mobo is damaged by design. (And before you scoff at this example, review the history of some of the old DEC Q-Bus and VAX systems.) Another example would be a car inherently capable of 120MPH with a manufacturer-installed governor to limit it to 70 MPH.

    "Damaged by design" implies adding something extra to limit the hardware's capabilities. Sure, it's the manufacturer's right to do so, and your problem if you're silly enough to buy it.
  • by Anonymous Coward on Thursday August 10, 2006 @10:20PM (#15886206)
    You can see the source code yourself and be certain it doesn't contain any underhanded vote tampering. You could even use the GPL'd software to make your own voting machines, that could even be signed by you. You just couldn't sell voting machines that appeared to be signed by me, which is what the draft gplv3 would require I let you do.

    The only time the DRM comes into effect is in those individual machines that are sent out to vote with. They'll contain a signed version of the software that will refuse to run if it is tampered with. The source code would be fully available and the machines themselves are standard hardware with just an extra drm chip in them. If you wanted, you could just run an unsigned version of the voting software on a normal PC.

    The point of the DRM is to help make sure the devices are safe from tampering. This is not just for voting machines, but anywhere you need a device to be tamper-resistant. From voting machines to security servers to ATMs to who knows what. There are plenty of appliace-style devices that are running computer code that could benefit from being tamper-resistant. Currently, most of them are pretty basic and use more of what we'd call electronics, rather than computers, but that's changing. How about a computer that controls a building's elevators? Air traffic control, heck, in the future we might have ground traffic controls. The GPLv3 draft completely cuts off this entire line of legitimate use out of ideological hatred of one possible use of this tool.

    If they put something like "If you sell drm'd hardware, then you also have to sell a version of the hardware, at no extra cost, that does not contain the drm restriction", this entire problem would go away. People could have their secure machines, Linus could sign his kernel without having to give up his key, and everyone comes out happy.
  • by numatrix ( 242325 ) on Thursday August 10, 2006 @10:27PM (#15886246)
    The license isn't a crowbar, it's a shield. It's a shield for YOUR code you're writing, a shield for the ideal that you don't want your code used unless others can modify it and use it. If someone's use of your code is limited by hardware restrictions and you want to further strengthen that shield by V3, then go for it. If you as an author don't like carrying the ideal that far and you think access to the source is enough, don't use V3 (as you seem to suggest you won't be). There's room for more than one OSS license.

    The example you site has nothing to do with the GPLV3. The fault is either with:

    1) The company who released hardware built on code that allowed others to change the code in an environment where that's a bad idea. (ie, build your own fricking code, don't rely on others who want their code to be modifiable, not just easy to print out and stare at)

    or

    2) The moron who loaded code onto a machine that could cause problems, probably violating federal law in using a non-FDA approved device (since I imagine the FDA approval only covers the device with specific code).

    The GPLV3 is not evil and didn't cause anyone's heart monitor problems, the above did.

    As for a comment period, check out:

    http://www.fsf.org/news/gpl3.html [fsf.org]

    Scroll to the bottom, specifically the section near: "The Foundation will, before it emits a first discussion draft, publicize the process by which it intends to gather opinion and suggestions. The Free Software Foundation recognizes that the reversioning of the GPL is a crucial moment in the evolution of the free software community, and the Foundation intends to meet its responsibilities to the makers, distributors and users of free software. In doing so, we hope to hear all relevant points of view, and to make decisions that reflect the many disparate purposes that the license must serve."

  • by Arker ( 91948 ) on Thursday August 10, 2006 @11:30PM (#15886605) Homepage
    Your example is clearly misinformed.

    The only reason they would have to provide that signing key would be if they rig the hardware so that it is NOT possible to run modified binaries in any other way. This would be silly.

    Instead, what they should do, is include a documented, warranty-voiding method to turn off the circuit that refuses to load unsigned binaries. As an example - you have a locked, tamper proof box (like all medical equipment) and the purchaser receives a key. They may, at their discrection, use that key, unlock the box, and change a jumper on the main board. Then replace and relock the case, reboot, and answer 'yes' to a confirmation dialogue with GIANT WARNING TEXT all over it. At this point, they can load whatever kernel they want. They've also voided the warranty and any and all FDA certifications of the box, so it's now illegal to use it for its original purpose. There could also be a permanently visible tamper indicator, I would suggest a red and green light placed prominently for all to see, clearly labeled, that would switch from green to red if the box was even opened.

    There's no need to distribute any signing keys here, as the ability to run modified binaries is preserved without doing that. And legal liabilities are clearly shifted from the manufacturer in the event that a customer chooses to do that.
  • by sumdumass ( 711423 ) on Friday August 11, 2006 @12:45AM (#15886933) Journal
    Sure it is yours, and if you bought something that will only boot to a signed binary program then thats what you own. You will have to either get around it on your own (maybe with other helping) or buy something else if you want to run your own software. There is nothing in the GPL that stops this. Also there should be nothign in it ever to stop this.

    GPL or not, there is not and should not be any obligation for a vender to allow you to use the equiptment they are selling any differently then thier intended purpose. The GPLv3 will probably end up with hardware venders looking elswere for thier software. It will be a step or two back in getting vender supported drivers for linux or other hardware that can even run for that matter.

    I'm starting to see the value of the BSD license at this point.
  • by Arker ( 91948 ) on Friday August 11, 2006 @01:00AM (#15886998) Homepage
    Actually the GPL was explicitly designed to make this sort of usage illegal, and arguably already does so. The problem is, this precise method of taking away the users rights was not anticipated when the GPL v2 was written, so there's too much ambiguity and room to argue it. Hence the 'bug-fix' in version 3.

    The GPL was always, explicitly, designed to allow free usage of GPL code only to those who are willing to also allow that same freedom to those downstream of them.

    Why you think that people "should" be able to strip those downstream of their freedom is a mystery, since you don't support the absurd assertion in any way.

    Your assertion that hardware vendors will decline to use GPL v3, to the extent it's to be interpreted as meaning a significant portion of them will do this, is argued against by history. People claimed the same sort of thing about earlier versions of the GPL, but in fact, commercial vendors that are willing to return value have gravitated overwhelmingly to GPL vs BSD projects. And for good reason. BSD is only 'business friendly' to businesses that return nothing, as it allows that, but to anyone that returns value to the community, GPL is much more 'business friendly' as it prevents competitors from taking that work without returning value in turn. If, for instance, IBM contributes code to a GPL project, they can have some confidence that they aren't strengthening their competitors by doing so. The competitors can use the code, certainly, but they are in turn obligated to 'play nice' and return their additions to the community, so IBM as well as everyone else gets value returned. Licensing under BSD, on the other hand, is a black-hole: your competitors can take your contributions, leverage them to create a product that competes with you, and give you nothing back at all.

    Companies that view BSD as being more friendly to their interests do exist, of course, but they're the companies we don't want using our code anyway. They're the ones intent on taking our code, tweaking it slightly, and then using it against us. They would never contribute anything back anyway, so who cares whether they like it? They're to be avoided, not helped.

    The rest of the companies, the ones that understand that business is about creating value, appreciate the GPL, once they understand it. I see no reason to think that won't be even more true of v3 than it has been of v2.
  • by graf0z ( 464763 ) on Friday August 11, 2006 @07:18AM (#15887990)
    is not keeping secret keys secret. It's the missing possibility to edit the list of pubkeys which the trusted computing (TC) mechanism acccepts!

    1. bad thing:
      1. Tivo sign their kernels using their secret key.
      2. Tivo's bootloader refuses to boot any kernel not signed by tivo
    2. good thing (prevents trojan LKMs):
      1. RH sign their LKMs using their secret key.
      2. A RH kernel binary refuses to load any LKM not signed by RH.
    As far as i understood the discussion, GPLv3 thinks that (1.1) is the problem, so it demands publishing the secret key. But that's wrong and renders (2) useless.

    Instead, the problem is (1.2): i cannot append my own pubkey to the bootloaders list of approved binary signing keys, although i "own" that bootloader. Instead with (2.2), i can build and run my own kernel image embedding a different list of acceptable LKM signing keys.

    So if one wants to prevent such a mess like tivo, (s)he should use a licence that demands that the software is not run on devices with a write protected TC pubkey list. I'd perfectly happy with TC if i could enter the fingerprints of valid TC-pubkeys into the BIOS.

    Just my 2ct, m.

The optimum committee has no members. -- Norman Augustine

Working...