Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Linux Software Your Rights Online

Linus on DRM 969

Linus Torvalds weighed in on the DRM debate on the linux-kernel mailing list last night. No, don't click through, his email is reproduced below. Worth reading and thinking about.

Thread on LKML:

Date: Wed, 23 Apr 2003 20:59:45 -0700 (PDT)
From: Linus Torvalds
To: Kernel Mailing List
Subject: Flame Linus to a crisp!

there's no way to do this gracefully, so I won't even try. I'm going to
just hunker down for some really impressive extended flaming, and my
asbestos underwear is firmly in place, and extremely uncomfortable.

I want to make it clear that DRM is perfectly ok with Linux!

There, I've said it. I'm out of the closet. So bring it on...

I've had some private discussions with various people about this already,
and I do realize that a lot of people want to use the kernel in some way
to just make DRM go away, at least as far as Linux is concerned. Either by
some policy decision or by extending the GPL to just not allow it.

In some ways the discussion was very similar to some of the software
patent related GPL-NG discussions from a year or so ago: "we don't like
it, and we should change the license to make it not work somehow".

And like the software patent issue, I also don't necessarily like DRM
myself, but I still ended up feeling the same: I'm an "Oppenheimer", and I
refuse to play politics with Linux, and I think you can use Linux for
whatever you want to - which very much includes things I don't necessarily
personally approve of.

The GPL requires you to give out sources to the kernel, but it doesn't
limit what you can _do_ with the kernel. On the whole, this is just
another example of why rms calls me "just an engineer" and thinks I have
no ideals.

[ Personally, I see it as a virtue - trying to make the world a slightly
better place _without_ trying to impose your moral values on other
people. You do whatever the h*ll rings your bell, I'm just an engineer
who wants to make the best OS possible. ]

In short, it's perfectly ok to sign a kernel image - I do it myself
indirectly every day through the kernel.org, as kernel.org will sign the
tar-balls I upload to make sure people can at least verify that they came
that way. Doing the same thing on the binary is no different: signing a
binary is a perfectly fine way to show the world that you're the one
behind it, and that _you_ trust it.

And since I can imaging signing binaries myself, I don't feel that I can
disallow anybody else doing so.

Another part of the DRM discussion is the fact that signing is only the
first step: _acting_ on the fact whether a binary is signed or not (by
refusing to load it, for example, or by refusing to give it a secret key)
is required too.

But since the signature is pointless unless you _use_ it for something,
and since the decision how to use the signature is clearly outside of the
scope of the kernel itself (and thus not a "derived work" or anything like
that), I have to convince myself that not only is it clearly ok to act on
the knowledge of whather the kernel is signed or not, it's also outside of
the scope of what the GPL talks about, and thus irrelevant to the license.

That's the short and sweet of it. I wanted to bring this out in the open,
because I know there are people who think that signed binaries are an act
of "subversion" (or "perversion") of the GPL, and I wanted to make sure
that people don't live under mis-apprehension that it can't be done.

I think there are many quite valid reasons to sign (and verify) your
kernel images, and while some of the uses of signing are odious, I don't
see any sane way to distinguish between "good" signers and "bad" signers.

Comments? I'd love to get some real discussion about this, but in the end
I'm personally convinced that we have to allow it.

Btw, one thing that is clearly _not_ allowed by the GPL is hiding private
keys in the binary. You can sign the binary that is a result of the build
process, but you can _not_ make a binary that is aware of certain keys
without making those keys public - because those keys will obviously have
been part of the kernel build itself.

So don't get these two things confused - one is an external key that is
applied _to_ the kernel (ok, and outside the license), and the other one
is embedding a key _into_ the kernel (still ok, but the GPL requires that
such a key has to be made available as "source" to the kernel).


This discussion has been archived. No new comments can be posted.

Linus on DRM

Comments Filter:
  • h*ll (Score:4, Funny)

    by Graspee_Leemoor ( 302316 ) on Thursday April 24, 2003 @11:03AM (#5799283) Homepage Journal
    What is this "h*ll" ?

    Is it where all the naughty puntuation marks go when they die?


  • Props to Linus (Score:5, Insightful)

    by dtolton ( 162216 ) on Thursday April 24, 2003 @11:04AM (#5799287) Homepage
    What Linus is saying makes complete sense to me. I think the
    Kernel level of Linux is the wrong place to make a political
    stand like that. What has made Linux successful, and what will
    make it ultimately *the* OS is it's an
    Evolvable System [shirky.com]

    The fact that people can use Linux for whatever they need to is
    what makes it such a compelling system. The fact that you can
    tinker with it, change the source, in short make it work for you
    is what makes Linux successful.

    He also makes a good point, there is a difference between
    allowing DRM and forcing everyone that uses the OS to use DRM
    (as M$ want). There are some times when DRM is very legitimate
    (Goverment Top Secret Docs, Litigation Confidential information
    etc), and there are the times when I consider it to be
    un-ethical (most other situations I can think of).

    I have to say way to go Linus. Keep the system evolvable.
    Ultimately isn't it a catch 22 anyway? If he prohibits DRM,
    isn't that sort of like saying "this is my software and you
    can't do XX with it".
    • Re:Props to Linus (Score:5, Insightful)

      by FortKnox ( 169099 ) on Thursday April 24, 2003 @11:15AM (#5799400) Homepage Journal
      Linus is great in these situations. He takes rabid open source zealots and brings them back to reality before they go too far off.

      He simply shows that you don't have to be political (mp3 sharer, privacy guru, etc...) to enjoy Linux. And offshoots will always be there for you rabid-types.

      Who's loss? None.
      • Re:Props to Linus (Score:5, Insightful)

        by renehollan ( 138013 ) <.ten.eriwraelc. .ta. .nallohr.> on Thursday April 24, 2003 @01:02PM (#5800603) Homepage Journal
        He simply shows that you don't have to be political (mp3 sharer, privacy guru, etc...) to enjoy Linux

        You don't have to be political to enjoy a nice pair of new running shoes (made, possibly, with child labour), medical advances (made possible to some degree due to research done via unanesthesized vivisection of Jews by Nazis during WWII), or "free" health care (paid by tax dollars taken from those who now can't pay for their medical needs not covered by the "free" program).

        You don't have to, certainly, but you should.

        Politics, at its core, is the study of the philosophy of ethics. Ideally, the concern should be arriving at a means to determine whether actions are "right" or "wrong" without personal or group bias. Of course, "politics", as practiced, has nothing to do with ethics, and everything to do with special interests. And, no doubt, different people have different views of "right" and "wrong". It behooves them, to take part in the ethical debate.

        With regard to Linux, particularly these days, that debate extends to whether it should be "permitted" to exist at all, supposedly being a "hackers'" and "terrorists'" tool. Surely, anyone who enjoys Linux should have an interest in the ethics surrounding it.

        Now, should is not must, and people are free to live their lives in apolitical oblivion. However, the old mantra "evil prevails when good people do nothing", does nag at one's conscience, and such apathy in an individual is not a characteristic I particularly like to see.

        In this regard, RMS is right to deride Linus Torvalds as merely an "engineer". Linus' pet operating system would not even exist, and have a strong ethical footing supporting the "goodness" of that existance, were it not for RMS' philosophical views. While this does not represent a "debt", per se., decent people generally respond to kindness (yes, the GPL is an act of kindness), by reciprocating.

        • Okaaaaay (Score:5, Insightful)

          by 0x0d0a ( 568518 ) on Thursday April 24, 2003 @01:13PM (#5800739) Journal
          Linus' pet operating system would not even exist, and have a strong ethical footing supporting the "goodness" of that existance, were it not for RMS' philosophical views. While this does not represent a "debt", per se., decent people generally respond to kindness (yes, the GPL is an act of kindness), by reciprocating.

          Uh...Linus does. Stallman and Co. handed him lots of code to use. In return, he did the same, and now "GNU/Linux" has the best kernel around.

          OTOH, I don't think that Stallman should be trying to push his ideology on Linus any more than Linus should be trying to do so to Stallman. The difference is that Stallman tries to do exactly that with Linus, and Linus doesn't do so to Stallman.
          • Re:Okaaaaay (Score:3, Insightful)

            by renehollan ( 138013 )
            OTOH, I don't think that Stallman should be trying to push his ideology on Linus any more than Linus should be trying to do so to Stallman. The difference is that Stallman tries to do exactly that with Linus, and Linus doesn't do so to Stallman.

            I suppose that one shouldn't push the "ideology" that treating others worse than one would ever want to be treated one's self, either? Do we let others pursue their chosen "ideology" of murder? If not, then why not, and what makes us "right" and others "wrong"? The

            • Re:Okaaaaay (Score:3, Insightful)

              I suppose that one shouldn't push the "ideology" that treating others worse than one would ever want to be treated one's self, either? Do we let others pursue their chosen "ideology" of murder? If not, then why not, and what makes us "right" and others "wrong"? These are the (hard) questions to ask.

              Not that hard, if you actually put your brain to the task. :) There is a core set of behavior that is damaging to society as a whole, whether the behavior is practiced by politicians or criminals (the same cla

              • Re:Okaaaaay (Score:4, Insightful)

                by renehollan ( 138013 ) <.ten.eriwraelc. .ta. .nallohr.> on Thursday April 24, 2003 @02:00PM (#5801215) Homepage Journal
                Not that hard, if you actually put your brain to the task. :) There is a core set of behavior that is damaging to society as a whole, whether the behavior is practiced by politicians or criminals (the same class!) or whatever. Murder is in this class of behavior. This behavior, when let run wild (as in the favorite cite of Nazism) isn't just damaging to the world we live in, it can potentially destroy the whole world and all of human existence. Therefore, for pragmatic reasons, this behavior shouldn't be allowed by the forces that be, and if they practice this behavior, they should be thrown out and new powers installed.

                That's a circular argument: Murder is illegal killing, and should therefore be considered "wrong".

                Well, ..., okaaaaaay.

                The hard part is not arguing that murder is wrong: that's axiomatic. The hard part is determining when killing another is murder and when it isn't.

                Now, even there, we've got a pretty good set of rules to guide us, but murder and killing, are extreme actions -- irreversable, given modern technology and medical skill (and, one could argue, by definition, since, if someone can be "brought back", then, perhaps, they weren't dead to begin with. Not really.).

                The really hard questions are along the lines of "Should activity X be prohibited because it may lead to bad thing Y?".

                May is not will, but increasing the mere liklihood of bad things is not acceptable, is it?

                Think "Gun control" for a hard problem. (Philosophically, increased accountability for firearm use may render it a simple problem, but such rational approaches have not been socially accepted on a wide scale, so the problem remains "hard").

    • Re:Props to Linus (Score:5, Insightful)

      by 4of12 ( 97621 ) on Thursday April 24, 2003 @11:17AM (#5799429) Homepage Journal

      I agree with Linus, too. It will mean greater flexibility and freedom to do anything with Linux in the future.

      While I, too, am personally opposed to DRM policies that have been proposed so far, I don't use every single lever and fulcrum at my disposal to its fullest possible extent to press the my opinion. Letters to your elected representatives, newspapers, donations of money to the EFF, teaching others to use free products are good ways to achieve those goals.

      There are those that feel the Linux kernel is an appropriate tool for leveraging the propagation of those ideals. Despite my admiration of those ideals, I'm glad Linus doesn't choose to use his power to fight this battle in this way.

    • Re:Props to Linus (Score:5, Interesting)

      by TopShelf ( 92521 ) on Thursday April 24, 2003 @11:20AM (#5799446) Homepage Journal
      To try to impose limits on DRM in Linux (for whatever reason) is an artificial constraint that would reduce Linux's usability. The point here is to provide a flexible tool that can be used in a variety of ways. Imposing one's own opinions on how this tool should and should not be used seems the antithesis of open source development...
      • Re:Props to Linus (Score:3, Insightful)

        by Dyolf Knip ( 165446 )
        Exactly. MPAA-style DRM would put restrictions even on root. Stupid and impossible. But the idea of DRM could certainly be useful in situations when the sysadmin wants to make to less powerful users the distinction between looking at data and copying it.
    • by Ungrounded Lightning ( 62228 ) on Thursday April 24, 2003 @12:00PM (#5799931) Journal
      What Linus is saying makes complete sense to me. I think the Kernel level of Linux is the wrong place to make a political stand like that.

      Unfortunately, you can't NOT take a political stand in such a situation.

      So the stand Linus has taken is:

      "Freedom means letting other people do things you don't like."

      And I say "Right on!"


      If you want to buy a box that won't let you load a kernel image that isn't signed by somebody else (who won't sign it unless your interests are subordinated to his), and which you thus can't tweak, that's your prerogative.

      Don't like it? Vote with your dollars.

      Government trying to make it mandatory? Vote with your VOTE.
    • Right on! (Score:3, Insightful)

      by WebCowboy ( 196209 )
      A computer revolution needs both idealists AND pragmatists. The PC wouldn't be where it is today without the work of both keeping each other in check. People like RMS, Eric Raymend, Ted Nelson and so on write manifestoes that get everyone fired up and motivated, however their fervour and idealism can get in the way of practical achievements. "Computer Lib" and "The Cathedral and the Bazaar" plant the seeds. "Mere engineers" whose primary (but not necessarily only) passion is the technology itself (like
  • by pi radians ( 170660 ) on Thursday April 24, 2003 @11:04AM (#5799295)
    Slashdotters are very confused. What to hate? Who to love?
    • Simple:

      Gates: VERY BAD!
      Ellison: BAD!
      McNealy: BAD!
      Carly (HP): VERY BAD!
      IBM CEO: What day is it?
      Linus: See above
      JLG: Still my hero.
      • Gates: VERY BAD!

        Gates is the worst of the worst. He's bad, and competently so.

        Ellison: BAD!

        I think Ellison is fine. Yes, he's arrogant, immature, and runs a big company with tight licenses...but he also spends his days having fun taking swipes at Gates. He wins because he's a lesser of two evils. If Gates weren't around, he'd probably be a bad guy.

        McNealy: BAD!

        Doesn't seem to be particularly bad or good, in my book. Some good things, some bad things.

        Carly (HP): VERY BAD!

        She's bad, but inc
  • In summary... (Score:5, Insightful)

    by sporty ( 27564 ) on Thursday April 24, 2003 @11:04AM (#5799301) Homepage
    Technology, encryption, reverse engineering, mp3's, drm, sniffers.. they arne't inherently evil. It's the usage and if they go against your morals, ethics and general desires, if they are good or not.

    Laws which put their use at all, as forbidden or not, is what should not be put into law. It's how they are used.
  • Context (Score:5, Funny)

    by Xenex ( 97062 ) <xenex&opinionstick,com> on Thursday April 24, 2003 @11:05AM (#5799309) Journal
    "There, I've said it. I'm out of the closet. So bring it on... " -- Linus Torvalds

    Things are so much more interesting out of context...
  • by ih8apple ( 607271 ) on Thursday April 24, 2003 @11:05AM (#5799310)
    Linus Not God, Says God

    In a shocking announcement cast down from the Heavens today, it was announced that Linus Torvalds was not, in fact, God.

    Anthony Macewell was chosen to receive this information, as he worked on his PC:

    "It was kinda freaky", Anthony said, "Linux booted, and just when I was expecting it to fsck everything, my computer burst into flames and I was surrounded by a host of angels. I don't remember that ever being a feature of Red Hat."

    The angels, their appearance accompanied by a flawless four-part harmony, left Anthony a delicate manuscript, explaining that he should make sure that it was delivered to the Linux community.

    The manuscript reads:

    "For the attention of the Linux Community: Linus Torvalds is not God. God is currently very busy in creating various new planets and overseeing the forthcoming apocalypse on Earth. He has not had the time to develop any mortal Operating Systems, and is not likely to do so in the near future. He will continue only to endorse white robes and comfortable sandals."

    The reaction from the Linux community has been varied. The slashdot.org community has reacted by having a circular discussion, with any idea other than "Linus is God, and Linux is the best thing ever for anything", being slammed down by angry, frothing, Linux advocates. A crusade to burn all the non-Linus believing heretics has been launched, in the form of a new website with a flashy domain name, which will predictably close within two weeks due to a lack of interest.

    A spokesperson for Microsoft commented, "Well, we never believed that Linus existed anyway. It takes more than a couple of sightings near burning bushes to convince us, you know. We'll continue to worship Windows as we always have done. Lots of people have faith in Windows, no matter how much it lets them down, so it must be right."
  • Voltaire (Score:4, Insightful)

    by egoff ( 636181 ) on Thursday April 24, 2003 @11:06AM (#5799316)
    Sounds like the quote by Voltaire that embodies free speech:
    'I may disagree with what you say, but I will defend to the death your right to say it.'
    • Misquote (Score:4, Informative)

      by overshoot ( 39700 ) on Thursday April 24, 2003 @11:15AM (#5799407)
      Actually, he never said that but the woman who did insisted that it was the kind of thing he would have said.

      My favorite kind of story: it may not be true, but it should be.

      • Re:Misquote (Score:5, Informative)

        by egoff ( 636181 ) on Thursday April 24, 2003 @11:29AM (#5799575)
        Hmm, you learn something [york.ac.uk] every day. Beatrice Hall actually said it in her book The Friends of Voltaire that she wrote under the pseudonym S.G. Tallentyre.

        The page linked above had another good quote:

        I may disagree with what you say, but I will defend to the death your right to mis-attribute this quote to Voltaire.
        ---- Avram Grumer, rec.arts.sf.written, May 2000
    • A witty saying proves nothing.
  • Still cool (Score:4, Insightful)

    by ike6116 ( 602143 ) on Thursday April 24, 2003 @11:06AM (#5799317) Homepage Journal
    Once again Linus leaves it up to the one thing that makes linux beautiful: Choice.
  • Huh? (Score:4, Interesting)

    by Theodore Logan ( 139352 ) on Thursday April 24, 2003 @11:06AM (#5799318)
    I'm an "Oppenheimer", and I refuse to play politics with Linux

    Is that "Oppenheimer" as in the head of the most politically motivated science program of all time?
    • Re:Huh? (Score:5, Insightful)

      by Frater 219 ( 1455 ) on Thursday April 24, 2003 @11:41AM (#5799710) Journal
      Is that "Oppenheimer" as in the head of the most politically motivated science program of all time?

      Perhaps a better analogy would have been Wernher von Braun, as commemorated in Tom Lehrer's song:

      Don't say that he's hypocritical

      Say rather that he's "apolitical"!
      "Vonce ze rockets go up, who cares vhere zey come down?
      "Zat's not my depaartment," says Wernher von Braun.

      The intended contrast is between the "apolitical" engineer who does not really care to what purpose his invention is used -- or by whom, as von Braun (purportedly) worked equally willingly for the Nazis as for the United States -- and the type (like Albert Einstein) who considers and possibly regrets its social consequences.

  • just an engineer (Score:4, Insightful)

    by dAzED1 ( 33635 ) on Thursday April 24, 2003 @11:06AM (#5799319) Journal
    I don't find myself agreeing with him "politically" generally, but like he himself, and as he poitns out RMS as well, says...he's just an engineer.

    Seems reasonable to me though. You don't have to compile it in to the kernel you use if you don't want it. He's just offering a choice. For this one, I will accept that he is in fact remaining neutral politically.

    • by Theodore Logan ( 139352 ) on Thursday April 24, 2003 @11:33AM (#5799620)
      But there is no way to stay out of politics when you're the head of a project of this size and importance. Indeed there is no way to ever stay out of politics, regardless of the reality of your everyday life. All our lives is about politics, albeit for most on a much smaller scale. Whatever decision we make is to some extent a political one. Take, for example, that homeless bum you passed on your way to the office. Either you gave him money or you didn't. Not caring about it at all, or refusing to even contemplate the issue, must have resulted in the latter choice, which is also a political move. There is no way to be "neutral" here. Not making a choice is also a choice. As is, returning to the topic, offering people a choice. This is obvious in every other area of life, why isn't it here? Nobody would say that one is being neutral on the topic of gun control if one thinks everybody should be able to choose whether they want to have a gun or not, just to take one example.

      This is what Linus seems to not be able to understand. Not caring about politics when your actions and choices have political consequences is also politics - the politics of "I don't care." If he says "I'll give you the choice of compling this into your kernel" that is in no way a neutral stand on anything.

      I'm not blaming Linus for this. In fact, I think his attitude is refreshing. But it is dangerous to think that just because he considers himself neutral, that is what he is. I like him, but sometimes I wish he would just keep his mouth shut instead of opening it and proving how shallow he is.
  • by Viperion ( 569692 ) on Thursday April 24, 2003 @11:07AM (#5799330) Homepage
    It's Linus' optimism. See, RMS insists that if you don't tell people what they can't do with software, that they'll do the worst. Linus assumes that people will do whatever they feel like, and the more they can do, the better, because you can't easily stop a movement. You can stop a man.

    Go Linus. I'm not a DRM fan, but I am a fan of you ideology.
  • by Dutchmaan ( 442553 ) on Thursday April 24, 2003 @11:07AM (#5799331) Homepage
    This was all a practical joke..!!

    It was Bill Gates snickering with a Linus puppet on his hand!

    I said "Hey Bill! Whatchya doin'?" ..and he said... "Watch them all support DRM now!..and he snickered again.."
  • Misconceptions (Score:5, Insightful)

    by lpret ( 570480 ) <[moc.liamtoh] [ta] [24terpl]> on Thursday April 24, 2003 @11:07AM (#5799334) Homepage Journal
    I think it's interesting that it takes the "leader" of the OSS movement to put the brakes on some overboard reactions by slashdotters and many others. Too often we relate some issue as being a Microsoft invention and thus evil when all along it's been incorporated in a different form in our favourite OS. Perhaps we can learn a lesson about this and start applying it to other organisations (RIAA, MPAA, etc.)?
  • by October_30th ( 531777 ) on Thursday April 24, 2003 @11:10AM (#5799355) Homepage Journal
    On the whole, this is just another example of why rms calls me "just an engineer" and thinks I have no ideals.

    This is exactly why I like Linus. Unlike certain nutjobs, he's rational enought to know that one should always use the right tool for the job.

    When ideals get in the way of actually achieving your goals they are doing more harm than good for the cause.

    That comment made me wonder if RMS actually holds a grudge against Linus for not conforming to his standards of "purity".

    • by IamTheRealMike ( 537420 ) on Thursday April 24, 2003 @11:48AM (#5799793)
      Slow down there.

      RMS thinks in a different way to most of us. When he chooses a tool, he wants one that conforms to his ideals because he isn't just thinking about the next 5 minutes, he isn't interested in just solving this problem and moving on. He thinks a long way ahead.

      So when you offer him a proprietary piece of software, he won't use it, even if it's more convenient than what he already has. He believes that in the long term, it's the wrong tool for the job, because he takes into account things that to most people are entirely ethereal - things like what kind of society he wants to live in, the long term maintainability of the software, lack of vendor lock in and so on.

      I see way too many people slamming RMS for not being pragmatic enough. I think in reality he is very pragmatic, but with a different timeframe for his concerns to most people, leading them to view him as a "nutjob" or having "alien" thinking.

  • what ? (Score:3, Interesting)

    by frodo from middle ea ( 602941 ) on Thursday April 24, 2003 @11:11AM (#5799365) Homepage
    Btw, one thing that is clearly _not_ allowed by the GPL is hiding private keys in the binary
    Can someone explain what's he talking about here ?
    AFAIK, You sign someting with your private key and ppl. can use your public key to verify the integrety of the message.
    Also if you want encryption, then u encrypt with the receivers public key so that only he can decrypt it with his private key
    No where in this process is the private key required to be disclosed.
    So what am i missing here ? or is he talking of some totally different keys ?
    • Re:what ? (Score:4, Interesting)

      by Kevinv ( 21462 ) <kevin AT vanhaaren DOT net> on Thursday April 24, 2003 @11:23AM (#5799483) Homepage
      if you put the private key in the kernel itself it then becomes part of the source code and must be relvealed via the GPL license (if you distribute the kernel at least)

      External keys are fine.
      • Re:what ? (Score:3, Interesting)

        by Entrope ( 68843 )
        Saying "external keys are fine" is debatable -- the GPL limits what you can do with derivative works of GPLed software, not what you can do with software's executable form. A signature permitting execution of a kernel binary is not useful in any connection other than trying to use the kernel. It is reasonable to say that this makes the signature a derivative work, and therefore subject to the GPL's "preferred format for modification" clause.

        This is a good basis for distinguishing between the "good" and "

    • Re:what ? (Score:5, Interesting)

      by Todd Knarr ( 15451 ) on Thursday April 24, 2003 @11:26AM (#5799532) Homepage

      I think he's talking about a situation such as DVD-CSS, where content is encrypted with a product key and the product key is protected by being encrypted with a master key which is embedded in the OS itself. Then only the OS can obtain the product keys needed to decrypt the contents, and the OS can enforce any access controls it wants on the content because the user can't get at the content except by going through the OS. What he's saying is that doing that is perfectly OK under the Linux license, as long as you release the master key, in the clear, as part of the OS source just as the license requires.

      Yes, that does make the master key useless for it's intended purpose. :)

    • Re:what ? (Score:5, Interesting)

      by Large Green Mallard ( 31462 ) <lgm@theducks.org> on Thursday April 24, 2003 @11:28AM (#5799565) Homepage
      When I suspect he means is including the decryption keys in the library or libraries and not distributing the key in the source form of the libraries.. so you need to "hide" it in a configuration file, or a non GPL library.

      Since if the key is part of the library, and the library is GPL, the key must be in the source. Not a huge hurdle to get around, but it would stop someone distributing a set top box with a modified version of "cp" that has keys hidden in it.. they would need to modify "cp" to call another binary to do secret stuff, and then provide the source for the modification of cp, which shows how the secret binary is called, but not actuall yhte secret binary.
  • by Hunts ( 116340 ) on Thursday April 24, 2003 @11:11AM (#5799370) Homepage
    There is nothing horrible about the idea of DRM, its mearly what people are going to do with it. And before any blows my head, just remeber this is that same argument put forth to defend openbsd only yesterday( was it yesterday, I'm loosing track of time at the moment.)

    I like that I can trust software to be what it says it is, I think its a step in the right direction to protecting againt trojans etc..

    I dont want to be forced to do it though for every little thing that somebody thinks I need permission to run. If certain DRM can be applied to the linux kernal that make computing safer (and by that I mean actually safer, not MS safer or somebody else thinking their making me safer by imposing rules on me), then go right ahead.

    Just make sure I can remove it should I wish.
  • by scorp1us ( 235526 ) on Thursday April 24, 2003 @11:14AM (#5799395) Journal
    I've taken this position from day 1 (as soon as I was able to comprehend it)

    Linux needs some DRM infrastructure, though it's use is to be discouraged. It is not tech's place to play politics. Linux will need DRM to be used everywhere, as it can today as soon as MS makes it availible for the studios to use.

    I stand behind Linus here.
  • I saw this coming (Score:5, Informative)

    by mao che minh ( 611166 ) on Thursday April 24, 2003 @11:15AM (#5799399) Journal
    What our Finnish friend is saying: Linux should be able to utilize all computing options, including DRM. It shouldn't be forced on you, nor should it be denied to you. Linux shouldn't be guided by the ethics or philosophy of either the majortiy or the minority (he got rms there).

    It's hard to argue with that logic, especially when you step back and take a look at why Linux was so wildly successful over the past three years.

  • by James McP ( 3700 ) on Thursday April 24, 2003 @11:17AM (#5799423)
    Maybe not now, but later.

    Look, you put out a set-top media box running embedded Linux. Assuming it is the multimedia grail (online video/audio playback & capture) it will do more than GPL/opensource codecs. It will NEED to handle WMAs and other proprietary formats that may include a time-locked DRM.

    Do I like blanket DRM? No, I want to be able to make backups of my DVDs, CDs, and other purchased materials.

    What I don't have a problem with is a box that will D/L the movie I want to watch and store it for a max of 48 hours in a "digital Blockbuster" scenario. And that will eventually happen as digital cable set-top boxes will include hard drives for local caching and they will require DRM on that hardware.

    Same thing goes for more and more Point of Sale stations. Signed binary data will be more and more necessary. I'm waiting for the day software compares my signature with the one stored on the credit card's chip. And I'm all for it.

    I'll be honest; I want them to be able to choose linux. The other option is that everything becomes Windows. Do you really want every credit card terminal, ATM and terminal to be Windows because it is the only thing that supports DRM?
    • by RickHunter ( 103108 ) on Thursday April 24, 2003 @11:38AM (#5799676)

      Sorry, you haven't convinced me DRM is inevitable. Saying Linux must support DRM because DRM is inevitable because in order to support their current business plans, companies will require it doesn't work. Business plans change, attitudes change. Especially in response to customer feedback. You give Joe Average a set-top box that he can record his favorite shows on, but only play them back for 48 hours after recording, and Joe will flip you off and go back to using his VCR. Which doesn't try to tell him how he's allowed to use it.

      I'd argue the opposite. That the eventual elimination of DRM is inevitable, as customers refuse technology that employs it, and companies see the technology they purchased for billions from some "security company" defeated in 15 seconds by a grad student. Read Bruce Schnieder sometime - "encryption" and "signing" are not the answer.

  • What this is about (Score:5, Informative)

    by amcguinn ( 549297 ) on Thursday April 24, 2003 @11:20AM (#5799457) Journal

    No-one commenting so far seems to have a clue what this is all about, so here goes.

    Imagine someone builds hardware that will only run binaries signed by the manufacturer (current example: X-box, future examples: who knows)

    Now imagine someone makes a version of Linux with functionality limited in some way -- think DRM, and gets that version signed by the hardware manufacturer so that it will run on the controlled hardware.

    Now, as a user of that version of Linux, you have all your GPL rights to obtain, modify, and redistribute the source. But, since only the exact original signed binary will actually run on the hardware, those rights are (arguably) worthless.

    Linus is saying that this is permissible, or at least that it is not his job to try to prevent it.

    Now at least the flames can be on-topic...

    • It is an interesting thought and you are correct in that you will not be able to modify the binary on the system. But the GPL does not give you the guarentee of being able to run the software anywhere on anything. It simple gives you the right to own the source code and to use it as you see fit.
      If the hardware company elects to forbid you, well, you may wish to not buy it.
  • by consumer ( 9588 ) on Thursday April 24, 2003 @11:24AM (#5799502)
    That just makes me want to click it more!
  • by Graabein ( 96715 ) on Thursday April 24, 2003 @11:25AM (#5799510) Journal
    Linus wrote:

    > On the whole, this is just another example of why rms calls me "just an engineer" and thinks I have no ideals.

    Perhaps what the world needs is more engineers and artists, and less flaming zealots. I think Linus has been, and still is, getting it just right. In fact, I think his statements above and the way he views this issue is 100% in the spirit of the GPL. The code is supposed to be free, remember? This includes free to be used in unspeakable ways, so long as the source is always included and freely redistributable. You can't claim freedom for only the ideals you like, that's tyranny.

    Then again, IANAL.

  • by Minna Kirai ( 624281 ) on Thursday April 24, 2003 @11:33AM (#5799623)
    Is this some kind of new precedent?

    "Don't click through, it's reproduced below"

    Apparently the Slashdot editors have changed their position on caching pages to prevent overload [slashdot.org] (the "Slashdot effect")

    Will this be a permanent change, I wonder? And how did Michael get around those pesky US copyright laws? Did he actually wait for Linus's permission before duplicating his email?
  • by wfberg ( 24378 ) on Thursday April 24, 2003 @11:34AM (#5799630)
    Norton anti-virus on the win32 platform will 'innoculate' binaries (ThunderByte antivirus did this best I believe, alas, they're a gonner). Cf. tripwire.

    If the checksum doesn't match, the binary changed, and the app won't run. Seems pretty sane.

    Also, windows XP comes with "Driver Signing" which is basically an extortion bid to squeeze money from hardware suppliers (and perhaps to divert some of their cash from development of drivers for other OSes). Though fundamentally, it is not a bad idea to have some sort of check that the driver you just downloaded is in fact "blessed" by the manufacturer, if only for warranty purposes.

    Checking checksums or signatures even does NOT equal DRM. As Linus said, this is something you can choose to use. Root gets a say in it (though in corporate environments it might still suck if you're not root).

    DRM is not meant to be optional, it is meant to enforce license conditions ('rights'). Not security. Not integrity. Not trust. Making the possible impossible based not on security or convenience, but on a shrink-wrap license.

    Checksums GOOD.

    Signatures GOOD.

    Digital Rights Management BAD.

    It's NOT the same thing, folks.

  • by Davorama ( 11731 ) on Thursday April 24, 2003 @11:40AM (#5799696) Journal

    I don't see any sane way to distinguish between "good" signers and "bad" signers.

    Well, duh... you check to see if the evil bit is set. I thought we had that all figured out now.

  • by st0rmcold ( 614019 ) on Thursday April 24, 2003 @11:42AM (#5799717) Homepage

    While Linus dosen't want to take a political stand on the issue (completly understandable, he's mearly protecting the sole reason for the existence of OSS) I think the GPL will clearly protect itself.

    If you are required to publish the source of your work, even if you use DRM with linux, the source of that DRM must be released, which kinda cancels it out dosen't it? Making it pointless.

    I'm not 100% sure on this, but putting DRM on anything GPL'd is a waste of time, cuz a DRM is only good if it's closed source.
    • You're not advocating security through obscurity, are you?

      Certainly putting the keys inside the kernel sources would be a waste of time because you have to make that source code available when you distribute your modified kernel product.

      There is no reason why a well designed DRM system cannot be open source.
    • You're missing some important cases. Yes, the OpenSource-ness of Linux makes several imaginable DRM scenarios less viable. But there are plenty of alternatives that can still work fine.

      The most probable one in my opinion (and what Linus alluded to by "providing a signed kernel") is that computer hardware will be sold which looks for a particular key/checksum on the kernel before agreeing to load it up. (Similar to how the Microsoft X-Box works today)

      That kernel can then go on to enforce DRM policies on
  • IT'S THE LAW, STUPID (Score:5, Interesting)

    by MS_leases_my_soul ( 562160 ) on Thursday April 24, 2003 @11:51AM (#5799836)
    OK, I agree with what Linus is saying here - he is just a codehead and is not going to tell you what you can or can not put in your build. Cool, but we are still just talking about the technology.

    The problem today is not the technology -- "IT IS THE LAW, STUPID!"

    If Microsoft puts some crazy stupid DRM in the next version of Windows, it might be the final straw to get something else to the desktop (be it Mac OS X, FreeBSD, Linux, or something else). As long as people have the freedom of choice, M$ can only go so far before they loose the customer base.

    The problem is the DCMA and the baby-DCMAs popping up at the state level. If the government makes DRM *MANDATORY*, you loose your choice. I can very easily see the RIAA and MPAA requiring that all OS's require DRM in the very near future. Think about it.
  • Hmm (Score:4, Interesting)

    by pclminion ( 145572 ) on Thursday April 24, 2003 @11:52AM (#5799842)
    You can sign the binary that is a result of the build process, but you can _not_ make a binary that is aware of certain keys without making those keys public - because those keys will obviously have been part of the kernel build itself.

    Ah, but do they really? I don't think there's anything in the GPL stipulating that an end user cannot modify a compiled binary. Why couldn't you just put a big static array of zeros in the code, and supply a secondary (closed source) program which overwrites those zeros with an actual key? You couldn't distribute pre-keyed binaries (since they wouldn't correspond to the source) but you can allow the end user to run a quick command to insert the keys into the binary him/herself.

    You'd just make it a part of the installation process, like installing the boot loader. 1) Install kernel 2) Twiddle some bits in kernel 3) Install bootloader.

    It seems like there would be no GPL violation since the binary you distributed was directly compiled from the source you distributed; the user just happened to run a command which overwrote a portion of that binary.

  • by Kourino ( 206616 ) on Thursday April 24, 2003 @12:01PM (#5799950) Homepage
    Since I've already replied to three messages this way, and a lot of people seem to be missing the point ...

    Okay. First of all, DRM is NOT synonymous with "digital copyright protection", okay?

    Second. Linus is NOT saying "DRM is good" or "copyright protection is the shiznit". He in fact says in the message that a lot of uses for DRM he doesn't like.

    Third. An example of what this article is actually talking about is cryptographically signing a regular, run of the mill built-by-Linus kernel image, somehow providing the signature along with the image at boot, and refusing to load it if the signature doesn't match. Since you don't modify the kernel itself, the GPL has no scope here, so it's obviously not prohibited under the terms of the GPL.

    Fourth. This does NOT allow magically modifying the kernel image, nor does it allow magically allow copyright protection in the kernel, nor does it allow hiding private keys in the kernel, etc.

    READ THE ARTICLE. Turn off your Slashdot "omg wtf it says drm so it's bad, lol" meme. Linus is not selling your souls to Jack Valenti here.
  • by DdJ ( 10790 ) on Thursday April 24, 2003 @12:06PM (#5800008) Homepage Journal
    Imagine the following:

    1) Someone makes a BIOS that will only boot a signed kernel, where the person with the BIOS password gets to pick which signatures are valid.

    2) My company buys a bunch of workstations with this BIOS.

    3) Our IT guys build a kernel that's tweaked for our company. They sign the kernel, and set the BIOS to only boot kernels with their signature.

    This is wonderful. It means folks can deploy Linux within an organization without having to worry about umpteen zillion different kernels being installed by the workers. It means you can deploy at a university in such a way that students can't make their own boot floppies to get by the access controls on your public machines. It's a Good Thing.

    Now, imagine this:

    4) A set-top box designer uses this BIOS.

    5) They set the BIOS to only boot kernels with their own signature, and don't give the BIOS password to people who buy the set-top boxes.

    6) They refuse to sign any kernels that anyone else makes, and refuse to sign any kernels with dynamic module loading turned on.

    This, I think, actually violates the GPL. They're distributing a Linux binary, and they're not giving you any way at all to modify it. You can't tweak the kernel you run on your own hardware that you bought with your own money. I think this would only comply with the GPL if you could boot your own signed kernels that the system would use. The fixed signature ends up being an important part of the running binary, and you're not given the "source code" you need to compile that part of the binary.

    So, I think some uses of signature do not fall outside the scope of the GPL.
    • by amcguinn ( 549297 ) on Thursday April 24, 2003 @12:23PM (#5800206) Journal

      You've defined the issue very well, but I don't think either scenario can be prohibited.

      Imagine this: Company A makes a set-top box as you describe. Company B develops and publishes a linux binary for it, with source, etc. Company A then signs the binary and distributes the detached signature. The box will now run the special signed version of Linux.

      Who has broken the GPL? Company B hasn't done anything wrong at all. Company A has not used, distributed, or created a derived work of any GPL'd software. They are not a GPL licensee, unless you can claim that the MD5 sum of a program is a derived work, which is ludicrous.

      No, it's difficult, but Linus is correct. The GPL protects the software only. The remedy to this problem lies elsewhere: people should choose not to buy crippled hardware, and governments should not make laws prohibiting people from modifying their own hardware.

    • by DdJ ( 10790 ) on Thursday April 24, 2003 @12:39PM (#5800386) Homepage Journal
      To elaborate on my own point, since a few people have missed the implications of the GPL, here is how the GPL explicitly defines source code:
      The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
      Think that through.

      If you give me an executable, and you do not give me everything I need to not only recompile but to actually install that executable (with the exception, listed a little later, of the stuff that always comes with the system you're installing on), then you have not in fact given me the source code, by the very definition contained within the GPL.
    • It's possible that the second situation might be construed as linking the kernel and the BIOS into a single derived work, since the kernel is now essentially an irreplacable part of the BIOS. That would require the BIOS to be GPL.

      On the other hand, it's easily possible to build a device which includes a Linux kernel which can't be replaced by the end user: just put it in ROM. The way to install a replacement would be with a soldering iron and a ROM fab, which would be beyond the means of most users, but th
  • by ChrisPaget ( 229422 ) on Thursday April 24, 2003 @12:08PM (#5800031)
    ...how DRM ever actually *CAN* be integrated into Linux in a useful and reliable way. Any kind of code-signing / authentication mechanism will ultimately depend on a signed kernel, and since you have the kernel source you can do whatever you like with it, including spoofing the "Yes, we're running DRM" responses. Even if it comes down to a hardware chip, the kernel will still be perfectly capable of intercepting calls to this chip and spoofing a "Yes, we're running DRM" reply. If the DRM-protected content is dependant upon mechanisms implemented on the client in order to restrict usage, then having total, source-level control over those mechanisms completely negates the security they provide.

    Maybe I've missed something here, but client-side security never works in the end. And in the case of DRM-on-linux, I don't see how it can even get off the ground....
    • I'm pretty sure Linus is aware of that. I would not be surprised if he is fully aware of the fact that any security or DRM features in any open-source system can and will be circumvented.

      Think, if you were in Linus' position: Would you rather raise a stink about DRM and try to ban it from the Linux kernel, probably getting arrested in the process, or just let it happen and not fight when people develop ways around it?
  • Hrm... (Score:5, Insightful)

    by autopr0n ( 534291 ) on Thursday April 24, 2003 @12:08PM (#5800033) Homepage Journal
    Well, there's a big difference between allowing people to digitally sign binary builds of the kernel, and actually supporting DRM directly.

    Personally, it seems almost irrational to want to keep people from signing copies of the kernel. It's almost a free speech issue, people should be able to sign whatever the hell they want.

    I think the real issue is restrictions people place on others, the TCPA/Pallidum DRM systems of which code signing is only a small part. I think I would hate to see Pallidum style 'locks' on the runtime environment in the 'official' version of the Linux kernel. If that does happen, I'm sure it will fork like mad, though.

    I guess what Linus is saying is that if some companies want to make locked up, DRM'd systems using the Linux kernel, it's OK with him.
  • by RexRuther ( 221243 ) on Thursday April 24, 2003 @12:26PM (#5800239) Homepage Journal
    It will start innocently enough with one of the major PC manufacturers coming out with an extremely inexpensive PC. This PC will be bear three things. The first will be that this PC will have superior performance to any machine currently available. The second will be that it will have a DRM enable operating system that is much better than its predecessor (both performance and stability). The final item will be that the hardware will be DRM enabled and will be more advanced than anything currently available.

    The hordes will eat this machine up and it will become the most popular system out there. They will love it and see nothing wrong with it. It will run just like their old machine only faster and more stable. It will run their old software and new DRM enable software transparently. The difference is that the DRM software will be copy protected and the users will be almost guaranteed to pay for it. The majority of people will not notice since most people pay for their software anyway. The hordes will drive the market to a DRM enabled system, the ultimate lock-in.

    On the other side of the fence, the 'free alternatives' will be not be able to get the new hardware to work with their 'Free alternative'. They will boycott the manufacturers, but their boycott will not change things. They will not see the market for non-DRM enabled hardware and will, most likely, be locked into DRM for fear of being excluded from the much larger DRM market. Eventually, the 'free alternative' will only work on older hardware with older software. The 'free alternative' will not be able to run the latest and greatest DRM enabled software or media.

    The free alternative will eventually die off due to the fact that it can't run the latest and greatest hardware and software.

    It's coming to a neighborhood near you...sooner than you think.
  • by Sloppy ( 14984 ) on Thursday April 24, 2003 @12:33PM (#5800330) Homepage Journal
    Binaries that "don't work right" if they have the wrong signature, effectively subvert the intent of the GPL. The GPL exists to empower users by making them not be hostages to any other party. When you have the power to rebuild and maintain the software you use, then you can
    • Stop doing business with a programmer who works against your interest.
    • Shop around for whatever programmers you want, based on price, quality, or whatever.
    • Recover from a programmer getting run over a bus or going out of business or "reprioritizing their corporate strategies" or something like that. When you run GPLed software, you don't have to worry about being "orphaned" anymore, as long as you are willing to put in the time and effort and expense to do something about it. (I have to say that as an ex-Amiga user and a former OS/2 user, I am very sensitive to and grateful for how the GPL solves this problem. Think about what happens to the user of "dead" products. It really, really sucks, and you don't want it to happen to you.)
    This gives users a strong incentive to choose GPLed software. GPLed software is worth more than software that can't be maintained or supported. I am not speaking as an ivory-tower theoretical religeous "zealot" -- I'm speaking from real-life experience directly derived from has happened to me when software that I used, rotted. This is real and it matters.

    But binaries that can't be loaded without the right signature, take all that away. The main advantages of Free Software -- from a user's point of view -- are nullified by it. If your computer's BIOS won't load your OS because the signature is wrong, it's no different than not being able to build the software at all, due to it being linked against a proprietary library or due to you not having the include file that contains the define for a secret key, or due to you not having the source to anything. You can't maintain the software that you use. It might as well be proprietary software -- it's no different to you.

    Linus isn't thinking in these terms, and Linux is his baby, so while it may make sense for me to talk about the purpose of the GPL in general, it is of course wrong for me to talk about the purpose of Linux's license specifically (even though that license happens to be the GPL). Apparently Linus didn't choose the GPL because he thought it was perfect, but because he thought it was best, or good enough or something. And as a developer he still gets the advantages of "open source" even though the users of his work are apparently destined to lose the advantages of "free software." (I guess this paragraph isn't saying anything that everyone doesn't already know; I'm just acknowledging the difference between Linus' values and many Linux users' values.) It makes me wonder: why didn't Linus choose the BSD license instead? It seems that it would serve his interests just as well.

    (Well, I'm off to vacation. No more arrogant noise outta me for about a week -- well, at least not here on Slashdot. See ya.)

  • Further Discussion (Score:4, Insightful)

    by SomeOtherGuy ( 179082 ) on Thursday April 24, 2003 @12:43PM (#5800413) Journal
    DRM is like the discussion on gun control. (Guns don't kill people, people kill people.) And putting a nice fat elk on the dinner table is always a good thing for us meat eaters. DRM is the same way -- Linus is talking (in my opinion) about a useful purpose for something (that in the wrong hands) can cause a lot of damage.

  • by $0.02 ( 618911 ) on Thursday April 24, 2003 @01:04PM (#5800626)
    ... if one of the leaders of OS community admits to be Oppenheimer should Bill Gates admit being a Cllosedheimer.
  • by karlandtanya ( 601084 ) on Thursday April 24, 2003 @01:09PM (#5800685)
    Assumptions--Just to keep the discussion non-trivial: Binary programs outside the kernel can be "fooled" into thinking they are "trustworthy", and a binary kernel can't. Fritz and all that...

    Let's say I want to operate karlandtanya's streaming radion station. You can play music but you can't copy it. I believe this is possible becasue I don't believe in the existence of analog recorders. Hardware is cheap, but commercial OSs are not. So I choose to use GNU/Linux for the OS.

    I want to prevent you from copying the digital stream I send you. How do control functionality and still respect the fact that you have the right to hack GPL software?

    I sell a subscription to my service. I give you the OS and software. The box (and its Fritz chip) remain mine, but you are allowed to use it as long as you are a subscriber. I threaten to sue you if I find out you've changed my hardware in any way.

    The OS I give you is "karlandtanya's Orwellian GNU/Linux". The distro comes with a binary kernel that I've signed. I also give you sources for everything, including a key-response program (which is compiled into the kernel) and (just to show I'm sincere) the source for the server side of the system. But I don't give you my secret key.

    You immediately untar the sources, recompile the kernel and install. You don't make any changes to the source or any configuration.

    You boot the box I loaned you. The Fritz chip won't let it boot. My hardware can only be used to do what I want it to you. "That's fair.", you say. "I paid for the subscription, not the box."

    Because you are very clever, you have another very similar box, but without the Fritz chip. You build and install all the packages in karlandtanya's Orwellian GNU/Linux on your hardware and boot it up.

    Next, you log onto my site. The site initiates a secure handshake with the key-response program built into your kernel. But when you built your kernel, you did not use my secret key. So the binaries cannot verify against my server. The site denies you access.

    Now comes the interesting part:

    Now, you and 10,000 of your friends take me to court for GPL violation.

    Plaintiff: "Since I cannot compile a working binary from the source you sent me, you did not release the source code. You are in violation of GPL. You must release the source, replace the OS with a non-GPL OS, or refund our money."

    Defendant: "Yes, I did release the source code. And it works. I just didn't give you my secret key."

    Plaintiff: "No, you did not release the source. Since I cannot build exactly the same binary that you sent me, part of the source must be missing."

    Defendant: "Yes, I did release the source. The binaries you generated function exactly the same as the ones I gave you. Part of their function is to verify that they were created using the same secret key as the server they are trying to connect to."


  • by gr8_phk ( 621180 ) on Thursday April 24, 2003 @01:12PM (#5800722)
    Once you make it illegal to use an unsigned OS, Linux under the GPL is screwed. As a legal mandate someone will be put "in charge" of signing binarys. Not Linus nor anyone else outside the appointed (not elected) inner circle will be able to sign an OS. Since GPL requires source to be available, this will make the big commercial Linux distros better than Windows, but rest assured that the intent of the GPL to allow people to modify and redistribute will most certainly be compromised. Sure you can mod and distribute the source, you just wont be able to boot it.

    Just taking the other side to promote discussion.

  • One question... (Score:3, Interesting)

    by aardvarkjoe ( 156801 ) on Thursday April 24, 2003 @01:18PM (#5800785)
    I'm curious ... Linus says that you can't put private keys in the binary ... but what about loadable modules? After all, non-open-source kernel modules are allowed anyway, so it seems like you can essentially get anything you want into the kernel already.

    Or is there some reason why that's not relevant? (I admit, I don't really know exactly how DRM's supposed to work.)
  • by Tom7 ( 102298 ) on Thursday April 24, 2003 @01:24PM (#5800861) Homepage Journal
    Under a strict interpretation of the GPL, signed binaries would be illegal to distribute, unless you distribute the private key that you use to sign them (making the signatures worthless, obviously). Here's my reasoning.

    Let's assume you're using a standard signing algorithm like RSA, which signs a hash of the message (the binary).

    Such a hash is a derivative work -- it's created directly from the binary through a hash function. (This is the biggest stretch of the argument, but at least in a mathematical sense this is very accurate. Note that it is not simply a re-expression of the work, but really reassembly of the bits in the original copyrighted expression).
    A signed hash is a derivative work of the hash of the binary, for the same reason.

    Therefore, the signature has to be distributed under the terms of the GPL as well. That means that if you give it out, you need to give the source to it as well. The source code is defined in the GPL: "The source code for a work means the preferred form of the work for making modifications to it. ... However, as a special exception, the source code distributed need not include anything that is normally distributed..." The source for this hash is the program that does the hashing and the signing (probably exempt by the second sentence) and of course the private key used to sign it.

    Of course, this is a little tongue-in-cheek. But I think it's important to remember the clause in the GPL that requires you to provide not just source code but all of your build tools. Imagine if you created a new wacky language extension to C, (like a new primitive called do_my_secret_stuff) then used that to compile a program and gave out only the source code in C_with_secret_stuff? Those clauses are in the GPL for a reason, so don't forget what "source" means!
  • DRM vs. signing (Score:4, Insightful)

    by dh003i ( 203189 ) <.dh003i. .at. .gmail.com.> on Thursday April 24, 2003 @01:32PM (#5800925) Homepage Journal
    Digital rights management is just that -- digital rights management. It is designed to prevent me from making fair use of MY software, music, DVDs, whatever.

    I think what Linus is talking about is an entirely different applications of essentially the same technology. He's talking about signing as being a good thing, so that we -- the users -- can verify, for example, that the latest kernel release was actually released by Linus, and not some poser. This is good and fine. If we want to be able to verify such things, we simply install the appropriate verifying software, with internalized or modularized support in the kernel; alternatively, we can add/remove that verifying feature from the source.

    In other words, *we* have the option to have these things, which would allow us to verify that the latest kernel release was actually signed by Linus (doesn't GPG do this?)

    However, DRM and digital signing can never work in a GPL'ed system unless the person controlling the computer wants them. You're welcome to put a DRM-scheme in any GPL'ed (say) CD-player, referring to an external closed key. I, however, if I don't like that, can remove that from the source, thus have the program not even request such a key. Likewise with signing. This does not mean that DRM and signing are useless on GNU/Linux. It just means that they can't* be imposed against the administrator's will. The administrator of the computer can still use them -- if (s)he wants -- to verify that updates are signed by individual's they trust. And they can still use them to ensure that ordinary users on those machines (if said machines are corporate) can't use them to violate copyright laws, which would create liability for the corporation. However, the administrator can also choose *not* to use them.

    I also don't see how RMS is the counter-point in this case. RMS has had ample opportunities to include anti-commercial, antiÐadvertising, and patent-fighting terms into the GPL. He has refused. I e-mailed him asking about the Open Software License, which has a clause in it that would terminate the right of anyone to use that software if they brought a patent lawsuite against any other under an OSI-approved license with the same clause in it. I suggested he put such into the GPL to ward off patent lawsuites. He refused, stating that there was already something in the GPL preventing stealth patents from infecting GPL'ed programs.

    I don't think it's enough, but his worry is that such a clause would make the GPL a EULA, regulating the user's actual *use* of the software. I also don't see anywhere where RMS or anyone else in the FSF has said that the GPL bans DRM and signing, nor that it should be modified to do so. As it happens, I think that such a clause should be included in the GPL, because patents are a major problem for ALL software developers. If developers had to do exhaustive patent searches before writing code, nothing would EVER be produced. I think, however, that anyone who wants such a clause can simply add it to the GPL in their own modified version of it.

    * The worrysome case, however, is with things like requiring DRM by law, or by hardware code. There are nazi ideas floating around to make it legally required for all software to use DRM. This may not directly affect any FS/OSS projects, as they can simply move abroad. However, one should not understimate the power of multinational corporations to get the WTO to penalize nations that don't agree to the US' draconian IP laws. Furthermore, hardware initiatives like Palladium would prevent GNU/Linux from running on hardware at all.
  • I don't agree fully (Score:3, Interesting)

    by I_redwolf ( 51890 ) on Thursday April 24, 2003 @01:34PM (#5800945) Homepage Journal
    As i'm not one to just jump into the foray of "yes yes, praise the almighty Linus" there is only one valid reason I see use for DRM and that's the binary signing but as it was pointed out it depends on who's doing the signing. The functionality which makes most sense for DRM already exist in the application arena with checksums/md5sums/etcsums and I just don't see how having DRM in the kernel is really going to change much. Maybe, for local networks, private industry inhouse situations where security is end all, be all it'll allow for tighter integration (ie: with hardware) and one less security issue but I mean this is such a small niche that it becomes retarded, again it can be done with software, ids programs etc and it's not like you can't write a module to monitor file checksums etc. Really the same problem exist, who's signing what.

    It seems a little redundant to me really and whenever Microsoft talks about DRM they are talking about media as in video, music etc. 90% of people don't check checksums now all of a sudden they are going to start checking who signs their binaries? So here are a couple of questions that remain.

    Is DRM really protecting the consumer?
    Who's going to sign my binaries? ie: Project maintainer? Microsoft? Redhat?
    If Joe Q Hacker signs my binary what's to stop it from running? I mean in all reality Joe Q User isn't going to check that it's safe or even care.
    Is this protecting me as the computer user?

    Feel free to answer the questions or point me in the direction of some documentation but as of now I think DRM is pretty retarded and is just going to be more stuff I don't waste time compiling, all it does is add another level of exploitation that already exist, this is just spelling it out and making it easier to exploit platforms that use DRM. Also, correct me if i'm wrong.
  • by Skapare ( 16644 ) on Thursday April 24, 2003 @01:46PM (#5801077) Homepage

    What the media content providers want to ensure is that you, the human being, can hear/see the content, without there being a way for you to actually copy it to allow others to hear/see that content, or even for you to hear/see it at some later time frame or more than a specified (e.g. paid for) number of times. Whether we agree with their right to do that or not, that is a general description of their goal (or at least for many of them).

    No protection will be perfect, of course. If you can hear it, you can record it from a microphone. If you can see it, you can record it from a camera. But as we know from past articles on Slashdot and elsewhere, even these techniques of copying are targets of efforts to prevent recordability. If you succeed at such recording, perhaps at least these methods will have forced a degradation of quality in that recording (e.g. while working to strip out any watermarking, you also damage the quality).

    What the content providers particularly loath, however, is the ability to have direct access to the content digitally. If you have that, you can copy that as is, and play it back at a different time or place or in front of a different audience or multiple times. The primary means of preventing this is encryption. But at some point it has to be decrypted. At that point you then find the content in the clear. One aspect of DRM is to deploy a "sealed box" wherein the decryption can take place, yet the user cannot get access to the clear content. Windows can potentially do this due to its closed and proprietary nature. It won't be perfect, but most people will not have any idea how to bypass DRM. There is the potential to distribute software to do it that anyone can use, but certainly we can expect DRM in cooperation with Windows itself to make it hard for unsigned (by Microsoft) software to have access at the level needed to get at the clear content. For example, Windows with DRM will probably refuse to allow you to install your own sound card driver since that is one place where the clear content will be going through.

    Linux could certainly have DRM code integrated into it. But because it is open source, and you can build your own kernel, this is a much harder black box to implement. From the point of view of content providers, Linux is a hazardous environment (so is BSD).

    Linux supports loading modules which might be available only in object form. There are such modules already available commercially, such as for certain video cards. Some of us love them (because the cards are awesome) or hate them (because the modules are buggy, perhaps with new kernel versions, and cause crashes that would otherwise not be the norm in Linux). But when it comes right down to it, we can add new code to the kernel to work around all the interfaces the module is using. For a device driver, the hard aspect will be seeing what it actually does with the device at the register level. But a DRM black box would be something quite different, since it would need to be able to use existing sound card or video/TV card drivers. That opens the potential to wedge a tap in between DRM and the drivers (or even replace the driver with your own), which Linux would allow and Windows would not so easily. And don't think the media content providers don't know this (they have been getting a lot of hard technical lessons the past few years).

    But it can still be possible to have DRM with Linux. One approach is to put the DRM directly in the device driver. That would help, but wouldn't be perfect since other code can be present in the kernel to get cozy with what the DRM is doing. The big problem is getting all the device manufacturers to make a Linux driver.

    Perhaps the best (from a practical perspective, were the content providers ever to realize this) way is to put DRM directly in the hardware. That's about as sealed up as you can get. I'll explain how this can work in terms of music in an encrypted MP3 format, but you can extrapolate it in terms of other media or

  • by Anonymous Coward on Thursday April 24, 2003 @01:51PM (#5801126)
    This whole "debate" is like saying you can't sell hammers because we think someone will use them as a deadly weapon. BIOS support for signed boot images would be a good, useful thing - don't confuse this "hammer" with the malicious intent with which it may be used.

    Imagine being able to tell your bios not to load a kernel (actually, boot loader is probably more accurate), unless it was signed by you. Then you've just guaranteed that even after a system break-in, you can at least start from a known clean kernel.

    Doing this in hardware, designed so that there is no way for the running OS to overwrite the BIOS' copy of the key, is the only way to make it safe.

    And, yes, I would personally USE it. I would LOVE to be able to tell the bios not to load a version of grub I didn't install, and I'd love to then also be able to tell grub not to load a kernel that was modified without my knowledge. While we're at it, I'd like to be able to extend that to all of my kernel modules, and from there even to certain key system binaries used during run-time.

    In other words, allowing the bios to offer security checking really DOES allow for the possibility of ENDING the requirement that you wipe and re-install an OS (or even an application) after a successful break-in. It provides a very much needed "guaranteed safe starting point" for building additional security.

    Should bios makers embed a microsoft key in every bios - absolutely not. Should bios makers provide a straight-forward way of letting system owners install their own keys? YES, PLEASE, YES!!!

    So what APIs should the bios offer to the OS? Certainly nothing that allows the key to be read or overwritten, but it would be nice if it would provide a "check and approve or reject" API so running applications could determine whether other files are clean before loading them. As long as this all starts from a single trusted source (system reboot checks boot loader, which checks everything it loads (including the files used to make future checks)), this is THE CURE for lots of current security problems.
  • by stienman ( 51024 ) <adavis.ubasics@com> on Thursday April 24, 2003 @01:57PM (#5801196) Homepage Journal
    The new Linus's Rights:
    1. You have the right to sign your binaries.
    2. Anything you sign can and will be used against you in a public forum.
    3. If you are under the age of 18, anything you sign can be used against you in a juvenile flame war for a juvenile offense and can also be used against you in an adult flame war if the forum admin decides that you are to be flamed as an adult.
    4. You have the right to talk to an attorney before signing any binaries.
    5. You have the right to have your attorney present during the signing.
    6. If you cannot afford PGP, OpenPGP will be provided to you without cost, before or during signing, if you desire.
    7. Do you understand these rights?
  • Linux is wrong (Score:3, Informative)

    by bwt ( 68845 ) on Thursday April 24, 2003 @02:13PM (#5801341) Homepage
    I disagree with Linus. Although my belief doesn't really matter because I am not a kernel hacker, I do expect that many Linux contributors may disagree as well. Unless all the contributors agree with his position, the potential is there for one of them to make the legal claim that distributing a DRM-signed GPL'd work for use in a DRM machine without providing the private key as part of the source code is a violation of their copyrights (traditional and/or DMCA). In this case, unless Linus is willing to play politics and fight his way through a lawsuit to prove his position, then regardless of his beliefs or the legal correctness of those beliefs, there will be no DRM-signed Linux. I also predict that he would lose, if he chose to fight in court.

    An "external" DRM-signature that allows verification of the origin of a particular piece of code is perfectly fine UNTIL that signature's presence is enforced by the hardware as a condition for exectuion. At that point, the signature becomes functionally part of the instructions to the machine that enable the whole to be executed, and I believe that because the DRM machine is requiring the presense of both in order to execute that they are a combined work in the context of use on that machine.

    This signature, when enforced by hardware, also becomes part of an overall technological protection measure within the meaning of the DMCA. The DMCA requires the "authority of the copyright holder" to get access to a work protected by a technological protection measure (TPM). Nothing in the GPL authorizes the removal of a TPM, so if Linus unilaterally places a TPM on his copy of Linux (which the DRM-signature is) then he needs the authority of all the copyright holders to access the protected copy, which would include running it on a machine that enforces DRM. No text in the DMCA supports the position that if unprotected copies exist means that access to a TPM protected version is allowed.

    Putting TPMs on other people's work without their approval results in a TPM protected work that no one can use. The GPL does NOT provide DMCA access rights either (it provides copying and modification rights but not TPM-access rights).
  • unsurprising. (Score:4, Insightful)

    by Eivind ( 15695 ) <eivindorama@gmail.com> on Friday April 25, 2003 @02:50AM (#5806550) Homepage
    Yes, you can make hardware that will only run signed binaries, and thus close that hardware to tinkering. Infact, making such hardware has already been attempted, it's called a console.

    In essence, the bootloader of such hardware does the equivalent of:

    if (valid_signature(kernel))
    com plain_and_stop();

    This is nasty, if you are running on such hardware, than the ability to change the kernel in any way you like brings you nothing: if you change anything, even something completely trivial, the signature will no longer be valid, and your new changed kernel will not boot.

    Linus is rigth though, this is clearly allowed under the GPL. And furthermore, it very likely CANNOT be forbidden even if we would want to.

    A Signature is (or atleast it can be) a separate document saying the equivalent of: "I, Bill Gates, testify to the fact that the kernel with sha1sum=b7a7bf03dcafd4d48001d6a2a6fd2ceaefa4cc1e is trustworthy and can be booted. signed(bill_g)"

    There is no way for the GPL, or any other legal document to forbid the above document from existing. The signature above is clearly not a derived work of the kernel, but rather a commentary upon it. (namely a commentary on the trustworthiness) The only info derived from the kernel is the sha1sum, but the only function of this is to make it clear which kernel you are talking about. (much like mentioning the ISBN-number of a book you are reviewing)

    Furthermore, there is also no way you would be able to forbid hardware from acting on the existence (or absence) of such a signature. Afterall there is no law saying that "hardware *must* boot all code."

    Now, what *would* be nasty would be new laws *requiring* hardware to implement signature-checking. Such laws would essentially make it forbidden to make user-modifiable computers. The way the US is moving at the moment, I would not be too surprised if such a law is introduced and passed in the next few years.

"The Avis WIZARD decides if you get to drive a car. Your head won't touch the pillow of a Sheraton unless their computer says it's okay." -- Arthur Miller