Skip to contentSkip to conversation

GPL Question

DISCUSSION Jason Wohlgemuth 11 participants 16 messages Oct 27, 2000 – Oct 30, 2000

lore
Share & tools
lore
#0 lore raw

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

-
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/

#1 lore raw
Quoted 4 lines · Jason Wohlgemuth

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

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

-
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/
#2 lore raw
Quoted 8 lines · Jason Wohlgemuth
Quoted 5 lines

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

-
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/

#7 lore raw
In reply to Jason Wohlgemuth
Quoted 4 lines

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)

-
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/

#8 lore raw
In reply to Jason Wohlgemuth
Quoted 14 lines · Jason Wohlgemuth

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.

Quoted 7 lines

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.

Signature · 12 lines
/*------------------------------------------------**
**   Mark Salisbury | Mercury Computer Systems    **
**   [email protected]     |                             **
**------------------------------------------------**
**  "WYGIWYD - What You Get Is What You Deserve"  **
**------------------------------------------------*/


-
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/
#3 lore raw
In reply to David Weis
Quoted 11 lines · Alan Cox
Quoted 8 lines · Jason Wohlgemuth
Quoted 5 lines

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

Signature · 6 lines
Matthew Dharm                              Home: [email protected] 
Maintainer, Linux USB Mass Storage Driver

We can customize our colonels.
					-- Tux
User Friendly, 12/1/1998
#4 lore raw

Somewhat different GPL Question

In reply to David Weis

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

Signature · 8 lines
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]
-
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/
#5 lore raw

Re: Somewhat different GPL Question

Quoted 8 lines · Christopher Friesen

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/

-
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/

#9 lore raw
In reply to Jason Wohlgemuth
Quoted 5 lines

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

-
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/

#10 lore raw
Quoted 8 lines · David Schwartz
Quoted 4 lines

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/

-
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/

#12 lore raw
In reply to David Schwartz
Quoted 8 lines · David Schwartz
Quoted 5 lines

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/

#13 lore raw
In reply to David Schwartz
Quoted 2 lines

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

-
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/

#11 lore raw
In reply to Rik van Riel
Quoted 6 lines
Quoted 3 lines

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

-
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/

#6 lore raw

Re: Somewhat different GPL Question

In reply to Rik van Riel
Quoted 6 lines

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.

-
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/

#15 lore raw
In reply to David Schwartz

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

Quoted 30 lines · James Sutherland
Quoted 8 lines · David Schwartz
Quoted 5 lines

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/

Signature · 6 lines
Brian F. G. Bidulock
http://www.openss7.org/
-
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/
#14 lore raw
In reply to Alan Cox
Quoted 7 lines · Alan Cox
Quoted 3 lines

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
-
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/