Re: Kernel developers' position on GPLv3
Posted Sep 23, 2006 13:26 UTC (Sat) by mingo
In reply to: Re: Kernel developers' position on GPLv3
Parent article: Kernel developers' position on GPLv3
The gist of this argument seems to be that the
requirement in the GPLv2 that you share your changes, and that you also
share the other code you link with the GPLv2 code is a neutral
requirement. Meanwhile you seem to claim that the requirement that you
allow end users to modify the code for its primary use to be a moral
and/or political requirement.
The fundamental flaw in this argument is that you are somehow believing that "the requirement that you allow end users to run modified code" is universal and applies to all hardware that ships GPL-ed code.
Reality is that every piece of hardware on this planet has one or another end-user restriction. Every single one. Just try a simple experiment: take a GPL-ed piece of software that has a 100MB static array in it, "modify" that code to have a 1GB static array and try to run it on a 128MB RAM swapless system. It wont run, and it's the hardware that keeps you from running that modified code. Hey, the hardware maker cheated me! He does not allow me to run modified code! And the hardware maker could fix this situation easily: he should send me another 900MB of RAM, nobody forced that hardware maker to use GPL-ed code!
(At this point you'll probably say "but those are cases where it's impossible for the vendor too to run that modified code". But - your argument was that the GPL always allowed people to run arbitrary modified code, wasnt it? So (if you like logical arguments like me) you'll have to abandon your argument of "unconditional right to run modified software" which right does not exist because it cannot exist, and you'll have to qualify the way how end-users are limited by hardware. And such "judging" of hardware technologies, whether a given method of limiting end-users is "moral", "immoral" or "neutral" is what i believe to be 1) fundamentally immoral 2) none of our business, because we did not create that hardware.
So the "run modified code" statement only (and obviously) applies to hardware that allows you to run the code you modified. And the answer to that, if you cannot run it on the hardware that came with that GPLed piece of software: buy the right hardware! It's easy: you got the source code.
Once you accept the fundamental fact that no hardware exists that can run arbitrary modified code, you'll see why we think how unrealistic the interpretation is that "the GPL always said that all hardware that runs GPLed code must be able to run modified versions of that GPLed code". You'll also understand why we think that trying to control how hardware designers shape end-user limitations is immoral, because it uses the licensing power we have (and which power was paid for and bought by the RIAAs and MPAAs of this world) to "reach out" into a creative work that we did not write (the hardware), in potentially immoral ways.
And even if i supported an "eye for eye" position (the MPAA is trying to reach out into my creative work so i'm trying to "hit back" [which the MPAA would laugh about - they are only happy about small fish like us voluntarily excluding themselves from their market]), which i dont, it is fundamentally hard (for the reasons i outlined) to judge the "morality" of a given method of end-user limitation, because it is a deeply political and religious thing to do.
Furthermore, the GPLv2 clearly states, in Section 0, that it does not limit end-users:
The act of running the Program is not restricted [...]
And the only way the GPLv3 can "reach out" into hardware, via the vast copyright power that creators of works enjoy these days, is by using that power to limit end-users! Note how the GPLv3 removes the above crutial statement from the GPLv2. Such limiting of end-users via the license i consider to be fundamentally against the spirit of the GPLv2 outlined in Section 0. Using an immoral method to fight an immoral enemy does not make that method moral. It just sinks us to their level. I know it is hard to do, but we must not compromise on our moral high ground.
(We programmers really love to worry too much. We worry because it is our job to worry alot: programs can and do break in unexpected places, so a healthy bit of paranoia is welcome and useful, and the best programmers always expect the unexpected and consider every possible and impossible scenario. But we should not allow this natural tendency to worry let us do bad long-term decisions in licensing matters. FOSS is alot stronger today than the minimum strength the GPL enforces and the "enemy" is alot weaker than we like to think. Just look at how Apple managed to break the RIAA in 2-3 years: they created the iPod that people quickly learned to love /more/ than they love their music. That's how badness should be fought: by creating something that people like. And i strongly believe FOSS can do alot better than old-school Apple. We should just not let us defeat ourselves by damaging the foundation FOSS is built upon: freedom and fairness.)
to post comments)