-   Linux - Newbie (
-   -   Clarification on GNU GPL license (

sureshkellemane 10-21-2005 05:39 AM

Clarification on GNU GPL license
Hello All,

Can I have any information on this:

I have GPL code. Let me take the name of the file is GPL_Licensed.c
I will develop a module which will be called from the file GPL_Licensed.c
Let me put my module name as My_module.c I will compile the file and will link to GPL_licensed executable file.

The GPL_Licensed.c file interacts with My_module.c.

Now can i distribute the GPL_licensed executable without providing the source code of My_module.c file.

Thank you very much.

SkyEye 10-21-2005 05:49 AM

I think you have to use LGPL to do this. LGPL stands for Lesser GPL.

I don't think you can use GPL and get the same thing done legally.

BoldKiller 10-21-2005 08:26 AM

You could also build GLP_license.c file into a dynamic librairy. Ditribute that as GPL or LGPL.

Then my_module.c could dynamicly call the code in your librayry. Not be staticly likned with it. Then you can distribute your cade under the license you want. You are not tied in with the GPL conditions.

But when you say my_module.c, do you mean module as in kernel module? because if thats the case you cannot (as far as I know) use dynamic librairy. You can hower make 2 module.

Load GLP_module first and simply call its function from my_module.o

Basicly, as long as you dont compile and link with GPL code, you are free to do what ever you want. (actually its a little more complex than that, but this is the general idea)
I know there are quite a few good ressource out there comparing the different kind of licenses with many details.

XavierP 10-21-2005 01:20 PM

If you licence something under the GPL you have to make the source code available. This can be as part of the software download, in a seperate space of your server or on cd, whatever method you use if someone requests the code, you have to give it to them.

sureshkellemane 10-21-2005 11:22 PM

Thanks a lot for all

<<Boldkiller : But when you say my_module.c, do you mean module as in kernel module? >>

No...I am not developing the kernel module.

Actually it is a ghostscript. From the existing ghostscript code, I am planning to call my code. The ghostscript is a GPL code. I will build the RPM and distribute it. Is it legally OK ?

Do you have any suggestion on this for me?

BoldKiller 10-22-2005 11:34 AM

Re: Clarification on GNU GPL license

Originally posted by sureshkellemane
Now can i distribute the GPL_licensed executable without providing the source code of My_module.c file.
I just want to clarify something. Do you mean you want to package the source in the package (for size issues) OR do you want your code to not be open source?

sureshkellemane 10-24-2005 01:37 AM

No sir,

I want to add the device/driver to ghostscript but my stuffs should not be opensource.

Otherway , the GPL_licensed executable should have my module feature with it but the My module feature source code should not become opensource at this point of time.

Thanks a lot

BoldKiller 10-24-2005 07:06 AM

Then, what I suggested above is the only approach.
When you compile your module, it must not staticly link (as in being a part of) with any GPL code. You can owhever "Call" GPL code at run time dynamicly. In other words, you can USE the PRODUCT that resulted from the GPL code. But not the code it self. If you do that, you are free to use what ever license you want.

Here's 2 example to help clarify:
1- GCC is an open source compiler. But when you write code and compile it with it, your code is not GPL. Thats because you are using the product (as you would a word processor).
2- When using an GUI API tool kit (QT, wx, Win32, etc) your code license is not restricted by
the use of the tool kit. (Win32 native application can be open source, QT application can be closed source). Again this is because you are using the product. Your program will use the feature provided by those environment, but it is not a PART of that environement.

I dont know know exactly how Ghost Script works with "drivers", but as long as it is a different file (in windows it would be a seperate dll), your driver codes can be closed source. BTW, there are many cases where that has been done for device drivers in the kernel (PWC webcams, ATI graphic drivers, etc) They are closed source drivers simply using hooks in the kernel. The hook is open source, the rest of the driver is not.

I hope this helps to clarify things for you

sureshkellemane 10-24-2005 11:06 PM

Thanks a lot for your valuable suggestions..

AwesomeMachine 10-25-2005 12:00 AM

Why would you want to distribute a module without source. Every package you distribute doesn't need source. You just need to make the source available in one package. You can still distribute precompiled binaries, as long as the source is available somewhere, and you tell people where they can get it.

BoldKiller 10-25-2005 07:04 AM

Its not that he does not want to distribute the package with source.
He does not want his modue to be open source.

All times are GMT -5. The time now is 11:37 AM.