Skip to contentSkip to conversation

People, not GPL [was: Re: Driver Model]

DISCUSSION Pascal Schmidt 25 participants 90 messages Sep 10, 2003 – Oct 30, 2003 2 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw

On Wed, 10 Sep 2003 22:40:14 +0200, you wrote in linux.kernel:

Quoted 4 lines

However, Richard Stallman does not agree with this view. It's his
view that if the authors chose to give you the code, you can use it any way you want to, regardless of how the authors feel about that type of usage. This is why he created the GPL.

Use in any way you want to is the BSD license, not the GPL. The GPL does restrict what you're allowed to do in order to keep the source free...

Signature · 2 lines
Ciao,
Pascal
#3 lore raw
Quoted 9 lines

On Wed, 10 Sep 2003 22:40:14 +0200, you wrote in linux.kernel:

Quoted 4 lines

However, Richard Stallman does not agree with this view. It's his view that if the authors chose to give you the code, you can use it any way you want to, regardless of how the authors feel about that type of usage. This is why he created the GPL.

Use in any way you want to is the BSD license, not the GPL.

Please show me one restriction on *use* in the GPL.

"Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does."

Licenses that place restrictions on usage are *not* open source licenses.

Quoted 3 lines

The GPL
does restrict what you're allowed to do in order to keep the source free...

Yes, it restricts your ability to distribute and your ability to create
derived works if and only if you distribute those derived works. It places no restrictions whatsoever on use. And since it requires distributors to place no restrictions not in the GPL, distributors cannot place *any* restrictions on usage either.

DS

#4 lore raw
Quoted 1 line · David Schwartz

Please show me one restriction on *use* in the GPL.

Well, you may not *use* GPL'd code to produce a derived work and distribute it in binary form only. Use of the code, not use of the product, sure.

Signature · 2 lines
Ciao,
Pascal
#5 lore raw
Quoted 7 lines · David Schwartz
Quoted 2 lines

Please show me one restriction on *use* in the GPL.

Well, you may not *use* GPL'd code to produce a derived work and distribute it in binary form only.

That is a restriction on distribution, not use. You may use GPL'd code to
produce a derived work and you may use that derived work. The only restrictions kick in when and if you distribute that derived work.

Quoted 2 lines

Use of the code, not use of
the product, sure.

The GPL puts no restrictions on use. The GPL_ONLY stuff does.

It's really this simple: The GPL says you can use the code for whatever you
want. It also says that if you want to distribute the GPL'd work or works based on the GPL'd work, you may not impose any restrictions other than those imposed by the GPL. It very specifically prohibits restrictions on mere use or upon the mere creation of derived works. All of its restrictions kick in on distribution.

The GPL_ONLY stuff is an attempt to restrict use. There is nothing
inherently wrong with attempts to restrict use. One could argue that the root permission check on 'umount' is a restriction on use. Surely the GPL doesn't mean you can't have any usage restrictions at all.

What it does mean is that such usage restrictions *cannot* be licensing
restrictions. In other words, it cannot be a license violation to remove them or circumvent them. So long as nobody tries to claim the GPL_ONLY is a license enforcement technique, there is no dispute.

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Other people who contributed to the Linux kernel relied upon the GPL
license to ensure that their code, and works derived from it, would be available *without* use restrictions. Nobody has the right to turn around and impose usage restrictions on the Linux kernel source code.

The GPL prohibits the imposition of any licensing requirements other than
those contained in the GPL itself, all of which kick in only upon distribution. It's really that simple. Anyone who distributes the Linux kernel with a licensing restriction that kicks in on mere use is violating the GPL.

DS

#6 lore raw
Quoted 4 lines · David Schwartz

The GPL_ONLY stuff is an attempt to restrict use. There is nothing
inherently wrong with attempts to restrict use. One could argue that the root permission check on 'umount' is a restriction on use. Surely the GPL doesn't mean you can't have any usage restrictions at all.

No the GPL_ONLY stuff is an attempt to document that there is no conceivable way that using a given symbol does not create a derived work.

If you use an unmodified kernel it is only a one liner to ensure it does not complain about your code. So this only shows up as a real impediment when code that uses the symbol is distributed.

Beyond which copying code into the kernel is when this is checked so this is a valid place to check things. There is a strong tying between using programs and copying them into memory. And that copying is the justification for most usage restrictions even in commercial software.

The code is also quite a small nit that really should not affect anything.

Eric

#7 lore raw

Combined responses.

Quoted 3 lines

No the GPL_ONLY stuff is an attempt to document that there is no conceivable
way that using a given symbol does not create a derived work.

and:

Quoted 4 lines
Quoted 1 line

The GPL puts no restrictions on use. The GPL_ONLY stuff does.

No it doesn't. It allows people to track whether you get support or not. It prevents nothing.

So long as it's not an attempt to use the GPL license as a way to restrict
use, there's no problem. There is no license restriction or enforcement scheme here that one could possibly circumvent because the GPL_ONLY stuff is not a license enforcement scheme. It cannot be a license enforcement scheme because there are no license requirements that kick in upon any act other than distribution.

The GPL_ONLY stuff does in fact restrict use. However, this is a
restriction anyone is free to remove or circumvent if it bothers them. This isn't a dishonorable act because nobody intended this mechanism to restrict use -- I hope.

DS

#8 lore raw
Quoted 4 lines · David Schwartz

The GPL_ONLY stuff does in fact restrict use. However, this is a
restriction anyone is free to remove or circumvent if it bothers them. This isn't a dishonorable act because nobody intended this mechanism to restrict use -- I hope.

If effect it does affect use because of lack of support. But personally I agree with that...

#9 lore raw
Quoted 8 lines · Mike Fedyk
Quoted 4 lines · David Schwartz

The GPL_ONLY stuff does in fact restrict use. However, this is a
restriction anyone is free to remove or circumvent if it bothers them. This isn't a dishonorable act because nobody intended this mechanism to restrict use -- I hope.

If effect it does affect use because of lack of support. But personally I agree with that...

I disagree that use == support. Whatever happen to RTFM ? Wait I forgot TFM became GPL_ONLY so you can not read it freely anymore.

Try getting support from RedHat without a support contract, LOL.

Try getting support from XMission for anything without a support contract.

Cheers,

Andre

#10 lore raw
Quoted 1 line · Andre Hedrick

Try getting support from XMission for anything without a support contract.

News flash, This just in! XMission is an ISP and Eric Biederman does not work for them
http://www.xmission.com/

Eric Biederman, myself, and pretty much anybody around here that wants a decent always-up internet connection run by folks with a clue uses them. They do not sell "support contracts". As with any company, they support their customers and nobody else. And their support is excellent. Want to learn to install Linux? They'll even show you how http://www.xmission.com/lif3/index.html

If you expect companies to support non-customers I have some fine ocean-front property in New Mexico to sell you.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#11 lore raw
In reply to Eric W. Biederman
Quoted 9 lines · Eric W. Biederman
Quoted 4 lines · David Schwartz

The GPL_ONLY stuff is an attempt to restrict use. There is nothing
inherently wrong with attempts to restrict use. One could argue that the root permission check on 'umount' is a restriction on use. Surely the GPL doesn't mean you can't have any usage restrictions at all.

No the GPL_ONLY stuff is an attempt to document that there is no conceivable way that using a given symbol does not create a derived work.

Bzzit ... GPL_ONLY stuff is an attempt to retrict usage by removing access to the unprotectable API. And for anyone claiming there is not API to protect, the kernel source is the manual to the API. The foolish intent and design to hide the API has caused the kernel itself to become the manual.

This is even obvious to people, like myself, who are not lawyers.

Andre

#12 lore raw
Quoted 13 lines · On Sat, 13 Sep 2003 10:34:12 -0700 (PDT) Andre Hedrick <[email protected]>…
Quoted 9 lines · Eric W. Biederman
Quoted 4 lines · David Schwartz

The GPL_ONLY stuff is an attempt to restrict use. There is nothing
inherently wrong with attempts to restrict use. One could argue that the root permission check on 'umount' is a restriction on use. Surely the GPL doesn't mean you can't have any usage restrictions at all.

No the GPL_ONLY stuff is an attempt to document that there is no conceivable way that using a given symbol does not create a derived work.

Quoted 7 lines

Bzzit ... GPL_ONLY stuff is an attempt to retrict usage by removing access to the unprotectable API. And for anyone claiming there is not API to protect, the kernel source is the manual to the API. The foolish intent and design to hide the API has caused the kernel itself to become the manual.

This is even obvious to people, like myself, who are not lawyers.

Andre,

You seem to be mixing two forms of "use"; the right to use GPL'd source and the right to use an operational Linux kernel.

You are free to take the source and do whatever you want with it, restricted only by the terms of the GPL. Other people have the right to do the same. There is nothing in the GPL that says how a program must behave when _executing_. Therefore, if you don't like how the resulting executable
operates, _tough_. Your option, and the _freedom_ provided by the GPL,
is to fork the source.

No different than a kernel provided by the Church of Holy Computation
which refuses to operate on Sunday. You may disagree with the
restriction, but surely they are free to add such a restriction to their kernel source.

As it stands, you are complaining about a _runtime_ restriction; ignoring
your ability to change the source. By insisting that other people remove
checks for license type, you are trying to restrict what others do with _their_ source. By design, the kernel is already full of runtime restrictions. There is nothing special about a runtime limitation imposed on modules
lacking the GPL symbol. Just to drive the point home, please consider that there is nothing wrong with a kernel that refuses
to load modules that _DO_ contain the GPL symbol.

In short, fork off...
Sean

#13 lore raw
In reply to David Schwartz
Quoted 1 line · David Schwartz

The GPL puts no restrictions on use. The GPL_ONLY stuff does.

No it doesn't. It allows people to track whether you get support or not. It prevents nothing.

#14 lore raw
Quoted 5 lines · Alan Cox
Quoted 1 line · David Schwartz

The GPL puts no restrictions on use. The GPL_ONLY stuff does.

No it doesn't. It allows people to track whether you get support or not. It prevents nothing.

Then allow the usage and functionality of the SYMBOLS and not "steal" them from usage. If you say thay can be used without support.

PS it is "The Troll" again.

Just execute the reject of the License and have the means to reject support. You are so full of it to say it is for rejecting support when anyone knows it removes usage of the SYMBOL == API.

Cheers,

Andre

#15 lore raw
In reply to David Schwartz
Quoted 4 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

Binary-only modules are inherently untrustworthy (no open code review) and undebuggable. It is therefore of technical merit to restrict both what they can access in the kernel (GPL_ONLY) and limit how much kernel developers should have to tolerate when they're involved.

But beyond this, there are some social issues. If someone finds a way to work around this mechanism, they are breaking things to everyone else's detriment. For a commercial entity to violate the GPL_ONLY barrier is an insult to kernel developers AND to their customers who will have trouble getting problems solved.

So, if a company works around GPL_ONLY, are they violating the GPL license? Probably not. Does that make it OKAY? Probably not.

This is like finding a way to give a user space program access to kernel resources. There are barriers put in place for a REASON because people make mistakes when they write software. If no one did, we wouldn't have any need for memory protection, would we.

#16 lore raw

On Fri, 12 Sep 2003, Timothy Miller wrote:

|>David Schwartz wrote:
|>
|>> 	However, some people seem to be arguing that the GPL_ONLY symbols are in
|>> fact a license enforcement technique. If that's true, then when they
|>> distribute their code, they are putting additional restrictions not in the
|>> GPL on it. That is a GPL violation.
|>
|>Agreed.  GPL_ONLY is not a license restriction.  It is a technical issue.
|>
|>Binary-only modules are inherently untrustworthy (no open code review) 
|>and undebuggable.  It is therefore of technical merit to restrict both 
|>what they can access in the kernel (GPL_ONLY) and limit how much kernel 
|>developers should have to tolerate when they're involved.
|>
|>But beyond this, there are some social issues.  If someone finds a way 
|>to work around this mechanism, they are breaking things to everyone 
|>else's detriment.  For a commercial entity to violate the GPL_ONLY 
|>barrier is an insult to kernel developers AND to their customers who 
|>will have trouble getting problems solved.

I think you are all missing the point. This isn't a Linux kernel problem. This is a customer and distributor problem. If Red Hat, Mandrake, SuSE, etc., choose to remove these GPL_ONLY() barriers and release the new "free" code under GPL, they're entitled. Heck, they can even add in new ones in their own kernels.

I'm surprised you are even discussing this issue on this list.

If third party developers are restricted based on GPL_ONLY(), they can either (A) release their product under other OSes or Linux distributions without the GPL_ONLY() restrictions, (B) modify their product to be more GPL-friendly, or (C) avoid Linux support entirely.

It ultimately means either more support for third party products with one distribution over another, which may or may not be financially beneficial to that distribution, or it means that some Linux distributors continue to supress supporting new third party devices that don't believe in the GPL. Either way, it's a distribution decision based on open-source beliefs and how that balances with financial benefit (both of which would matter to me as a stockholder).

This really has nothing to do with the Linux kernel code itself. Very few customers that want third party device support will go to vger to roll their own kernel -- they'll go to a Linux distributor, get them to include device support and pay for it (or start with a Linux distribution and roll their own).

So include GPL_ONLY(), don't include GPL_ONLY(), whatever. If you don't like it, Mr. Customer, find a Linux distributor that will fix the problem for you.

If you want to create a new driver model that supports third party devices without regard to their GPL status, make a patch. Who knows, maybe some distribution will actually start using it. But don't even think about bugging this list to get it included by default (too many GPL purists out there).

--Matt

#17 lore raw
Quoted 3 lines · Matt D. Robinson

So include GPL_ONLY(), don't include GPL_ONLY(), whatever. If you don't like it, Mr. Customer, find a Linux distributor that will fix the problem for you.

Linux vendors have already recieved, and decided to act on cease and desist letters involving adding hooks (ie EXPORT_SYMBOL stuff) for non free modules that were not in the base distro. I think that speaks for part of the legal view.

#18 lore raw
Quoted 11 lines · Matt D. Robinson
Quoted 4 lines

So include GPL_ONLY(), don't include GPL_ONLY(), whatever. If you don't like it, Mr. Customer, find a Linux distributor that will fix the problem for you.

Linux vendors have already recieved, and decided to act on cease and desist letters involving adding hooks (ie EXPORT_SYMBOL stuff) for non free modules that were not in the base distro. I think that speaks for part of the legal view.

Who is sending these letters? Who has no respect for the GPL and seeks to
add additional restrictions? IMO, these letters are almost as bad as the SCO letters. Nobody has any business putting additional licensing restrictions on code was placed under the GPL.

DS

#19 lore raw
Quoted 12 lines · David Schwartz
Quoted 11 lines · Matt D. Robinson
Quoted 4 lines

So include GPL_ONLY(), don't include GPL_ONLY(), whatever. If you don't like it, Mr. Customer, find a Linux distributor that will fix the problem for you.

Linux vendors have already recieved, and decided to act on cease and desist letters involving adding hooks (ie EXPORT_SYMBOL stuff) for non free modules that were not in the base distro. I think that speaks for part of the legal view.

Quoted 4 lines

Who is sending these letters? Who has no respect for the GPL and seeks to
add additional restrictions? IMO, these letters are almost as bad as the SCO letters. Nobody has any business putting additional licensing restrictions on code was placed under the GPL.

I don't know who but i can say that Linus or anyone he assigns can do so based not on GPL but on trademark. That is to say that while it wouldn't be a violation of the copyright license to distribute such modified code but it would be within the rights of the trademark holder (Linus) to refuse them the _privilege_ of calling the modified code Linux. Not only would it be within his rights but it is necessary for him to define and enforce restrictions on what may be called Linux or he would lose that authority.

Just like you can make a copy of Red Hat's distribution but without Red Hat Inc's explicit permission you cannot call it Red Hat or Maroon Chapeau, etc. For that matter the Open group could, in theory, deny SCO the privilege of of calling their own products UNIX.

Signature · 5 lines
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		[email protected]

		Remember Cernan and Schmitt
#20 lore raw
In reply to David Schwartz

On Fri, 12 Sep 2003, David Schwartz wrote:

|>> On Gwe, 2003-09-12 at 22:47, Matt D. Robinson wrote:
|>> > So include GPL_ONLY(), don't include GPL_ONLY(), whatever.  If you
|>> > don't like it, Mr. Customer, find a Linux distributor that will
|>> > fix the problem for you.
|>
|>> Linux vendors have already recieved, and decided to act on cease and
|>> desist letters involving adding hooks (ie EXPORT_SYMBOL stuff) for non
|>> free modules that were not in the base distro. I think that speaks for
|>> part of the legal view.
|>
|>	Who is sending these letters? Who has no respect for the GPL and seeks to
|>add additional restrictions? IMO, these letters are almost as bad as the SCO
|>letters. Nobody has any business putting additional licensing restrictions
|>on code was placed under the GPL.
|>
|>	DS

FUD, Inc. If these really did exist, they would be more commonly known and I'm certain would affect customer choice. IMHO, I think this is the vendor's (and I specifically think of Red Hat) way of excusing themselves from having to work with third party vendors in order to cover themselves legally with groups like the FSF. Whether that's true or not, or if there is some other developer contingent at these distribution houses that is preventing the EXPORT_SYMBOL{,GPL}() changes due to personal bias, I don't know. And I doubt we'll ever know.

These letters are like WMD -- they exist, you know they do, but you just can't find them. :)

--Matt

#21 lore raw
Quoted 6 lines · Matt D. Robinson
|>> Linux vendors have already recieved, and decided to act on cease and
|>> desist letters involving adding hooks (ie EXPORT_SYMBOL stuff) for non
|>> free modules that were not in the base distro. I think that speaks for
|>> part of the legal view.

FUD, Inc. If these really did exist, they would be more commonly

It has happened. If you want to call me a liar feel free. Its your right in a free society. It doesn't change the facts however.

Adding hooks for a proprietary module is a dubious practice. Doing it as part of a two way arrangement with a proprietary vendor producing a non free module is extremely unwise indeed.

#22 lore raw
In reply to David Schwartz
Quoted 5 lines · David Schwartz
Quoted 1 line · Matt D. Robinson

Who is sending these letters? Who has no respect for the GPL and seeks to
add additional restrictions? IMO, these letters are almost as bad as the SCO letters. Nobody has any business putting additional licensing restrictions on code was placed under the GPL.

Nobody I've talked to (legal folks included) seems to think they are additional restrictions, merely people enforcing their copyright rights against folks working as a group to conspire to create a derivative work prohibited by the GPL.

#23 lore raw
In reply to Timothy Miller
Quoted 10 lines · Timothy Miller
Quoted 4 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

Technical if and only if it did not remove the functionality of the symbol when called.

Since it remove the ability to call and it work, creates a restriction of usaged. Usage being, one calls the function and it works.

I have not decided yet to expose one of the grossest example of API thieft yet, but will do so in time.

Quoted 4 lines

Binary-only modules are inherently untrustworthy (no open code review) and undebuggable. It is therefore of technical merit to restrict both what they can access in the kernel (GPL_ONLY) and limit how much kernel developers should have to tolerate when they're involved.

Who cares, it reports a tainted and the community says, thank you have a nice day.

Quoted 5 lines

But beyond this, there are some social issues. If someone finds a way to work around this mechanism, they are breaking things to everyone else's detriment. For a commercial entity to violate the GPL_ONLY barrier is an insult to kernel developers AND to their customers who will have trouble getting problems solved.

So when is the last time a business sent it problems to LKML to be solved? If I were a customer of such a company, I would be gone.

Quoted 2 lines

So, if a company works around GPL_ONLY, are they violating the GPL license? Probably not. Does that make it OKAY? Probably not.

GPL_ONLY violate usage, thus it violate GPL. Not a hard concept.
Also what if a company produces a "private gpl" product? Open Source to customers but not to the world?

Nan, nobody would do that silly idea.

Quoted 4 lines

This is like finding a way to give a user space program access to kernel resources. There are barriers put in place for a REASON because people make mistakes when they write software. If no one did, we wouldn't have any need for memory protection, would we.

Stop, the laughing hurts "memory protection" "vm" ...

Cheers,

Andre

#24 lore raw

SYMBOL in question "dequeue_signal"

*************************************

pwd :: /usr/src/linux-2.4.18-27/kernel/signal.c

/*
* Dequeue a signal and return the element to the caller, which is
* expected to free it.
*
* All callers must be holding current->sigmask_lock. */

int
dequeue_signal(sigset_t *mask, siginfo_t *info)

{
        int sig = 0;

#if DEBUG_SIG
printk("SIG dequeue (%s:%d): %d ", current->comm, current->pid,

        signal_pending(current));

#endif

        sig = next_signal(current, mask);
        if (sig) {
                if (current->notifier) {
                        if (sigismember(current->notifier_mask, sig)) {
                                if (!(current->notifier)(current->notifier_data)) {
                                        current->sigpending = 0;
                                        return 0;
                                }
                        }
                }

                if (!collect_signal(sig, &current->pending, info))
                        sig = 0;

                /* XXX: Once POSIX.1b timers are in, if si_code == SI_TIMER,
                   we need to xchg out the timer overrun values.  */
        }
        recalc_sigpending(current);

#if DEBUG_SIG
printk(" %d -> %d\n", signal_pending(current), sig); #endif

        return sig;
}

EXPORT_SYMBOL(dequeue_signal);
EXPORT_SYMBOL(flush_signals);

*************************************

pwd :: /usr/src/linux-2.4.20-18.9/kernel/signal.c

static int __dequeue_signal(struct sigpending *pending, sigset_t *mask,
siginfo_t *info)

{
        int sig = 0;

        sig = next_signal(pending, mask);
        if (sig) {
                if (current->notifier) {
                        if (sigismember(current->notifier_mask, sig)) {
                                if (!(current->notifier)(current->notifier_data)) {
                                        current->sigpending = 0;
                                        return 0;
                                }
                        }
                }

                if (!collect_signal(sig, pending, info))
                        sig = 0;

                /* XXX: Once POSIX.1b timers are in, if si_code == SI_TIMER,
                   we need to xchg out the timer overrun values.  */
        }
        recalc_sigpending();

        return sig;
}

/*
* Dequeue a signal and return the element to the caller, which is
* expected to free it.
*
* All callers have to hold the siglock.
*/
int dequeue_signal(sigset_t *mask, siginfo_t *info)

{
        int signr = __dequeue_signal(&current->pending, mask, info);
        if (!signr)
                signr = __dequeue_signal(&current->signal->shared_pending,
                                         mask, info);
        return signr;
}

EXPORT_SYMBOL(recalc_sigpending);
EXPORT_SYMBOL_GPL(dequeue_signal);
EXPORT_SYMBOL(flush_signals);

*************************************

Now it is totally clear this is an attempt to strip and remove functionality of the API, period.

But this is to obvious to miss.

Regards,

Andre Hedrick
LAD Storage Consulting Group

#25 lore raw

more examples of SYMBOL rip offs.

2.6.0-test5

./kernel/exit.c

static inline void __exit_fs(struct task_struct *tsk)

{
        struct fs_struct * fs = tsk->fs;

        if (fs) {
                task_lock(tsk);
                tsk->fs = NULL;
                task_unlock(tsk);
                __put_fs_struct(fs);
        }
}

void exit_fs(struct task_struct *tsk)

{
        __exit_fs(tsk);
}

./kernel/fork.c

static inline struct fs_struct *__copy_fs_struct(struct fs_struct *old)

{
        struct fs_struct *fs = kmem_cache_alloc(fs_cachep, GFP_KERNEL);
        /* We don't need to lock fs - think why ;-) */
        if (fs) {
                atomic_set(&fs->count, 1);
                fs->lock = RW_LOCK_UNLOCKED;
                fs->umask = old->umask;
                read_lock(&old->lock);
                fs->rootmnt = mntget(old->rootmnt);
                fs->root = dget(old->root);
                fs->pwdmnt = mntget(old->pwdmnt);
                fs->pwd = dget(old->pwd);
                if (old->altroot) {
                        fs->altrootmnt = mntget(old->altrootmnt);
                        fs->altroot = dget(old->altroot);
                } else {
                        fs->altrootmnt = NULL;
                        fs->altroot = NULL;
                }
                read_unlock(&old->lock);
        }
        return fs;
}

struct fs_struct *copy_fs_struct(struct fs_struct *old)

{
        return __copy_fs_struct(old);
}

EXPORT_SYMBOL_GPL(exit_fs);
EXPORT_SYMBOL_GPL(copy_fs_struct);

This is what the issue is about!
Taking away the functionality of the API.

So much for choice anymore.

Andre Hedrick
LAD Storage Consulting Group

#26 lore raw
In reply to Timothy Miller
Quoted 11 lines · Timothy Miller
Quoted 5 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

I'll go even farther, and say that one might call the GPL_ONLY symbols an "effective technological measure" that "effectively controls access to a work" and "effectively protects a right of a copyright owner ... in the ordinary course of its operation....". Bypassing GPL_ONLY symbols, as recently advocated by David Schwartz and Andre Hedrick, could be considered circumvention of an effective technological measure. Remember Dmitry Sklyarov,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#27 lore raw

Please Erik,

Go have your "DADDY" write another legal letter for you and send it my way. I will be happy to shove it down your pie hole.

There is a difference in blanket theift of the kernel API and any court will point out that "fair usage" is proper.

PS how is your IRS media forensics gig going now that you do not have me on your side to help you do the dirty work of sneaking around people's hard drives. I was smart enough to never teach you what I knew you could never learn.

Later!

Andre Hedrick
LAD Storage Consulting Group

Quoted 32 lines · Erik Andersen
Quoted 11 lines · Timothy Miller
Quoted 5 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

I'll go even farther, and say that one might call the GPL_ONLY symbols an "effective technological measure" that "effectively controls access to a work" and "effectively protects a right of a copyright owner ... in the ordinary course of its operation....". Bypassing GPL_ONLY symbols, as recently advocated by David Schwartz and Andre Hedrick, could be considered circumvention of an effective technological measure. Remember Dmitry Sklyarov,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons-- -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#28 lore raw
Quoted 5 lines · Andre Hedrick

Please Erik,

Go have your "DADDY" write another legal letter for you and send it my way. I will be happy to shove it down your pie hole.

Your intellect is truly dizzying. I am left stunned by your carefully reasoned arguments.

Quoted 2 lines

There is a difference in blanket theift of the kernel API and any court will point out that "fair usage" is proper.

"fair usage" != "derivitive works" as any court will point out.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#29 lore raw
Quoted 10 lines · Erik Andersen
Quoted 5 lines · Andre Hedrick

Please Erik,

Go have your "DADDY" write another legal letter for you and send it my way. I will be happy to shove it down your pie hole.

Your intellect is truly dizzying. I am left stunned by your carefully reasoned arguments.

Quoted 6 lines
Quoted 2 lines

There is a difference in blanket theift of the kernel API and any court will point out that "fair usage" is proper.

"fair usage" != "derivitive works" as any court will point out.

-Erik

Wow ... Does "Original Work" have meaning?

Does an "Original Work" using only the standard kernel API headers to interface mean it is a derived work? You better go find a new lawyer.

"fair usage" of .h files as the API is standard.

Using any .c or kernel C code is a NO NO.

Later.

Andre Hedrick
LAD Storage Consulting Group

#30 lore raw
Quoted 4 lines · Andre Hedrick

Wow ... Does "Original Work" have meaning?

Does an "Original Work" using only the standard kernel API headers to interface mean it is a derived work? You better go find a new lawyer.

You seem to be somewhat confused as to who needs a lawyer. I'm
not the one asking this question. I am also not the one trying
to make a closed source binary only product that runs within the context of the Linux kernel, and then complaining that the GPL wackos are ruining my business... It seems to be that doing such a thing would be a really stupid business model.

As I recall it is the One True(tm) iSCSI stack you are working on, right?

Quoted 3 lines

"fair usage" of .h files as the API is standard.

Using any .c or kernel C code is a NO NO.

I invite you to read the COPYING file included in each and every kernel tarball. There is exactly ONE exception granted in the linux kernel copyright:

This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work".

All the noise in the world about other exceptions is precisely that, since the license granting use of the Linux kernel does not contain any additional provisions.

Anything that can be identified as a "user program" that "use[s] kernel services by normal system calls" is, by virtue of the above license grant, doing so with permission and is therefore within its rights. So you can make all the closed source user space only One True(tm) iSCSI stacks you want.

Anything that is not a "user program" (and I think everyone can agree a kernel module is not a "user program") is therefore a derivitive work.

Anything that is linked into the kernel (and I think everyone can agree a kernel module is linked into the kernel) and is therefore interfacing with kernel internals, rather than using "kernel services by normal system calls" is therefore a derivitive work.

Laugh at people, mock people, rant, rave, wantever you want. When you are done making noise, please have your laywer explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#31 lore raw

freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Pretty Boy,

It is coming and the intent is to return all the stolen symbols. It is free for anyone to use and enjoy the usage of Linux once again. So everyone get in line and SUE ME for GPL'ed drivers.

/*
* Original copyright notice:
*
* linux/kernel/freed_symbols.c
*
* Copyright (C) 2001-2003 Linux ATA Development
* Andre Hedrick <[email protected]>
*
* GPL v2 and only version 2.
*/

/*
* kernel/signal.c:EXPORT_SYMBOL_GPL(dequeue_signal);
* returned to kernel API
*/
int freed_dequeue_signal(sigset_t *mask, siginfo_t *info)

{
        return dequeue_signal(mask, info);
}

EXPORT_SYMBOL(freed_dequeue_signal);

/*
* was kernel/context.c
*
* kernel/workqueue.c:EXPORT_SYMBOL_GPL(create_workqueue);
* kernel/workqueue.c:EXPORT_SYMBOL_GPL(queue_work);
* kernel/workqueue.c:EXPORT_SYMBOL_GPL(queue_delayed_work);
* kernel/workqueue.c:EXPORT_SYMBOL_GPL(flush_workqueue);
* kernel/workqueue.c:EXPORT_SYMBOL_GPL(destroy_workqueue);
* returned to kernel API
*/

struct workqueue_struct *freed_create_workqueue(const char *name)

{
        return create_workqueue(name);
}

int freed_queue_work(struct workqueue_struct *wq, struct work_struct *work)

{
        return queue_work(wq, work);
}

int freed_queue_delayed_work(struct workqueue_struct *wq,
struct work_struct *work, unsigned long delay)

{
        return queue_delayed_work(wq, work, delay);
}

void freed_flush_workqueue(struct workqueue_struct *wq)

{
        flush_workqueue(wq);
}

void freed_destroy_workqueue(struct workqueue_struct *wq)

{
        destroy_workqueue(wq);
}

EXPORT_SYMBOL(freed_create_workqueue);
EXPORT_SYMBOL(freed_queue_work);
EXPORT_SYMBOL(freed_queue_delayed_work);
EXPORT_SYMBOL(freed_flush_workqueue);
EXPORT_SYMBOL(freed_destroy_workqueue);

static int freed_symbols_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)

{
        if (!capable(CAP_SYS_ADMIN))
                return -EACCES;

        switch (cmd) {
                default:
                        return -EINVAL;
        }
        return 0;
}

static int freed_symbols_open (struct inode *inode, struct file *file)

{
        return 0;
}

static int freed_symbols_release (struct inode *inode, struct file *file)

{
        return 0;
}

static struct file_operations freed_symbols_fops = {

        owner:          THIS_MODULE,
        ioctl:          freed_symbols_ioctl,
        open:           freed_symbols_open,
        release:        freed_symbols_release,

};

static struct miscdevice freed_symbols_dev = { FREED_SYMBOLS_MINOR,

                                                "freed_symbols",
                                                &freed_symbols_fops };

static void __exit freed_symbols_exit (void)

{
        printk(KERN_INFO "freed_symbols_module: unloaded.\n");
//      remove_proc_entry("driver/freed_symbols", NULL);
        misc_deregister(&freed_symbols);
}

int __init freed_symbols_init (void)

{
        printk(KERN_INFO "freed_symbols_module: loaded.\n");
        misc_register(&freed_symbols_dev);
//      create_proc_read_entry("driver/freed_symbols", 0, 0, freed_symbols_read_proc, NULL);
        return 0;
}

MODULE_LICENSE("GPL");
module_init(freed_symbols_init);
module_exit(freed_symbols_exit);

-------------------------------------------

Cheers,

Andre Hedrick
LAD Storage Consulting Group

#32 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 6 lines · Andre Hedrick

Pretty Boy,

It is coming and the intent is to return all the stolen symbols. It is free for anyone to use and enjoy the usage of Linux once again. So everyone get in line and SUE ME for GPL'ed drivers.

Do whatever you want. Its your life. Laugh at people, mock people, rant, rave, violtate licenses, wantever you want.

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#33 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Erik,

Explain how a symbol in 2.4 which was EXPORT_SYMBOL is now EXPORT_SYMBOL_GPL in 2.6 ?

When you can explain why the API for functionallity in 2.4 is ripped off like an old lady's purse by a two-bit punk and made nojn-functional in 2.6 you may have a point.

But, you know what, I don't give a damn (DGD).

It is wrong and the original intent when it was discussed was for "NEW SYMBOLS ONLY". But if distros can add in Symbols for code that does not exist in the tree, why can't people change them?

But you have a nice day, and do you need a mail address for that letter you want to send me? Please make it on heavy stock, you need some fiber in your diet.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 23 lines · Erik Andersen
Quoted 6 lines · Andre Hedrick

Pretty Boy,

It is coming and the intent is to return all the stolen symbols. It is free for anyone to use and enjoy the usage of Linux once again. So everyone get in line and SUE ME for GPL'ed drivers.

Do whatever you want. Its your life. Laugh at people, mock people, rant, rave, violtate licenses, wantever you want.

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#34 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 9 lines · Andre Hedrick

Erik,

Explain how a symbol in 2.4 which was EXPORT_SYMBOL is now EXPORT_SYMBOL_GPL in 2.6 ?

When you can explain why the API for functionallity in 2.4 is ripped off like an old lady's purse by a two-bit punk and made nojn-functional in 2.6 you may have a point.

It doesn't matter what the symbol is called. I personally agree with you on this one point -- changing the symbols to use EXPORT_SYMBOL_GPL type naming is deeply stupid.

I think it is stupid because by implication, it suggests that any exported symbols lacking such tags are somehow NOT under the GPL.

Per the COPYING file included with each and every copy of the kernel, Linux is licensed under the GPL. There are no provisions in the linux kernel COPYING statement allowing non-GPL compatible binary only closed source kernel modules.

You are therefore, entitled to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel. This entitles you to change symbol names to whatever makes you feel happy.

But you are also _required_ to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel, which stipulates that unless your code is a "user [program] that [uses] kernel services by normal system calls", it is a derived work and therefore must abide by the terms of the GPL.

Creating and loading such a symbol renaming module is certainly something you are entitled to do. Using that module for circumvention of an "effective technological measure" that "effectively protects a right of a copyright owner ... in the ordinary course of its operation...." could certainly open you to legal action here in the USA. I do not hold copyright on any of the symbols in question, but someone does, and if they do not take kindly to your circumvention device....

But the DMCA issues are merely an aside to the fundamental problem. A problem you have avoided in this thread with gratuitous ad hominem attacks, with the "but Billy did it first" defence, and similar nonsence.

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#35 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Erik,

When you can answer why binary only modules are allowed to load regardless of symbol usage, I will answer your question. Since binary only modules are allowed to load, this means they are intended to function. If they are intended to function, they must use the API for standard operations.

Removing the abilty for standard functionality means one does not want them to function? So if the kernel GPL-ONLY wonder blunders are thinking, why let them load at all?

Clearly there is a "tainting" process?

If one can detect taint, one can reject loading.

If one reads ./include/linux/module.h

It clearly states any license is acceptable.

So when you can explain about "yes you can but not here", I will explain the simple rules of how copyright and header files are to be used.

Now what does this have to do with a "freed_symbols" project?

Simple, it restores the symbols back to their original state before everybody had a whining feast. When they are restored back to original state then simple usage of the headers compliance to the "unprotectable interface" is normalized. Go look up 1991 copyright rulings wrt SEGA.

It is all or nothing but both ways is not allowed, what do you think, we all live in San Francisco?

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 66 lines · Erik Andersen
Quoted 9 lines · Andre Hedrick

Erik,

Explain how a symbol in 2.4 which was EXPORT_SYMBOL is now EXPORT_SYMBOL_GPL in 2.6 ?

When you can explain why the API for functionallity in 2.4 is ripped off like an old lady's purse by a two-bit punk and made nojn-functional in 2.6 you may have a point.

It doesn't matter what the symbol is called. I personally agree with you on this one point -- changing the symbols to use EXPORT_SYMBOL_GPL type naming is deeply stupid.

I think it is stupid because by implication, it suggests that any exported symbols lacking such tags are somehow NOT under the GPL.

Per the COPYING file included with each and every copy of the kernel, Linux is licensed under the GPL. There are no provisions in the linux kernel COPYING statement allowing non-GPL compatible binary only closed source kernel modules.

You are therefore, entitled to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel. This entitles you to change symbol names to whatever makes you feel happy.

But you are also _required_ to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel, which stipulates that unless your code is a "user [program] that [uses] kernel services by normal system calls", it is a derived work and therefore must abide by the terms of the GPL.

Creating and loading such a symbol renaming module is certainly something you are entitled to do. Using that module for circumvention of an "effective technological measure" that "effectively protects a right of a copyright owner ... in the ordinary course of its operation...." could certainly open you to legal action here in the USA. I do not hold copyright on any of the symbols in question, but someone does, and if they do not take kindly to your circumvention device....

But the DMCA issues are merely an aside to the fundamental problem. A problem you have avoided in this thread with gratuitous ad hominem attacks, with the "but Billy did it first" defence, and similar nonsence.

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons-- -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#36 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Erik Andersen
Quoted 15 lines · Erik Andersen
Quoted 9 lines · Andre Hedrick

Erik,

Explain how a symbol in 2.4 which was EXPORT_SYMBOL is now EXPORT_SYMBOL_GPL in 2.6 ?

When you can explain why the API for functionallity in 2.4 is ripped off like an old lady's purse by a two-bit punk and made nojn-functional in 2.6 you may have a point.

It doesn't matter what the symbol is called. I personally agree with you on this one point -- changing the symbols to use EXPORT_SYMBOL_GPL type naming is deeply stupid.

Quoted 7 lines

I think it is stupid because by implication, it suggests that any exported symbols lacking such tags are somehow NOT under the GPL.

Per the COPYING file included with each and every copy of the kernel, Linux is licensed under the GPL. There are no provisions in the linux kernel COPYING statement allowing non-GPL compatible binary only closed source kernel modules.

See above, remove the EXPORT_SYMBOL_GPL crap and then there is no need to alter or change anything. This restores the original API.

Quoted 11 lines

You are therefore, entitled to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel. This entitles you to change symbol names to whatever makes you feel happy.

But you are also _required_ to abide by the precise terms and conditions for copying, distribution and modification for the Linux kernel, which stipulates that unless your code is a "user [program] that [uses] kernel services by normal system calls", it is a derived work and therefore must abide by the terms of the GPL.

Nice, but "derived work" is bogus and we all know it.

Quoted 8 lines

Creating and loading such a symbol renaming module is certainly something you are entitled to do. Using that module for circumvention of an "effective technological measure" that "effectively protects a right of a copyright owner ... in the ordinary course of its operation...." could certainly open you to legal action here in the USA. I do not hold copyright on any of the symbols in question, but someone does, and if they do not take kindly to your circumvention device....

See above, which you agree is stupid, make EXPORT_SYMBOL_GPL go away and nobody has to deal with API issues.

Quoted 4 lines

But the DMCA issues are merely an aside to the fundamental problem. A problem you have avoided in this thread with gratuitous ad hominem attacks, with the "but Billy did it first" defence, and similar nonsence.

Nope, you made threats.

Quoted 5 lines

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

See above again, nobody has to do anything if the API is restored to it original format. Thus no changes, no modifications. All of your points are void.

Cheers,

Andre

#37 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 9 lines · Andre Hedrick
Quoted 5 lines

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

See above again, nobody has to do anything if the API is restored to it original format. Thus no changes, no modifications. All of your points are void.

Truly a dizzying intellect! All my points are void and it is ok to load binary only modules in the Linux kernel without releasing source for the derivitive work. And the reason why it is ok to thus violate the Linux kernel licence is because....

Oh, I guess you forgot the part where you explain why this is legal. Sorry, but The Great Andre has Spoken isn't good enough. Sorry, I'm not going to ignore the man behind the curtain.

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#38 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 6 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

"Because Linus said so".

Regards
Henning

Signature · 8 lines
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
[email protected]        +49 9131 50 654 0   http://www.intermeta.de/

Java, perl, Solaris, Linux, xSP Consulting, Web Services 
freelance consultant -- Jakarta Turbine Development  -- hero for hire

"Dominate!! Dominate!! Eat your young and aggregate! I have grotty silicon!" 
      -- AOL CD when played backwards  (User Friendly - 200-10-15)
#39 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 10 lines · Henning P. Schmiedehausen
Quoted 6 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

"Because Linus said so".

It does not say "Because Linus said so" in the Linux kernel COPYING file, which is the only official document that grants legal permission to copy, distribute and/or modify the kernel.

And even if Linus says so, what about Alan Cox, David S. Miller, Al Viro, Andrea Arcangeli, Jens Axboe, Donald Becker, Andries Brouwer, Jeff Garzik, Dave Jones, Russell King, Rik van Riel, Rusty Russell, Ted Ts'o, Stephen Tweedie, etc, etc, etc? What do they say? After all, the Linux kernel ceased to be a one-man-show well over 10 years ago. I know I have personally submitted all my patches to the Linux kernel per the GPL, not some imagined "GPL + kernel module exceptions" license.

If Linus wanted to say "I'm relicensing Linux under the Microsoft EULA effective immediately", he is certainly entitled to relicence the bits he personally wrote, but nothing more. Similarly, if Linus wants to say the kernel allows binary only kernel modules, he can certainly say as much -- free speech entitles him to say whatever he wants. But he has no authority to relicense the bits of code I wrote, or the code anyone else wrote, without their express permission. I have never been asked to agree to some other kernel license, and to my knowledge, neither has anyone else. Therefore the license as stated in the kernel COPYING file is in effect.

To change the license for the entire kernel would require asking every kernel contributor of substance to agree to new licensing terms. I'm sure some people (such as Andre) would be overjoyed to have a "GPL + module exceptions" license made official. And as you might imagine, others would be rather less enthusiastic. And still others, such as Leonard Zubkoff may find it difficult to make posthumous licensing decisions.

But until such an official re-licensing effort is undertaken and sucessfully completed, the Linux kernel is and will remain licensed under the bog standard GPL with the one exception that "user programs that use kernel services by normal system calls" and not derivitive works -- i.e. the licensing terms specified in the linux kernel COPYING file.

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--

#40 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 12 lines · Erik Andersen
Quoted 10 lines · Henning P. Schmiedehausen
Quoted 7 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

Quoted 7 lines
Quoted 2 lines

"Because Linus said so".

It does not say "Because Linus said so" in the Linux kernel COPYING file, which is the only official document that grants legal permission to copy, distribute and/or modify the kernel.

How about taking the "GPL exported" symbols just as notes which show
their usage is not considered a derivative work by the copyright holders? This is what I always thought it was there for. This of course means someone can't simply add that "note" and expect it to change the
way the copyright holders think of their work.

I don't expect this would do much in court, but isn't that for binary driver people to worry about because it is granting more rights than the GPL allows. Maybe it could be written in legalease to give them more confidence. And it lets open source developers know where they stand.

#41 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Erik Andersen
Quoted 9 lines · Erik Andersen
Quoted 8 lines · Henning P. Schmiedehausen
Quoted 6 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

Quoted 5 lines
Quoted 1 line

"Because Linus said so".

It does not say "Because Linus said so" in the Linux kernel COPYING file, which is the only official document that grants legal permission to copy, distribute and/or modify the kernel.

Linus clearly and publicly stated his position on binary only kernel modules almost exactly one year ago:

http://groups.google.com/groups?selm=Pine.LNX.4.44.0210170958340.6739-100000%40home.transmeta.com.lucky.linux.kernel

He basically said there IS no module exception to the GPL, it's just a question of what is and is not a derived work.

The kernel developers have marked up portions of the API to indicate "we consider anything that needs to access this deeply internal bit to be a derived work, hence subject to the GPL". That's what GPL_ONLY _means_. Needing to re-export that therefore opens you up to a lawsuit. (Whether you can defend yourself in court from that lawsuit is always an open question, but by adding GPL_ONLY markup the developers made their intent much more clear, which is unlikely to help you convince a judge of your interpretation if you explicitly undo that markup and then claim the license doesn't apply to you...)

Here's the relevant section of the above posting from Linus:

-----

I will re-iterate my stance on the GPL and kernel modules:

There is NOTHING in the kernel license that allows modules to be non-GPL'd.

The _only_ thing that allows for non-GPL modules is copyright law, and in particular the "derived work" issue. A vendor who distributes non-GPL modules is _not_ protected by the module interface per se, and should feel very confident that they can show in a court of law that the code is not derived.

The module interface has NEVER been documented or meant to be a GPL barrier. The COPYING clearly states that the system call layer is such a barrier, so if you do your work in user land you're not in any way beholden to the GPL. The module interfaces are not system calls: there are system calls used to _install_ them, but the actual interfaces are not.

The original binary-only modules were for things that were pre-existing works of code, ie drivers and filesystems ported from other operating systems, which thus could clearly be argued to not be derived works, and the original limited export table also acted somewhat as a barrier to show a level of distance.

#42 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 10 lines · Rob Landley
Quoted 9 lines · Erik Andersen
Quoted 8 lines · Henning P. Schmiedehausen
Quoted 6 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

"Because Linus said so".

It does not say "Because Linus said so" in the Linux kernel COPYING file, which is the only official document that grants legal permission to copy, distribute and/or modify the kernel.

Linus clearly and publicly stated his position on binary only kernel modules almost exactly one year ago:

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.

Signature · 2 lines
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm
#43 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 10 lines · Larry McVoy

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.

#44 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 12 lines · On Sun, Oct 05, 2003 at 03:34:28AM +0100…
Quoted 10 lines · Larry McVoy

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.

Quoted 3 lines

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.

You're missing what the law sees as a boundary. It's really simple, as far as I can tell, and it doesn't matter how many symbols there are or are not. If you can pull out one wad of code and drop in another and everything works as before then that is a boundary.

A great example of this is a device driver. Again, I'm not a lawyer although I've spent a fair amount of time discussing this topic with lawyers, but it sure seems like that an objective judge would say that the GPL cannot cross the device driver boundary.

People get all worked up over this but when they do then they should also claim that system calls are not a boundary either.

By the way, I have no personal or business desire to argue this one way or the other, I'm not trying to make money off of something like a driver linked with the kernel or anything remotely similar. All I'm doing is telling you what I understand to be the law. You can do with it what you will but don't shoot the messenger (or at least don't expect me to change my tune when you do).

Signature · 2 lines
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm
#45 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 2 lines · Larry McVoy

People get all worked up over this but when they do then they should also claim that system calls are not a boundary either.

The first paragraph of the COPYING file makes it entirely clear that system calls were not considered to be such a boundary.

Signature · 1 line
dwmw2
#46 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 6 lines · David Woodhouse
Quoted 2 lines · Larry McVoy

People get all worked up over this but when they do then they should also claim that system calls are not a boundary either.

The first paragraph of the COPYING file makes it entirely clear that system calls were not considered to be such a boundary.

You're forgetting that what the GPL says doesn't matter if it is unenforceable. Remember all the people yelling at me that they can reverse engineer BK in spite of any no-reverse-engineering clauses? That same logic applies to the GPL, you can't have it both ways.

It doesn't matter what you think, or I think, or Linus thinks. What matters is what is legal and what isn't.

Signature · 2 lines
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm
#47 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 2 lines · Larry McVoy

You're forgetting that what the GPL says doesn't matter if it is unenforceable.

If the licence is invalid then there exists no licence and it is an offence to use the software in question at _all_.

Quoted 3 lines

Remember all the people yelling at me that they can
reverse engineer BK in spite of any no-reverse-engineering clauses? That same logic applies to the GPL, you can't have it both ways.

I wasn't doing that yelling.

Quoted 2 lines

It doesn't matter what you think, or I think, or Linus thinks. What matters is what is legal and what isn't.

Agreed.

Signature · 1 line
dwmw2
#48 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Larry McVoy
Quoted 7 lines · Larry McVoy

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.

I agree. Linus' comments on the matter, except of course his original exception for userspace which has been there since 1993, are an irrelevant _interpretation_.

All that is relevant is the meaning of the original licence.

Quoted 3 lines

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.

This statement is in conflict with the presence of the exception for userspace which precedes the text of the GPL in the Linux COPYING file.

The presence of the exception makes it clear that, without such exception, userspace would have been considered to be a derived work in the terminology of the original licence. Otherwise, the exception would of course have been redundant.

If userspace would be considered a derived work without explicit exception, then so are kernel modules. They have no such explicit exception, and are hence not permitted.

I'll grant you that Linus' witterings in public on the matter would probably prevent him _personally_ from bringing suit against a distributor of binary-only modules, on the principle of equitable estoppel.

That doesn't stop me or anyone else from doing so though.

Signature · 1 line
dwmw2
#49 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 8 lines · David Woodhouse

The presence of the exception makes it clear that, without such exception, userspace would have been considered to be a derived work in the terminology of the original licence. Otherwise, the exception would of course have been redundant.

If userspace would be considered a derived work without explicit exception, then so are kernel modules. They have no such explicit exception, and are hence not permitted.

no, all the presence of the userspace exception means is that someone attempted to make the claim that you would only be allowed to run GPL software on a GPL kernel and Linus wanted to make it absolutly clear that that wasn't the case.

trying to claim otherwise, even without a specific 'userspace exception' is along the same lines as what SCO is doing, (anything that ever ran on the same box as Sys V is part of SysV)

why do people realize how stupid this argument when SCO makes it, but somehow when it's made on behalf of the GPL it somehow seems sane?

as got the GPL_only stuff, I am seriously worried about people defining something and then declaring that anything that uses it in any way must be a derived work, that there is no other legitimate way to use it. how many people would buy this argument if it was being made about some function in a piece of hardware? (i.e., if you use this function on this 802.11 card then your software is obviously a derivitive of our driver so we get all the rights to it)

David Lang

Signature · 3 lines
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan
#50 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 2 lines · David Lang

why do people realize how stupid this argument when SCO makes it, but somehow when it's made on behalf of the GPL it somehow seems sane?

The distinction to be drawn here is between that which is allowed for by copyright law, and that which is not.

Let us briefly assume, for the sake of argument, that the Linux kernel was released under the Creosote Public Licence, a licence which requires each licensee to perform a daily ritual of bathing in creosote, and to release _all_ future work, even unrelated work, of his own under the same licence.

If you don't like the terms of the CPL, you have the option of not using the work in question.

If you use the work, however, you are bound by those terms.

Let us assume, also merely for the sake of argument, that you can produce a kernel module which is not so closely tied to the kernel that it would be considered a derivative work in copyright law.

However, the CPL under which the kernel is released still requires that you release this work under the CPL, even though under copyright law it is not a derivative work.

You still have the same choice you had before. You may accept the licence of the Linux kernel, continue to perform your daily bathing in creosote and release your new work under the appropriate licence -- or you may decline the licence of the Linux kernel and refrain from using it at all.

If you take the latter option, then you may perform no testing on your binary module, since that would require use of the Linux kernel. You may use the Linux kernel nowhere within your organisation.

In this situation, it's not just about your module itself being an infringing copy of a copyright work, but your copy of the Linux kernel _itself_ being an infringing copy.

Obviously the GNU General Public License makes no mention of creosote, and its use with the Linux kernel does not require that you license _all_ future work under the GPL.

I have made a statement about my opinion of what the licence of the Linux kernel _does_ in fact require. It is my belief that the author of the GNU General Public License is in agreement with me.

In particular, in this case, I think the presence of the userspace exception makes it _very_ clear that the meaning of 'derived work' would otherwise have included both userspace and loadable modules.

Obviously this is neither true or false until the matter is settled in a court; it's all conjecture. But I think a court will agree with me.

Quoted 4 lines

how many people would buy this argument if it was being made about some
function in a piece of hardware? (i.e., if you use this function on this 802.11 card then your software is obviously a derivitive[sic] of our driver so we get all the rights to it)

I'd buy the _argument_, even if the licence were to require the ritual sacrifice of my first-born child. I wouldn't buy the card in question and use that function though. I have that choice.

If I _did_ choose to use the function in question, I would not then whinge that it's not fair when they come for my first-born. That was the agreement I entered into, after all.

Signature · 1 line
dwmw2
#51 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Rob Landley

You are so young and fresh to the game, it is cute.

http://www.gcom.com/home/support/whitepapers/linux-gnu-license.html

Try doing a little more checking of your history Rob.

The position was set in 1995 and to many who objected let it unchallanged. Now regardless if you knew of this information or not when you entered into kernel development, tough! I did not know about it and have to suck it up that binary modules are permitted, period. So if other people can make money, then I will too, and encourage others to persue also.

If you want to try and strike with the iron is cold bring a lunch. Otherwise bring your lawyers when I publish freed_symbols and will eat your lame position for a snack and spit it out because of bad taste.

Tell me I can not publish a GPL w/ source code project which returns the original API's to their normal place in history, and I will show you that I can still draw the string on a bow.

Tell anyone they can not change anything they want in the kernel, and you impose a restriction and you lose your right to use by the terms of the license called GPL. Funny how the other side of the sword is ignored even when it is splitting your forehead wide open.

So have a nice day.

Andre Hedrick
LAD Storage Consulting Group

Quoted 62 lines · Rob Landley
Quoted 9 lines · Erik Andersen
Quoted 8 lines · Henning P. Schmiedehausen
Quoted 6 lines · Erik Andersen

When you are done making noise, please explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work and therefore not subject to the terms of the GPL, per the definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification.

Quoted 5 lines
Quoted 1 line

"Because Linus said so".

It does not say "Because Linus said so" in the Linux kernel COPYING file, which is the only official document that grants legal permission to copy, distribute and/or modify the kernel.

Linus clearly and publicly stated his position on binary only kernel modules almost exactly one year ago:

http://groups.google.com/groups?selm=Pine.LNX.4.44.0210170958340.6739-100000%40home.transmeta.com.lucky.linux.kernel

He basically said there IS no module exception to the GPL, it's just a question of what is and is not a derived work.

The kernel developers have marked up portions of the API to indicate "we consider anything that needs to access this deeply internal bit to be a derived work, hence subject to the GPL". That's what GPL_ONLY _means_. Needing to re-export that therefore opens you up to a lawsuit. (Whether you can defend yourself in court from that lawsuit is always an open question, but by adding GPL_ONLY markup the developers made their intent much more clear, which is unlikely to help you convince a judge of your interpretation if you explicitly undo that markup and then claim the license doesn't apply to you...)

Here's the relevant section of the above posting from Linus:

-----

I will re-iterate my stance on the GPL and kernel modules:

There is NOTHING in the kernel license that allows modules to be non-GPL'd.

The _only_ thing that allows for non-GPL modules is copyright law, and in particular the "derived work" issue. A vendor who distributes non-GPL modules is _not_ protected by the module interface per se, and should feel very confident that they can show in a court of law that the code is not derived.

The module interface has NEVER been documented or meant to be a GPL barrier. The COPYING clearly states that the system call layer is such a barrier, so if you do your work in user land you're not in any way beholden to the GPL. The module interfaces are not system calls: there are system calls used to _install_ them, but the actual interfaces are not.

The original binary-only modules were for things that were pre-existing works of code, ie drivers and filesystems ported from other operating systems, which thus could clearly be argued to not be derived works, and the original limited export table also acted somewhat as a barrier to show a level of distance.

#52 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 4 lines · Andre Hedrick

Tell me I can not publish a GPL w/ source code project which returns the original API's to their normal place in history, and I will show you that I can still draw the string on a bow.

_What_ original API? I agree that silent adding _GPL to existing symbol is obnoxious and warrants a patch that would revert the change.

However, if tomorrow the exported function disappears completely - tough luck. Nobody had ever promised to keep this "API" unchanged. It's not that it had been changed just for kicks (after all, you get to do changes in a bunch of in-tree drivers are such change), but such changes had happened and will happen. And there's nothing you can do about that.

And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code is crap. The only way around that is to have a bunch of creatively sadistic bastards go through said code and rip the authors a new one for every hole they find (and yes, that includes ripping new ones to each other).

Judging by the vendor drivers that doesn't happen. I don't care why that doesn't happen - be it "they'll buy it anyway" or "we have no resources" or "it's rude to the people who had done the original work" or "what do you mean, review?". Whatever. Unless I have very good reasons to believe that particular piece of code had been done right, crap it is. Plain and simple statistics.

Code from unknown programmers presumably written to unknown specifications that had presumably passed unknown QA by unknown reviewers and testers with unknown results and then had been shipped with unknown amount of pressure exerted by sales? Geez... What a wonderful reason to assume that it would be better than average...

#53 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Andre Hedrick
Quoted 3 lines · Andre Hedrick

You are so young and fresh to the game, it is cute.

http://www.gcom.com/home/support/whitepapers/linux-gnu-license.html

That's quite amusingly erroneous. The idea that you could use the Linux kernel having stripped out all code belonging to Alan so that his opinion is not relevant is one that I find frankly hilarious.

This is not about your work just being a derived work of Alan's under copyright law. This is about you not complying to the licence under which Alan's code is released and hence it is _his_ code, including I believe a significant part of the networking code, which is an 'infringing copy of a copyright work' in law; since you use it without licence.

Signature · 1 line
dwmw2
#54 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

David,

It is about the fact that Linus on his own set a position that modules are permitted. Now if you want to take the position that one can not modify and redistribute the modified kernel in source, you are imposing a restriction. One is free to add or subtract content and redistribute. Combine this with the position that modules are permitted regardless and there is no copyright issue.

If I wanted to be rude, I could take the changes I made and copyright the combined work and make it so others could not use that version without permission. This is exactly what the large distributions do with their product. Surprized, don't be it is all a stupid game of no you can't and yes I can.

So when should I expect your letter ?

How will you phrase the content given "freed_symbols" will be GPL ?

How will you attack any vendor using it ?

As the author of the GPL code, I will show that I can still pull a bow string. If I use it for whatever reason or combine it into any kernel I distribute as source where are your issues? You have none.

This is all a game of who is peeing in whose soup.

Neither you or I can do anything, provide the vendor who is using Linux publishes their source fork. I also dare you to stop them, because you can't.

Cheers, and keep up the joust!

Andre

Andre Hedrick
LAD Storage Consulting Group

Quoted 20 lines · David Woodhouse
Quoted 3 lines · Andre Hedrick

You are so young and fresh to the game, it is cute.

http://www.gcom.com/home/support/whitepapers/linux-gnu-license.html

That's quite amusingly erroneous. The idea that you could use the Linux kernel having stripped out all code belonging to Alan so that his opinion is not relevant is one that I find frankly hilarious.

This is not about your work just being a derived work of Alan's under copyright law. This is about you not complying to the licence under which Alan's code is released and hence it is _his_ code, including I believe a significant part of the networking code, which is an 'infringing copy of a copyright work' in law; since you use it without licence.

Signature · 1 line
dwmw2
#55 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 4 lines · Andre Hedrick

David,

It is about the fact that Linus on his own set a position that modules are permitted.

It is indeed. And about that fact that by the time he made that declaration, he was not in a position to make it unilaterally.

Quoted 3 lines

Now if you want to take the position that one can not modify
and redistribute the modified kernel in source, you are imposing a restriction.

A restriction in this case which I assert was present in the original licence; not an 'additional restriction'.

If I wanted to distribute my code without restrictions, I'd have contributed to a BSD kernel, or released my code under the terms "GPL but not if you really really don't fancy it".

I don't. I didn't.

Quoted 3 lines

If I wanted to be rude, I could take the changes I made and copyright the combined work and make it so others could not use that version without permission.

Not without being in violation of the original licence. This isn't about the resulting combined work, but about your permission to use the _original_.

Quoted 3 lines

Neither you or I can do anything, provide the vendor who is using Linux publishes their source fork. I also dare you to stop them, because you can't.

Believe me, there are ways this can be achieved.

Signature · 1 line
dwmw2
#56 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 8 lines · David Woodhouse
Quoted 4 lines · Andre Hedrick

David,

It is about the fact that Linus on his own set a position that modules are permitted.

It is indeed. And about that fact that by the time he made that declaration, he was not in a position to make it unilaterally.

Regardless, nobody stopped him at that time and thus a right of way has been granted and can not be revoked.

Quoted 7 lines
Quoted 4 lines

Now if you want to take the position that one can not modify
and redistribute the modified kernel in source, you are imposing a restriction.

A restriction in this case which I assert was present in the original licence; not an 'additional restriction'.

See above, the boss changed the rules and nobody challanged it. It sticks like glue and we all have to suck up the point and move forward.

Quoted 14 lines

If I wanted to distribute my code without restrictions, I'd have contributed to a BSD kernel, or released my code under the terms "GPL but not if you really really don't fancy it".

I don't. I didn't.

Quoted 3 lines

If I wanted to be rude, I could take the changes I made and copyright the combined work and make it so others could not use that version without permission.

Not without being in violation of the original licence. This isn't about the resulting combined work, but about your permission to use the _original_.

Quoted 5 lines
Quoted 3 lines

Neither you or I can do anything, provide the vendor who is using Linux publishes their source fork. I also dare you to stop them, because you can't.

Believe me, there are ways this can be achieved.

Sure, and I am out there proving the points that will undermine your arguements.

Whatever happened to "World Domination" according to TUX ? Whatever happened to 'having a choice' ?

Lets assume you are correct, and the effect is a "Tar Baby".

Your claims that anything which loads into a kernel is automatically a derived work. Thus the effect of an original work loading into a gpl work force the original work to be GPL. This is a joke and will never see a second in any court.

Cheers,

Andre

For those who do not know about history and english archers, go read.

#57 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 2 lines · Andre Hedrick

Regardless, nobody stopped him at that time and thus a right of way has been granted and can not be revoked.

Wrong. While Linus' statement does bar him from personally suing you, it doesn't stop anyone else.

Quoted 1 line

See above, the boss changed the rules and nobody challanged it.

He did not have authority, by that time, to change the rules. Neither was he unchallenged.

Quoted 2 lines

Whatever happened to "World Domination" according to TUX ? Whatever happened to 'having a choice' ?

You do have a choice. You can use software under the terms of the licence under which it's released, or you can choose not to use it.

Quoted 6 lines

Lets assume you are correct, and the effect is a "Tar Baby".

Your claims that anything which loads into a kernel is automatically a derived work. Thus the effect of an original work loading into a gpl work force the original work to be GPL. This is a joke and will never see a second in any court.

You really aren't paying attention, are you? Your copyright (or lack of it as a derivative work) on your own module is largely irrelevant to my argument.

The GPL says you may use the kernel _itself_ but only with certain restrictions.

My claim is that the GPL forbids you from loading a non-GPL'd module. Not that if you do so, the non-GPL'd module becomes a derived work, but that in doing do you are violating the licence under which you received the _kernel_ and hence you must immediately cease using the _kernel_.

Just like if the GPL required you to bathe in creosote daily and one day you forgot.

I repeat, for the hard of understanding:

I am not asserting that if you manage to produce a loadable module which a court would rule is not a derivative work, you would not be allowed to distribute that.

I am asserting that if you do so, you are disobeying the restrictions on your use of the kernel itself, and hence you would not be able to use the kernel. You could use your own module, but not the Linux kernel.

Signature · 1 line
dwmw2
#58 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Will give you your point, regardless that is is wrong.

If loading a NON-GPL module is in violation of the license then enforce the license to prevent one from loading.

Legally you can not, thus the license for which you claim is in violation, violates itself. Restriction of usage.

Well the right-of-way is now there little chance of it being taken back.

GPL sucks as a general license, yet it was the best thing going at the time. It has a means to prevent us from moving forward to migrate to a better license.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 54 lines · David Woodhouse
Quoted 2 lines · Andre Hedrick

Regardless, nobody stopped him at that time and thus a right of way has been granted and can not be revoked.

Wrong. While Linus' statement does bar him from personally suing you, it doesn't stop anyone else.

Quoted 1 line

See above, the boss changed the rules and nobody challanged it.

He did not have authority, by that time, to change the rules. Neither was he unchallenged.

Quoted 2 lines

Whatever happened to "World Domination" according to TUX ? Whatever happened to 'having a choice' ?

You do have a choice. You can use software under the terms of the licence under which it's released, or you can choose not to use it.

Quoted 6 lines

Lets assume you are correct, and the effect is a "Tar Baby".

Your claims that anything which loads into a kernel is automatically a derived work. Thus the effect of an original work loading into a gpl work force the original work to be GPL. This is a joke and will never see a second in any court.

You really aren't paying attention, are you? Your copyright (or lack of it as a derivative work) on your own module is largely irrelevant to my argument.

The GPL says you may use the kernel _itself_ but only with certain restrictions.

My claim is that the GPL forbids you from loading a non-GPL'd module. Not that if you do so, the non-GPL'd module becomes a derived work, but that in doing do you are violating the licence under which you received the _kernel_ and hence you must immediately cease using the _kernel_.

Just like if the GPL required you to bathe in creosote daily and one day you forgot.

I repeat, for the hard of understanding:

I am not asserting that if you manage to produce a loadable module which a court would rule is not a derivative work, you would not be allowed to distribute that.

I am asserting that if you do so, you are disobeying the restrictions on your use of the kernel itself, and hence you would not be able to use the kernel. You could use your own module, but not the Linux kernel.

Signature · 1 line
dwmw2
#59 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to David Woodhouse
Quoted 7 lines · David Woodhouse

The GPL says you may use the kernel _itself_ but only with certain restrictions.

My claim is that the GPL forbids you from loading a non-GPL'd module. Not that if you do so, the non-GPL'd module becomes a derived work, but that in doing do you are violating the licence under which you received the _kernel_ and hence you must immediately cease using the _kernel_.

Your claim is not, as far as I know, supported by the law or the GPL itself.

GPL v2 section 2:
"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply"

That leaves the question of what "can be reasonably considered independent and separate works". I've both heard about other companies researching this and I've done it myself. The lawyers came to the same conclusion, independently. In software, what constitutes an independent work is something which can be pulled out and have another implementation dropped in and the rest of the system can't tell the difference.

A very obvious boundary is user vs kernel, nobody here thinks that because some application runs on a GPLed kernel that application is GPLed. Some people here may _pretend_ they think that so that they can argue that Linus made an "exception" for user land applications but that's just self serving posturing and I'm sure those people know that (just as I'm sure there will be 50 flaming replies saying that is not at all what they think. Politicians are the same everywhere).

Another boundary is a tarball. If it weren't for the above clause of the GPL then anything combined in a tarball with a GPLed work would be considered GPLed. Even RMS knew that wouldn't fly.

A less obvious boundary, and the one that got me into this, is the storage of a GPLed source file in a source management system. Does that mean that the metadata used to store that file is GPLed? At one point I was worried about this (why? Damn good question, in retrospect it is a "don't care", I didn't create the metadata so I don't own it anyway so why do I care if it is GPLed or not? Whatever, at one point I cared). I spent more than a lot of you make in a year in legal fees looking into it and that's where I learned about boundaries. The law has pretty clear ideas about boundaries and it doesn't matter what you think or I think or the GPL thinks, the boundaries are there and the GPL can't cross them. The conclusion of the lawyers was that no, putting a GPLed file into an SCM system in no way makes the SCM metadata GPLed. BTW, I asked RMS about this and he of course refused to accept that, his position is that the metadata would be GPLed, nice to see he is consistent :)

A much more obvious example than the SCM one is a device driver or a module. That's so cut and dried it isn't even open to debate in the eyes of the law. It's a hard and fast boundary, the GPL can't cross it no matter what people think or want (on either side).

That's why I think that your claim is not supported, by the GPL or (far more importantly) the law. While I'm no lawyer I'm perhaps more qualified than some people on this list since I've actually spent a pile of money researching this. I'm sure that someone with more money could buy^H^H^Hpay some lawyers try and make an opposing view stick but I'm equally sure that those of you without money don't have an iceballs' chance in hell of making an opposing view stick. Talk is cheap, legal decisions are expensive.

Once again, please note that I don't make money off the kernel or any other GPLed product (we ship diff & patch with BK but we also provide source for all our changes, they aren't substantial nor are they money makers). So I have no vested interest in which way this works out. I'm simply passing on what I've learned, I'm more or less one of you who has actually spent a lot of money getting legal opinions on the topic.

Signature · 2 lines
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm
#60 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

not to disagree with Larry in what he posted below, but there is nothing in what he says that at all means that if you paste in code from one side of a barrier to the other side the result doesn't need to be GPL'd

so the barriers can be delibratly bridged, but if you are careful about your code on one side of the barrier you don't have to worry about what's on the other side.

David Lang

Quoted 89 lines · Larry McVoy

Date: Sun, 5 Oct 2003 18:22:12 -0700
From: Larry McVoy <[email protected]>
To: David Woodhouse <[email protected]>
Cc: Andre Hedrick <[email protected]>, Rob Landley <[email protected]>,
Henning P. Schmiedehausen <[email protected]>, [email protected]
Subject: Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 7 lines · David Woodhouse

The GPL says you may use the kernel _itself_ but only with certain restrictions.

My claim is that the GPL forbids you from loading a non-GPL'd module. Not that if you do so, the non-GPL'd module becomes a derived work, but that in doing do you are violating the licence under which you received the _kernel_ and hence you must immediately cease using the _kernel_.

Your claim is not, as far as I know, supported by the law or the GPL itself.

GPL v2 section 2:
"These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply"

That leaves the question of what "can be reasonably considered independent and separate works". I've both heard about other companies researching this and I've done it myself. The lawyers came to the same conclusion, independently. In software, what constitutes an independent work is something which can be pulled out and have another implementation dropped in and the rest of the system can't tell the difference.

A very obvious boundary is user vs kernel, nobody here thinks that because some application runs on a GPLed kernel that application is GPLed. Some people here may _pretend_ they think that so that they can argue that Linus made an "exception" for user land applications but that's just self serving posturing and I'm sure those people know that (just as I'm sure there will be 50 flaming replies saying that is not at all what they think. Politicians are the same everywhere).

Another boundary is a tarball. If it weren't for the above clause of the GPL then anything combined in a tarball with a GPLed work would be considered GPLed. Even RMS knew that wouldn't fly.

A less obvious boundary, and the one that got me into this, is the storage of a GPLed source file in a source management system. Does that mean that the metadata used to store that file is GPLed? At one point I was worried about this (why? Damn good question, in retrospect it is a "don't care", I didn't create the metadata so I don't own it anyway so why do I care if it is GPLed or not? Whatever, at one point I cared). I spent more than a lot of you make in a year in legal fees looking into it and that's where I learned about boundaries. The law has pretty clear ideas about boundaries and it doesn't matter what you think or I think or the GPL thinks, the boundaries are there and the GPL can't cross them. The conclusion of the lawyers was that no, putting a GPLed file into an SCM system in no way makes the SCM metadata GPLed. BTW, I asked RMS about this and he of course refused to accept that, his position is that the metadata would be GPLed, nice to see he is consistent :)

A much more obvious example than the SCM one is a device driver or a module. That's so cut and dried it isn't even open to debate in the eyes of the law. It's a hard and fast boundary, the GPL can't cross it no matter what people think or want (on either side).

That's why I think that your claim is not supported, by the GPL or (far more importantly) the law. While I'm no lawyer I'm perhaps more qualified than some people on this list since I've actually spent a pile of money researching this. I'm sure that someone with more money could buy^H^H^Hpay some lawyers try and make an opposing view stick but I'm equally sure that those of you without money don't have an iceballs' chance in hell of making an opposing view stick. Talk is cheap, legal decisions are expensive.

Once again, please note that I don't make money off the kernel or any other GPLed product (we ship diff & patch with BK but we also provide source for all our changes, they aren't substantial nor are they money makers). So I have no vested interest in which way this works out. I'm simply passing on what I've learned, I'm more or less one of you who has actually spent a lot of money getting legal opinions on the topic.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 3 lines
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan
#61 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 3 lines · David Lang

not to disagree with Larry in what he posted below, but there is nothing in what he says that at all means that if you paste in code from one side of a barrier to the other side the result doesn't need to be GPL'd

Agreed. If you are making a derived work, and pasting in stuff from a GPLed source, your work is definitely derived and you are GPLed. And I'd be with everyone else ripping you a new one if you didn't GPL it.

I hope people understand that I respect the GPL and what it has accomplished. It's a great thing. People should not abuse it. My comments which may seem against that are legal in their basis, not my personal goals.

Signature · 2 lines
---
Larry McVoy              lm at bitmover.com          http://www.bitmover.com/lm
#62 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to David Woodhouse
Quoted 3 lines

You are so young and fresh to the game, it is cute.

http://www.gcom.com/home/support/whitepapers/linux-gnu-license.html

Can a module even be considered LGPL? After all a module interfaces with the kernel via including files from the kernel source - doesn't this automatically mean that it is a derived work of at least a few of the kernel headers (the module specific ones for example). These headers contribute code to the module as well: INC_MOD_USE_COUNT and the like... And since the kernel is GPLed doesn't this mean that the entire module is GPLed?

On the other hand any running program on linux dynamically links (via syscalls) against the kernel... I think everyone agrees that dynamically linking against the kernel in this manner should be allowed and not a violation of the GPL of the kernel source...

#63 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Usage of the kernel headers only, is using the effective API for that snapshot. It is clear in many copyright cases under the terms of fair use and reverse engineering to obtain operational functionality is legal and upheld.

Touching or using copied C-code is fatal.

Reading the C-code and creating another work which is identical in functionality and completely original, it is not derived regardless what anybody thinks or tells you. GPL only protects the actual file or document. It is a total waste on protecting the content expressed.

People confuse the two, and must admit I did so in the past.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 24 lines · Maciej Zenczykowski
Quoted 3 lines

You are so young and fresh to the game, it is cute.

http://www.gcom.com/home/support/whitepapers/linux-gnu-license.html

Can a module even be considered LGPL? After all a module interfaces with the kernel via including files from the kernel source - doesn't this automatically mean that it is a derived work of at least a few of the kernel headers (the module specific ones for example). These headers contribute code to the module as well: INC_MOD_USE_COUNT and the like... And since the kernel is GPLed doesn't this mean that the entire module is GPLed?

On the other hand any running program on linux dynamically links (via syscalls) against the kernel... I think everyone agrees that dynamically linking against the kernel in this manner should be allowed and not a violation of the GPL of the kernel source...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#64 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 4 lines · Andre Hedrick

Reading the C-code and creating another work which is identical in functionality and completely original, it is not derived regardless what anybody thinks or tells you. GPL only protects the actual file or document.

...and continues to do so. So if the licence of the original says you may use it only if you do not create such a work of your own, then as soon as you create your own, you lose your right to continue to use the original.

Signature · 1 line
dwmw2
#65 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Use maybe but read nope.

Now you have crossed the line in GPL, where you have restricted usaged.

You lose :-P

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 15 lines · David Woodhouse
Quoted 4 lines · Andre Hedrick

Reading the C-code and creating another work which is identical in functionality and completely original, it is not derived regardless what anybody thinks or tells you. GPL only protects the actual file or document.

...and continues to do so. So if the licence of the original says you may use it only if you do not create such a work of your own, then as soon as you create your own, you lose your right to continue to use the original.

Signature · 1 line
dwmw2
#66 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Maciej Zenczykowski
Quoted 5 lines · Maciej Zenczykowski

On the other hand any running program on linux dynamically links (via syscalls) against the kernel... I think everyone agrees that dynamically linking against the kernel in this manner should be allowed and not a violation of the GPL of the kernel source...

"linking" is a bit tricky here. Traditionally linking involves resolving addresses of symbols from the other part; system calls don't have any of this, they are hard coded, documented and fixed numbers... numbers that also work on BSD and AIX (in the linux personality).

#67 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Andre Hedrick
Quoted 1 line · Andre Hedrick

Nope, you made threats.

Quoted 3 lines · Erik Andersen

I'll go even farther, and say that one might call the GPL_ONLY symbols an "effective technological measure" that "effectively controls access to a work" and "effectively protects a right of a

to which you replied:

Quoted 2 lines · Andre Hedrick

Go have your "DADDY" write another legal letter for you and send it my way. I will be happy to shove it down your pie hole.

Erik postulates a "one MIGHT" legal argument, and gets threatened with bodily harm? I think you've given up any moral high ground regarding threats.

You may want to just take a few days off - you're apparently not attached to the same reality as the rest of us:

Quoted 3 lines

If one reads ./include/linux/module.h

It clearly states any license is acceptable.

Maybe if you apply the Bible Code to it, it's clearly stated, but all I see is a reference that the MODULE_LICENSE macro will accept a parameter of "Proprietary", and then goes on to say "it's there so the module in question can be treated properly - just like a Jew in Warsaw in 1941 had to wear a star".

There. I said it. The esteemed Mr Godwin says we're now free to get on with our lives.

#68 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

In reply to Andre Hedrick
Quoted 3 lines · Andre Hedrick

It is coming and the intent is to return all the stolen symbols. It is free for anyone to use and enjoy the usage of Linux once again. So everyone get in line and SUE ME for GPL'ed drivers.

[... module code that would re-export GPL-marked symbols as non-GPL-marked snipped ...]

Well,

generally speaking, you're of course right. You're simply using the loophole of Linus' agreement to binary only modules to use a fully GPL'ed module (which might use the _GPL symbols), then consider the aggregation to be under GPL (IMHO correct) and then consider this aggregation of kernel and your module to be still covered by Linus' agreement (don't know whether this is true. You might want to actually ask Linus himself... ;-) )

IMHO doing so might be the best way to make Linus (as the main copyright holder on the kernel source) to simply revoke the "I won't object to loading binary only modules in the GPL'ed kernel" agreement and simply say "From Kernel 2.6 on, every aggregation of modules in kernel space is considered to be an aggregation in the GPL v2 sense of meaning as covered by the GPL v2. So if you want to load a module, it's code is better be GPL'ed too".

In other words: You might force the copyright holder(s) of the Linux kernel to kill your business model dead.

Is this really what you want? It's basically the same thing that people do with BitKeeper and Mr. McVoy: Annoy the people that you might depend on long enough and they might stop being friendly to you [1]. You might want to ask yourself if this _really_ is what you want to achieve.

... just my random 0,02 Euro-Cent
Henning

[1] The people opposing to BK might not use it themselves but they n might be heavily using a project which might not be able to go on without BK because the main developers have stated often enough, that they won't be able to cope with the work load without BK: The Linux kernel.

Signature · 8 lines
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
[email protected]        +49 9131 50 654 0   http://www.intermeta.de/

Java, perl, Solaris, Linux, xSP Consulting, Web Services 
freelance consultant -- Jakarta Turbine Development  -- hero for hire

"Dominate!! Dominate!! Eat your young and aggregate! I have grotty silicon!" 
      -- AOL CD when played backwards  (User Friendly - 200-10-15)
#69 lore raw

Re: freed_symbols [Re: People, not GPL [was: Re: Driver Model]]

Quoted 11 lines · Henning P. Schmiedehausen
Quoted 3 lines · Andre Hedrick

It is coming and the intent is to return all the stolen symbols. It is free for anyone to use and enjoy the usage of Linux once again. So everyone get in line and SUE ME for GPL'ed drivers.

[... module code that would re-export GPL-marked symbols as non-GPL-marked snipped ...]

Well,

Quoted 7 lines

generally speaking, you're of course right. You're simply using the loophole of Linus' agreement to binary only modules to use a fully GPL'ed module (which might use the _GPL symbols), then consider the aggregation to be under GPL (IMHO correct) and then consider this aggregation of kernel and your module to be still covered by Linus' agreement (don't know whether this is true. You might want to actually ask Linus himself... ;-) )

actually (not that I was following the thread too closely) I thought the GPL point in the dispute came down to the fact that as the kernel is under GPL, you can change the export_symbols anywhere you like (under the GPL) so you can export anything to a binary module.

To really enforce export to GPL only would be simple, you have the file that exports symbols not under the GPL (and probably the loader to really enforce it). Writing the license for that file/file loader combination would be hard but maybe doable...

#70 lore raw
In reply to Erik Andersen
Quoted 9 lines

I invite you to read the COPYING file included in each and every kernel tarball. There is exactly ONE exception granted in the linux kernel copyright:

This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work".

You are mistaken about what this is. This is not an exception being
granted. Nobody has the authority to grant GPL exceptions unless they are the sole author and the Linux kernel does not have a sole author.

Quoted 3 lines

All the noise in the world about other exceptions is precisely that, since the license granting use of the Linux kernel does not contain any additional provisions.

This is not a license provision, it's a license interpretation. If you can
show me why the interpretation doesn't apply to kernel modules, please do.

Quoted 5 lines

Anything that can be identified as a "user program" that "use[s] kernel services by normal system calls" is, by virtue of the above license grant, doing so with permission and is therefore within its rights. So you can make all the closed source user space only One True(tm) iSCSI stacks you want.

Except it's not a license grant. If it is a license grant, please tell me
who had the authority to grant it.

Quoted 3 lines

Anything that is not a "user program" (and I think everyone can agree a kernel module is not a "user program") is therefore a derivitive work.

Hahahahhahaha! Oh, that's too funny. "All dogs are mammals" means things
that aren't dogs aren't mammals? My pencil isn't a "user program". Is it a derivative work of the Linux kernel in your opinion?

Quoted 11 lines

Anything that is linked into the kernel (and I think everyone can agree a kernel module is linked into the kernel) and is therefore interfacing with kernel internals, rather than using "kernel services by normal system calls" is therefore a derivitive work.

Laugh at people, mock people, rant, rave, wantever you want. When you are done making noise, please have your laywer explain how a closed source binary only product that runs within the context of the Linux kernel is not a derivitive work, per the very definition given in the kernel COPYING file that grants you your limited rights for copying, distribution and modification,

The same way a user program that runs within the context of the Linux
operating system is not a derivative work. A defined interface creates a license boundary. If you can draw a line between the two works, neither is derivative of the other.

And you are still ignoring the entire point, which is that it doesn't
matter whether or not such modules are derivative works. The GPL puts no restrictions whatsoever on the creation or usage of derivative works that are not distributed. The GPL does not say that you cannot make derivative works unless you GPL them.

So the restriction GPL_ONLY places is *not* a restriction that exists in
the GPL which is the *only* license. Hence it does not enforce a license restriction. It really is that simple.

And when it comes to respecting the author's wishes, I respect the wishes
of the many people who contributed to the Linux kernel expecting the GPL to ensure that usage remained unrestricted. I don't not respect the wishes of the people who try to impose usage restrictions on other people's GPL'd code and I thoroughly disrespect those who would wield the DMCA to restrict modifications to code placed under the GPL.

DS

#71 lore raw
In reply to Andre Hedrick
Quoted 2 lines · On Sat, 13 Sep 2003 19:40:52 -0700 (PDT) Andre Hedrick <[email protected]>…

Go have your "DADDY" write another legal letter for you and send it my way. I will be happy to shove it down your pie hole.

Umm, that's enough of this thread ok?

Take it to gnu.misc.discuss or whipme.beatme.i.like.it

And this is a one time warning, open defiance and continuing this thread will cost anyone their access to vger. This kind of "let's abuse people" threads cannot continue unchecked, and Andre you are on terribly thin ice ok?

#72 lore raw
In reply to Erik Andersen

Erik:

One more thing you forgot!

Before you run around ranting about DMCA and CPRM and making suttle legal threats. Everyone here knows who put it on the line to gain control of technology to prevent Content Protection Recordable Media from covering the storage industry wide. That is correct it was me. I was the one and only person ever to stand up and have a position to help everyone here to take control of technology. While all of my hard work was destroyed by the brain-dead of the EFF by causing it to go underground.

So lets be real clear about your wild swings of DMCA, because the irony will be back to haunt. Threaten to strike me down with DMCA, what a child you have become.

So this is where it goes ... Mighty Linux kills usage for business with lawsuits like the MPAA and RIAA.

GPL == DMCA, this is the brush you swing paint well dude.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 32 lines · Erik Andersen
Quoted 11 lines · Timothy Miller
Quoted 5 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

I'll go even farther, and say that one might call the GPL_ONLY symbols an "effective technological measure" that "effectively controls access to a work" and "effectively protects a right of a copyright owner ... in the ordinary course of its operation....". Bypassing GPL_ONLY symbols, as recently advocated by David Schwartz and Andre Hedrick, could be considered circumvention of an effective technological measure. Remember Dmitry Sklyarov,

-Erik

--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons-- -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#73 lore raw

GPL == DMCA [Re: People, not GPL [was: Re: Driver Model]]

In reply to Erik Andersen
Quoted 21 lines · Erik Andersen
Quoted 11 lines · Timothy Miller
Quoted 5 lines · David Schwartz

However, some people seem to be arguing that the GPL_ONLY symbols are in
fact a license enforcement technique. If that's true, then when they distribute their code, they are putting additional restrictions not in the GPL on it. That is a GPL violation.

Agreed. GPL_ONLY is not a license restriction. It is a technical issue.

I'll go even farther, and say that one might call the GPL_ONLY symbols an "effective technological measure" that "effectively controls access to a work" and "effectively protects a right of a copyright owner ... in the ordinary course of its operation....". Bypassing GPL_ONLY symbols, as recently advocated by David Schwartz and Andre Hedrick, could be considered circumvention of an effective technological measure. Remember Dmitry Sklyarov,

Quoted 1 line

-Erik

Erik:

Dmitry Sklyarov was put in jail for DMCA.

Erik Anderson joins The Village People to sing "D M C A".

So "The Great 'Erik Anderson'" now threatens former opensource developer with baiting tactics of GPL == DMCA. This is beautiful.

Richard, I know you will enjoy this one. People are thinking of enforcing GPL via DMCA. Basically killing the idea that people have the freedom of choice when it comes to software. Maybe Eben Moglen would like to comment on this twisted idea of Mr. Erik Anderson.

I really don't care but this is to funny to pass up such a threat in a public forum.

Cheer,

Andre Hedrick
LAD Storage Consulting Group

PS mental note, it takes two idiots to have a flame war, when am I going quit being the second idiot, sigh.

#74 lore raw
In reply to Timothy Miller
Quoted 8 lines

David Schwartz wrote:

But beyond this, there are some social issues. If someone finds a way to work around this mechanism, they are breaking things to everyone else's detriment. For a commercial entity to violate the GPL_ONLY barrier is an insult to kernel developers AND to their customers who will have trouble getting problems solved.

While I understand this point of view, I do not share it. People
contributed to the Linux kernel project largely because it *was* an open process. Nobody has the right to take offense when it's used for a different reason than they had intended. If you want control over how your code is used and modified, *don't* GPL it. If you're going to take offense when people remove restrictions you impose, regardless of how much you like the restrictions, *don't*' GPL it. It's that simple.

Quoted 2 lines

So, if a company works around GPL_ONLY, are they violating the GPL license? Probably not. Does that make it OKAY? Probably not.

What's not okay is trying to inject your own rules on how GPL'd software
can be used. That's perhaps tolerable if you're the sole author. It's condemnable when you're one among many.

Quoted 4 lines

This is like finding a way to give a user space program access to kernel resources. There are barriers put in place for a REASON because people make mistakes when they write software. If no one did, we wouldn't have any need for memory protection, would we.

Yet there is a project that removes all of these boundaries in the name of
improved performance for trusted applications. These are engineering trade-offs and one of the good things about the GPL is that I'm not stuck, by law or custom, when your engineering trade-offs if I don't think they apply to me.

DS

#75 lore raw

Do not even _THINK_ about bringing this thread back to life.

I said weeks ago for this thread to end, and I really meant it.

Any more postings in this thread and the people who do it are going to be removed from the lists. This is the one and only warning.

#77 lore raw
In reply to Pascal Schmidt
Quoted 8 lines · David Schwartz
Quoted 2 lines

Please show me one restriction on *use* in the GPL.

Well, you may not *use* GPL'd code to produce a derived work and distribute it in binary form only. Use of the code, not use of the product, sure.

Sure, and you may not *use* GPL'd code to produce a derived work and bring
a firearm into a court of law. I asked for a restriction on *use*, not a restriction on use and something else.

DS

#78 lore raw
In reply to Pascal Schmidt
Quoted 7 lines · Pascal Schmidt
Quoted 1 line · David Schwartz

Please show me one restriction on *use* in the GPL.

Well, you may not *use* GPL'd code to produce a derived work and distribute it in binary form only. Use of the code, not use of the product, sure.

Prove an original work which uses the proper "unprotectable API" to operate in the Linux kernel is a "derived work".

You can't and never will. It is an "original work".

"Original works" are exempt, what is not clear?

Oh I get it, because it happens to work in "Linux" it is not an original work? What a lame cast of mental giants.

Andre

#79 lore raw
Quoted 2 lines · Andre Hedrick

Prove an original work which uses the proper "unprotectable API" to operate in the Linux kernel is a "derived work".

I never claimed such a thing. Whether an API is unprotectable or not is a question for the lawyers.

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

Signature · 2 lines
Ciao,
Pascal
#80 lore raw
Quoted 7 lines

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

If it has legal value, then it's an additional restriction.

DS

#81 lore raw

David,

Agreed the total intent by the author is to impose a restriction. Thus the author by default lost his/her right to use, period. Ironic, how imposing a usage restriction will terminate ones own write to use.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 19 lines · David Schwartz
Quoted 7 lines

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

If it has legal value, then it's an additional restriction.

DS

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#82 lore raw
In reply to David Schwartz
Quoted 8 lines · David Schwartz
Quoted 6 lines

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

If it has legal value, then it's an additional restriction.

If it has legal value in showing the work is derivative thats not an additional restriction. Its merely showing the intent of the author. If someone creates a work and its found to be derivative and they didnt make it GPL compatible they get sued, thats also not an additional restriction its what the GPL says anyway.

That is the whole point of EXPORT_SYMBOL_GPL, it doesn't enforce anything and Linus was absolutely specific it should not do the enforcing. Its a hint and a support filter.

#83 lore raw
Quoted 11 lines · David Schwartz
Quoted 7 lines
Quoted 7 lines

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this
is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

Quoted 4 lines
Quoted 1 line

If it has legal value, then it's an additional restriction.

If it has legal value in showing the work is derivative thats not an additional restriction.

If the work would not have been restricted without it and is restricted
with it and you can't remove it, it's an additional restriction. If not, what would an additional restriction be?

Quoted 1 line

Its merely showing the intent of the author.

The intent of the author has no bearing on whether or not a work is
derived.

Quoted 4 lines

If
someone creates a work and its found to be derivative and they didnt make it GPL compatible they get sued, thats also not an additional restriction its what the GPL says anyway.

Show me where the GPL says you have to GPL derived works that you don't
distribute. That restriction is found nowhere in the GPL and if you attempted to impose such a restriction, it would be an additional one.

Quoted 3 lines

That is the whole point of EXPORT_SYMBOL_GPL, it doesn't enforce anything and Linus was absolutely specific it should not do the enforcing. Its a hint and a support filter.

If it doesn't enforce anything and isn't a license restriction, then it's
perfectly legal and kosher to remove it.

DS

#84 lore raw
Quoted 3 lines · David Schwartz

If the work would not have been restricted without it and is restricted
with it and you can't remove it, it's an additional restriction. If not, what would an additional restriction be?

You can remove it. But if you remove for with the obvious purpose of abetting the distribution of non-GPL derived work, don't be surprised to get smacked by courts who don't care for your technical sophistry.

Quoted 4 lines
Quoted 1 line

Its merely showing the intent of the author.

The intent of the author has no bearing on whether or not a work is
derived.

I've noticed it's become common to say this, but (NAL) I doubt it's true. I would expect a court to respect the author's intent within some narrow range that would otherwise be ambiguous. Intent and community standards play a large role in law. If enough people wear a path across private property, it can become an easement.

Andrew

#85 lore raw
In reply to David Schwartz

On Sun, 2003-09-14 at 00:30, David Schwartz wrote:

This is starting to get one of those threads that really should have ended a _long_ time ago.

Quoted 10 lines
Quoted 5 lines
Quoted 2 lines

If it has legal value, then it's an additional restriction.

If it has legal value in showing the work is derivative thats not an additional restriction.

If the work would not have been restricted without it and is restricted
with it and you can't remove it, it's an additional restriction. If not, what would an additional restriction be?

Read further on - it in itself is not a legal issue as such.

Quoted 5 lines
Quoted 1 line

Its merely showing the intent of the author.

The intent of the author has no bearing on whether or not a work is
derived.

If you read the ending part of Alan's message, you will see where this fits into. Removing it, once again do not have any real legal value while still within GPL 'usage boundaries'.

If the party that is accused of breaching GPL however did also remove the GPL_ONLY symbols, it does once again have no legal implication, except maybe enforcing a case of 'look, his intent was from day one to breach GPL'. It is however not binding legally, and its worth will depend on the country, legal system and so on.

Quoted 9 lines
Quoted 4 lines

If
someone creates a work and its found to be derivative and they didnt make it GPL compatible they get sued, thats also not an additional restriction its what the GPL says anyway.

Show me where the GPL says you have to GPL derived works that you don't
distribute. That restriction is found nowhere in the GPL and if you attempted to impose such a restriction, it would be an additional one.

I do not see why point you want to make. If you do _NOT_ distribute modified versions of the kernel, or works based on it, wtf worry ? If you however do (hello, driver derived from kernel source/examples, etc), you are bound by GPL (section 2a) to also distribute it under GPL, and thus also the sources, which is exactly what manufactures doing binary only drivers do not do.

Quoted 7 lines
Quoted 3 lines

That is the whole point of EXPORT_SYMBOL_GPL, it doesn't enforce anything and Linus was absolutely specific it should not do the enforcing. Its a hint and a support filter.

If it doesn't enforce anything and isn't a license restriction, then it's
perfectly legal and kosher to remove it.

Yes, didn't Alan just say it does not enforce anything?

What it does though do, what the whole idea behind it is, is if party A, say do a binary driver, and they changed EXPORT_SYMBOL_GPL to EXPORT_SYMBOL, then the kernel devs will _not_ support party A, as Alan said with 'Its a hint and a support filter.'. Sure, you are free to remove it, but if you do, do not expect any support.

The company I work for is a supplier of PC components. We have the same type of support 'safety system' build in - we do not have the infrastructure to support the public masses, thus we sell at low prices to vendors that have a much higher markup, and good support. If then somebody come to us, that is not a dealer, or do not have an Invoice, sorry sir, go to who you bought it from. Its basically the same thing if you think about it.

Can we now stop this, or could you continue this in private if you still choose not to understand?

Thanks,

Signature · 1 line
Martin Schlemmer
#86 lore raw
In reply to Alan Cox

Alan,

Taking you at face value, as always in the past, how does one parse between "usage"/"enforcement"?

Can a non-gpl object call, use, and it work "EXPORT_SYMBOL_GPL"?

If EXPORT_SYMBOL_GPL allows functionality, then it does not "enforce" any license issues. If it is called and then allowed to quietly fail or not function unless the caller's associated LICENSE is "GPL", then it does enforce, restrict and prevents 'functional' usage.

If this is a "NEW SYMBOL" one may have an arguement to hold.

If it is an "OLD SYMBOL", or the old one is removed and replaced with an random new one, yet the core functionality of the operations are the same, the intent is to break or terminate usage.

If EXPORT_SYMBOL_GPL is to be a notifier to let end-user be aware that a binary vendor may be operating in a grey region of "derived" work, fine. Allow it to operate but make noise.

Pretend it is doing the NOVELL thing of exceeding license count, and make noise.

It is all to simple to bypass, and if the TAINTING issues for detection is truly only to ignore issues from non-gpl sourced drivers, then great.

I know you have killfiled me by now, but how goes business school for the MBA? Does this mean you are going to quit Linux?

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 26 lines · Alan Cox
Quoted 8 lines · David Schwartz
Quoted 6 lines

If people put GPL_ONLY symbol exports in their code, that's their call to make, is it not? It's their code and they're free to say "well, this is my code, and if you use this symbol, I consider your stuff to be a derived work". Once again it's up to the lawyers to decide whether this has legal value or not.

If it has legal value, then it's an additional restriction.

If it has legal value in showing the work is derivative thats not an additional restriction. Its merely showing the intent of the author. If someone creates a work and its found to be derivative and they didnt make it GPL compatible they get sued, thats also not an additional restriction its what the GPL says anyway.

That is the whole point of EXPORT_SYMBOL_GPL, it doesn't enforce anything and Linus was absolutely specific it should not do the enforcing. Its a hint and a support filter.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#87 lore raw
In reply to David Schwartz
Quoted 14 lines · David Schwartz
Quoted 10 lines

On Wed, 10 Sep 2003 22:40:14 +0200, you wrote in linux.kernel:

Quoted 4 lines

However, Richard Stallman does not agree with this view. It's his view that if the authors chose to give you the code, you can use it any way you want to, regardless of how the authors feel about that type of usage. This is why he created the GPL.

Use in any way you want to is the BSD license, not the GPL.

Please show me one restriction on *use* in the GPL.

Quoted 8 lines

"Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does."

Licenses that place restrictions on usage are *not* open source licenses.

What about "usage" of source code?

GPL says you are not allowed to "use" GPL source in a non-free program that you publish.

Quoted 11 lines
Quoted 4 lines

The GPL
does restrict what you're allowed to do in order to keep the source free...

Yes, it restricts your ability to distribute and your ability to create
derived works if and only if you distribute those derived works. It places no restrictions whatsoever on use. And since it requires distributors to place no restrictions not in the GPL, distributors cannot place *any* restrictions on usage either.

I don't think anyone was talking about use of applications, but rather use of source code.

#88 lore raw
Quoted 5 lines
Quoted 3 lines

Licenses that place restrictions on usage are *not* open
source licenses.

What about "usage" of source code?

Same thing.

Quoted 2 lines

GPL says you are not allowed to "use" GPL source in a non-free program that you publish.

This is a publication restriction, not a usage restriction. Your phrasing
above is like saying, "you can't put bullets into a gun that you use to shoot a police officer". The restriction is on the shooting, not the loading.

Again, quoting the GPL:

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

Quoted 2 lines

I don't think anyone was talking about use of applications, but rather use of source code.

I'm not sure why you think this is an important distinction.

DS

#89 lore raw
Quoted 5 lines · David Schwartz

This is a publication restriction, not a usage restriction. Your phrasing
above is like saying, "you can't put bullets into a gun that you use to shoot a police officer". The restriction is on the shooting, not the loading.

Are you saying that publishing a program does not constitute a "usage" of the program and/or its source code?

#90 lore raw
Quoted 11 lines
Quoted 5 lines · David Schwartz

This is a publication restriction, not a usage restriction.
Your phrasing
above is like saying, "you can't put bullets into a gun that you use to shoot a police officer". The restriction is on the shooting, not the loading.

Are you saying that publishing a program does not constitute a "usage" of the program and/or its source code?

No, I'm saying that publishing a program is not *just* a usage of the
program. You can have full usage rights to a program and not be able to publish it because publication requires granting rights to other people, which is not use.

Similarly, I can give you full rights to use my house but you still can't
sell my house. That's not because "selling" isn't a way of "using", it's because selling is "using and then some". The additional thing that distribution has that usage doesn't is the ability to grant rights to others.

The GPL is quite clear on this point:

"Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does."

When you distribute a copyrighted work, you are not just distributing the
physical work but you are also conveying at last some rights of usage to other people. Conveying rights of usage is legally distinct from having rights of usage.

Unrestricted use does not mean you can do whatever you please so long as it
somehow involves usage, it just means that the restrictions aren't upon the usage itself. So anything that is *just* usage is okay. Anything that is usage and something else is okay so long as the something else is okay. You can have full unrestricted use of my bat and you still can't use it to beat a stranger, but that's because you couldn't use anything to beat a stranger, not because you don't have full use of the bat.

Distribution is usage and something else. The something else being the
conveying of usage rights to others. If you have unrestricted use, you can still only distribute if you have the rights to the something else.

DS

#91 lore raw
In reply to Timothy Miller

Timothy,

Who is talking about using "GPL source code", that is a given NO NO! Calling symbols in the header files used as the generic functionality of the kernel is all one could use in "Driver Model". Beyond the simple usage of header files, one is no longer in the land of API but usage of raw GPL source.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

Quoted 54 lines · Timothy Miller
Quoted 14 lines · David Schwartz
Quoted 10 lines

On Wed, 10 Sep 2003 22:40:14 +0200, you wrote in linux.kernel:

Quoted 4 lines

However, Richard Stallman does not agree with this view. It's his view that if the authors chose to give you the code, you can use it any way you want to, regardless of how the authors feel about that type of usage. This is why he created the GPL.

Use in any way you want to is the BSD license, not the GPL.

Please show me one restriction on *use* in the GPL.

Quoted 8 lines

"Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does."

Licenses that place restrictions on usage are *not* open source licenses.

What about "usage" of source code?

GPL says you are not allowed to "use" GPL source in a non-free program that you publish.

Quoted 11 lines
Quoted 4 lines

The GPL
does restrict what you're allowed to do in order to keep the source free...

Yes, it restricts your ability to distribute and your ability to create
derived works if and only if you distribute those derived works. It places no restrictions whatsoever on use. And since it requires distributors to place no restrictions not in the GPL, distributors cannot place *any* restrictions on usage either.

I don't think anyone was talking about use of applications, but rather use of source code.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/