Similar in spirit?
Posted Oct 5, 2006 2:02 UTC (Thu) by njs
Parent article: Similar in spirit?
While personally I am undecided on the GPLv3 provisions, I find the brouhaha about "similar in spirit" a little curious. A thought experiment for those who it bothers: suppose 5-10 years ago, before DRM was actually on the horizon etc., I had asked you, "What if it was possible to have a computer whose software could only be modified with the permission of the original manufacturer -- do you think RMS and the FSF would consider such a computer to be antithetical to everything they stand for?" If someone had asked me this, I would have said "yes"; the FSF's philosophy seems to make that quite clear. Recall also that while in these discussions we just say "or later version" as a shorthand, the full language we write in our licenses explicitly adds "as published by the Free Software Foundation".
If you agree that the FSF's philosophy is consistent from then to now, and that those of us who used the "or later version" language were explicitly placing our trust in the FSF -- then how can you be surprised when they interpret clause 9 in the same way now as they would have back then? If someone makes you a promise, and also publishes hundreds of pages of positions papers explaining what they meant by it, you can't be surprised when they hold to their version of the promise, rather than what you wished they meant but never said (or explicitly repudiated).
To reiterate, I'm not saying that objections to the current v3 draft are unjustified; just that dragging in clause 9 seems disingenuous.
I also find all the people preemptively removing the "or later version" language from their software strange. Like Ingo points out, this puts a really astonishing amount of power into the FSF's hands, and that's a scary thing. But the scary possibility, the thing that takes an extraordinary leap of faith, is trusting that the FSF will not add _more_ permissions -- in particular, removing things like the "tit-for-tat" that are so fundamental to protecting us. RMS is the only person who could do that. I can't blame people like Linus for deciding to play it safe in this respect.
But, it turns out that all the objections I've heard to the v3 drafts have to do with adding more _restrictions_. For me, there's a fundamental distinction here -- if I found out that my software, that I thought was free, could suddenly be incorporated into proprietary software, that would piss me off. If, OTOH, I found out that someone could suddenly add some patches to my code and the result could only be used on certain machines, then, well... that's annoying, and counter to the GPLv2, but... I would survive just fine. I only object to people forking my code to live in their own little more-restrictive universe if their doing this somehow impacts my own development.
Which is a worry. People (e.g. Ingo) have pointed out that code can go "v2 or later" -> "v3", but not vice-versa, and this gives v3-only forks an advantage that could potentially suck away developer resources. But we're lucky -- most of this stuff is so scary and contentious because the stakes are high and none of us really know how to predict what will happen. In this case, though, we actually have data! _Lots_ of projects have licenses that are "upgradeable" to more restricted ones -- as someone pointed out on the last thread, the LGPL in particular has the property. I'd actually forgotten until it was pointed out. Why had I forgotten? Because it _never_ gets used (except maybe to incorporate some LGPLed code into a pre-existing GPLed project). The same is true of the BSDs... BSD code gets proprietary forks all the time, but have you ever heard of a BSD-licensed project getting forked to GPL? And the fork being successful? Wine is sort of an example of this, except IIUC pretty much everyone switched licenses together -- so it's hard to call it an example of a harmful fork that diluted developer resources.
(See also Don Marti: http://www.linuxworld.com/community/?q=node/182 )
So, since I trust the FSF not to add permissions, and history doesn't support there being non-trivial harmful effects to adding restrictions, I'm leaving the "or later version" language on all my software for now.
I guess finally I'll say something bad about v3 too, since I claimed at the beginning that I hadn't decided but here I am making only arguments for the "pro" side... I am actually, despite the above, really really scared of v3. It isn't the whole debate about whether v3 puts restrictions on use, or separately created hardware, or whatever, that bother me the most. I'd actually call myself a Free Software guy, over the years I've come around to agree with a _lot_ of the FSF's philosophy, but it's this issue of freedom that scares me.
For me (and this matches my reading of the GNU Manifesto), free software means that I can learn from and modify the tools I use, and help my neighbor. And, if the whole world can't be free (since copyright law is not so easy to change), then with tools like the GPL and the GNU project at least we can create a sandbox for ourselves, and so long as we stay inside it, we can stop dealing with obnoxious copyright rules -- we can act as if we're really free.
A not-really-digression: this is what pisses me off about Sun and their CDDL. I'm happy they freed their software, that's very generous of them, woohoo, but they made it GPL incompatible. That's their decision, but it's like the person who says they will only be your friend if you stop hanging out with your other, existing, friend. If you want to come play in our sandbox, great, the more the merrier, but don't try to split the sandbox in two by putting a big wall down the center. The whole point is to never trip over those walls.
This is what worries me about how the v3 process is turning out: if it manages to split the FOSS community, then even if I agree completely with the FSF's goals, I can't shrug that off as just a practical problem, or the regretful but morally necessary outcome of some people deciding that they prefer pragmatics to freedom. It directly, and potentially dramatically, impacts my own ability to act as a free developer. The possiblity terrifies me, viscerally.
I'm starting to wonder if we shouldn't treat the draft v3 DRM provisions like we all treat questionable patches. The legal and technical landscape around DRM is so unsettled right now that no-one seems to be sure if the DRM clauses _are_ in fact necessary to preserve freedom or not, or even if the proposed clauses will actually have any practical effect at all. (Maybe next year it will turn out that the latest preferred way to achieve DRM-like effects doesn't run afoul of the draft language at all.) There's also a worry, just from the difficulty getting the language right so far, that they may have nasty, unforseen negative consequences (i.e., somehow preventing perfectly legitimate and freedom-enhancing projects).
Compare that to a patch adding a new feature to a project. If we can't tell yet whether the feature actually has the right design, the coding style is a little grotty, enough to make us worry it might have bugs in it to make the whole program crash... maybe the feature is actually really, really important to have in the long run. But we already have a bunch of other stuff landed on mainline to go into the next release, and we're not going to delay getting all that to users's hands just so we can get this other new thing right.
So maybe we should push back DRM provisions to GPL v4. The way patches go, half the time it turns out that just by waiting a bit and getting more experience with how the software is used, suddenly the right solution turns out to be obvious to everyone and the debate disappears.
So, to conclude this epic comment:
* rifts in the community are beyond bad news
* "or later version" probably shouldn't scare people who think RMS is a raving zealot, only if you think he's a raving compromiser; and it makes it easier to defer hard decisions and avoid rifts
* maybe DRM clauses should get deferred for now
* we're all in this together...
to post comments)