2000-10-27 16:37:27

by Jason Wohlgemuth

[permalink] [raw]
Subject: GPL Question

Consider this:

A subsystem that is statically built into the Linux Kernel is modified
to allow the registration of a structure containing function pointers.

The function pointers corrolate to a set of functions within that subsystem.
If the new structure of pointers has been registered, the original
functions will call the new functions in the structure passing all
arguments and returning the return value of the new function.

With this said, if no structure has been registered, then no
functionality is degraded within the kernel. Only the loss of some cpu
time to check the pointers at the top of the old functions.

Now, if a module is loaded that registers a set of functions that have
increased functionality compared to the original functions, if that
modules is not based off GPL'd code, must the source code of that module
be released under the GPL?

Thanks in advance,
Jason Wohlgemuth


2000-10-27 16:45:48

by David Weis

[permalink] [raw]
Subject: Re: GPL Question



On Fri, 27 Oct 2000, Jason Wohlgemuth wrote:

> Now, if a module is loaded that registers a set of functions that have
> increased functionality compared to the original functions, if that
> modules is not based off GPL'd code, must the source code of that module
> be released under the GPL?

It would probably follow GPL, but it's pretty slimy. I won't buy it.

david

--
David Weis | "Great spirits will always encounter violent
[email protected] | opposition from mediocre minds" - Einstein
http://www.sjdjweis.com/ |

2000-10-27 17:20:56

by Alan Cox

[permalink] [raw]
Subject: Re: GPL Question

> On Fri, 27 Oct 2000, Jason Wohlgemuth wrote:
>
> > Now, if a module is loaded that registers a set of functions that have
> > increased functionality compared to the original functions, if that
> > modules is not based off GPL'd code, must the source code of that module
> > be released under the GPL?
>
> It would probably follow GPL, but it's pretty slimy. I won't buy it.

It depends primarily if the module depends on the code which is GPL. Its all
a rather unclear area.

Alan

2000-10-27 17:22:36

by Alan Cox

[permalink] [raw]
Subject: Re: GPL Question

> Now, if a module is loaded that registers a set of functions that have
> increased functionality compared to the original functions, if that
> modules is not based off GPL'd code, must the source code of that module
> be released under the GPL?

Consult a Copyright/'Intellectual Property' lawyer. I wouldnt ask a lawyer
to write a kernel driver, I would suggest not asking kernel hackers to do law 8)

2000-10-27 17:27:58

by mbs

[permalink] [raw]
Subject: Re: GPL Question

On Fri, 27 Oct 2000, Jason Wohlgemuth wrote:
> Consider this:
>
> A subsystem that is statically built into the Linux Kernel is modified
> to allow the registration of a structure containing function pointers.
>
> The function pointers corrolate to a set of functions within that subsystem.
> If the new structure of pointers has been registered, the original
> functions will call the new functions in the structure passing all
> arguments and returning the return value of the new function.
>
> With this said, if no structure has been registered, then no
> functionality is degraded within the kernel. Only the loss of some cpu
> time to check the pointers at the top of the old functions.
>
> Now, if a module is loaded that registers a set of functions that have
> increased functionality compared to the original functions, if that
> modules is not based off GPL'd code, must the source code of that module
> be released under the GPL?
>
> Thanks in advance,
> Jason Wohlgemuth


the api of the module would be a reimplementation of a GPL'd api
(the function names may have changed, but the base behaviors must be equivalent)

so the question in simple terms might phrased as:

is the API under GPL, or is it the code or are both?

I think the answer is both.
--
/*------------------------------------------------**
** Mark Salisbury | Mercury Computer Systems **
** [email protected] | **
**------------------------------------------------**
** "WYGIWYD - What You Get Is What You Deserve" **
**------------------------------------------------*/


2000-10-27 17:28:29

by Matthew Dharm

[permalink] [raw]
Subject: Re: GPL Question

On Fri, Oct 27, 2000 at 06:21:27PM +0100, Alan Cox wrote:
> > On Fri, 27 Oct 2000, Jason Wohlgemuth wrote:
> >
> > > Now, if a module is loaded that registers a set of functions that have
> > > increased functionality compared to the original functions, if that
> > > modules is not based off GPL'd code, must the source code of that module
> > > be released under the GPL?
> >
> > It would probably follow GPL, but it's pretty slimy. I won't buy it.
>
> It depends primarily if the module depends on the code which is GPL. Its all
> a rather unclear area.

Legally, I think this is probably unclear. But, I have my own, personal
standard I use for this.

The question in my mind is one of "can it stand alone". In the example
originally mentioned, the new module (let's call it the alpha module)
registers function calls with the old module (let's call it beta).

Now, the question in my mind is this: Is alpha a replacement for beta? It
certainly sounds like it. But it depends of what/how many functions are
being overridden. Are there other functions from beta which are used by
alpha (either as above alpha or below it)? What are these replacement
functions trying to do? If you're using an allready existing abstraction
layer, then you're probably okay... but if you're really inventing a new
abstraction layer, then you're probably not okay.

I guess what I'm saying is this: It all comes down to intent for me. Yeah,
that's a lousy standard to use, especially in a courtroom. But that's what
I really care about in the end.

Matt

--
Matthew Dharm Home: [email protected]
Maintainer, Linux USB Mass Storage Driver

We can customize our colonels.
-- Tux
User Friendly, 12/1/1998


Attachments:
(No filename) (1.71 kB)
(No filename) (232.00 B)
Download all attachments

2000-10-27 18:00:44

by Chris Friesen

[permalink] [raw]
Subject: Somewhat different GPL Question

If I use some GPL'd code and make calls from my software to the GPL'd
code, do I need to make *my* code available? Or would I only have to
make available any changes to the GPL'd code?

Section 2.b of the GPL seems to indicate that I need to make the source
for my entire executable available if it incorporates any GPL'd source,
and that I cannot charge for the software, only for its distribution.
Is this correct?

Thanks,
Chris

--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: [email protected]

2000-10-27 18:07:05

by Rik van Riel

[permalink] [raw]
Subject: Re: Somewhat different GPL Question

On Fri, 27 Oct 2000, Christopher Friesen wrote:

> If I use some GPL'd code and make calls from my software to the
> GPL'd code, do I need to make *my* code available? Or would I
> only have to make available any changes to the GPL'd code?
>
> Section 2.b of the GPL seems to indicate that I need to make the
> source for my entire executable available if it incorporates any
> GPL'd source, and that I cannot charge for the software, only
> for its distribution. Is this correct?

It depends.

If you're making interprocess calls to call the GPL code,
I suspect you won't have to make your code GPL.

OTOH, if you /link/ against a GPL shared library, you will
have to GPL the source of your program (that is, you'll have
to give it to the people who receive the binary from you).

Mind that lots of the "system" libraries are under the
somewhat more free LPGL...

regards,

Rik
--
"What you're running that piece of shit Gnome?!?!"
-- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/ http://www.surriel.com/

2000-10-27 18:53:27

by David Schwartz

[permalink] [raw]
Subject: RE: GPL Question


> Now, if a module is loaded that registers a set of functions that have
> increased functionality compared to the original functions, if that
> modules is not based off GPL'd code, must the source code of that module
> be released under the GPL?

If the answer to this is "yes", then Microsoft should own some rights to
every piece of software that uses the Windows API.

DS

2000-10-27 18:57:20

by Rik van Riel

[permalink] [raw]
Subject: RE: GPL Question

On Fri, 27 Oct 2000, David Schwartz wrote:

> > Now, if a module is loaded that registers a set of functions that have
> > increased functionality compared to the original functions, if that
> > modules is not based off GPL'd code, must the source code of that module
> > be released under the GPL?
>
> If the answer to this is "yes", then Microsoft should own
> some rights to every piece of software that uses the Windows
> API.

Read the fine print...

*runs like crazy*

Rik
--
"What you're running that piece of shit Gnome?!?!"
-- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/ http://www.surriel.com/

2000-10-27 19:17:41

by James A Sutherland

[permalink] [raw]
Subject: RE: GPL Question

On Fri, 27 Oct 2000, David Schwartz wrote:

>
> > Now, if a module is loaded that registers a set of functions that have
> > increased functionality compared to the original functions, if that
> > modules is not based off GPL'd code, must the source code of that module
> > be released under the GPL?
>
> If the answer to this is "yes", then Microsoft should own some rights to
> every piece of software that uses the Windows API.

In fact, since you call the Windows API by linking against Windows
libraries (kernel32.dll etc), Microsoft have as much right to dictate the
licensing of Windows apps as the FSF has to require apps linked against
GPLed code to be GPLed. (IMO, neither has any such right; of course, given
the spate of recent laws we've seen, I wouldn't put any faith in a legal
system to reach the "right" decision...)

In this particular case - just communicating with GPLed code - the answer
is no, you are not required to impose GPL restrictions on your users, you
can use a free license instead (or a proprietary one, if you really
want...)


James.

2000-10-27 20:51:33

by Alan Cox

[permalink] [raw]
Subject: Re: GPL Question

> If the answer to this is "yes", then Microsoft should own some rights to
> every piece of software that uses the Windows API.

As US copyright law stands of the last few days Microsoft are entitled to
require a magic constant is passed in one register to 'unlock' an API syscall.
If you disassemble code to find that constant you could be jailed.

Alan

2000-10-27 20:52:52

by Alan Cox

[permalink] [raw]
Subject: Re: GPL Question

> > If the answer to this is "yes", then Microsoft should own
> > some rights to every piece of software that uses the Windows
> > API.
>
> Read the fine print...
> *runs like crazy*

Extremely true. You'll find the MS C library covers this in detail. You'll also
famously find the microsoft sdk for generating paperclip like horrors actually
forbids you using it for the purpose of making things derogatory to MS etc

2000-10-27 20:55:23

by Alan Cox

[permalink] [raw]
Subject: Re: Somewhat different GPL Question

> If you're making interprocess calls to call the GPL code,
> I suspect you won't have to make your code GPL.
>
> OTOH, if you /link/ against a GPL shared library, you will
> have to GPL the source of your program (that is, you'll have
> to give it to the people who receive the binary from you).

The out of court settlements don't actually bear up to this interpretation
and have been more about 'depending on' as a definition for linking and what
is and is not an entire application.

Its one reason Im glad Linus had the sense to put an explicit statement about
syscalls in the kernel COPYING file.

2000-10-27 21:08:54

by Brian F. G. Bidulock

[permalink] [raw]
Subject: Re: GPL Question

All, IANAL, but:

#1: take this discussion of this list...

goto news:comp.software.licensing

read the FAQ

if you still have questions send them to mailto:[email protected]

if you don't like any of those answers, talk to a lawyer

be fair, don't steal someone else's work (don't be like Dennis)

both GPL and LGPL are clear: you change it, you publish source

if you don't want to publish source, best bet is don't change it,
just use it the way it is

you may not have the right to change anything (according to your
employer): consult a lawyer

--Brian

On Fri, 27 Oct 2000, James Sutherland wrote:

> On Fri, 27 Oct 2000, David Schwartz wrote:
>
> >
> > > Now, if a module is loaded that registers a set of functions that have
> > > increased functionality compared to the original functions, if that
> > > modules is not based off GPL'd code, must the source code of that module
> > > be released under the GPL?
> >
> > If the answer to this is "yes", then Microsoft should own some rights to
> > every piece of software that uses the Windows API.
>
> In fact, since you call the Windows API by linking against Windows
> libraries (kernel32.dll etc), Microsoft have as much right to dictate the
> licensing of Windows apps as the FSF has to require apps linked against
> GPLed code to be GPLed. (IMO, neither has any such right; of course, given
> the spate of recent laws we've seen, I wouldn't put any faith in a legal
> system to reach the "right" decision...)
>
> In this particular case - just communicating with GPLed code - the answer
> is no, you are not required to impose GPL restrictions on your users, you
> can use a free license instead (or a proprietary one, if you really
> want...)
>
>
> James.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> Please read the FAQ at http://www.tux.org/lkml/

--
Brian F. G. Bidulock
http://www.openss7.org/

2000-10-30 12:27:49

by Helge Hafting

[permalink] [raw]
Subject: Re: GPL Question

Alan Cox wrote:
>
> > If the answer to this is "yes", then Microsoft should own some rights to
> > every piece of software that uses the Windows API.
>
> As US copyright law stands of the last few days Microsoft are entitled to
> require a magic constant is passed in one register to 'unlock' an API syscall.
> If you disassemble code to find that constant you could be jailed.

Anyone figuring out such a constant could post it anonymously on some
website/newsgroup. Anybody abusing the constant later, including the
real discoverer, can simply claim they got it from that anonymous
sensation
posting. It is now common knowledge. No reverse engineering here...

Helge Hafting