Messages in this thread | | | Date | Sun, 5 Oct 2003 03:34:28 +0100 | From | viro@parcelfa ... | Subject | Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]] |
| |
On Sat, Oct 04, 2003 at 06:05:21PM -0700, Larry McVoy wrote: > > Yeah, but Linus stating his position about a license doesn't mean diddly. > The kernel is licensed under a license, that license is a contract that > people enter into. To the extent that it is enforceable, that license > determines what happens, Linus can't retroactively decide to interpret > the license a different way. The license can't enforce things which > the law doesn't allow. In particular, the law understands a concept of > a boundary. And Linus' comments notwithstanding, modules are a pretty > clear boundary. Even the GPL acks this, it knows that anything which > is clearly separable is not covered.
Oh, for fuck sake! Larry, grep the damn tree for EXPORT_SYMBOL. And count them. _IF_ it would be a relatively sane set of primitives - sure, no arguments. It's not. Nowhere near that.
Conversions from EXPORT_SYMBOL to EXPORT_SYMBOL_GPL are noise. Why? Because at any point any exported symbol can disappear. Period. For some of them it's less likely, for some - more, but there was no promise to preserve that set. Ever. Look at them and you will see why - if we promise to keep all that pile present and working as it used to, we've got a pitchfork stuck in the kernel guts.
Yes, it would be nice if there was something at least resembling an API. Get the export list to shrink by 1.5 orders of magnitude and we might have something to talk about. That, and get the situation to the point where additions to the export list would have to be defended - not granted whenever somebody says "I wanna". Until then there's no boundary at all.
Right now modules can call _anything_. Look through the history and you'll see patches that not only added an export but removed static at the same chunk. And you know what? The guys who would like to pretend that there is a boundary are the same guys who had destroyed it. It used to be much smaller list of exported objects. Guess who had been pushing for its expansion until it had lost any semblance of controlled interface?
When additions to interface start happening without any review and without any percieved need to even explain why you need to add this, this and that - it stops being an interface. It's true for any project, not just the kernel.
And I'll bet you anything - if you try to get the damn thing back into shape, authors of said modules will be out for blood. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |