Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
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.
GLP_license.c->GPL_module.o
my>module.c->my_module.o
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.
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.
<<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 ?
Originally posted by sureshkellemane
Now can i distribute the GPL_licensed executable without providing the source code of My_module.c file.
[/B]
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?
Last edited by BoldKiller; 10-22-2005 at 11:35 AM.
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.
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.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,513
Rep:
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.