problem understanding GPL license

Started by
13 comments, last by ramy 17 years, 6 months ago
hey, I have a simple understanding question. Everytime I read the GPL version 2 license I get mixed up from all of the text and conditions in it. I am using wxWidget (which is under the GPL version 2 license) in my game engine. Now can I license my engine for some amount of money? Or does it have to be an open source engine since I'm using wxWidget which has a GPL license? But however I saw acouple of products that charge money their product yet they use wxWidget. So i guess I can charge money for my engine license. Note that in my engine licesne, I will not include the wxWidget source code. Nor the libraries. Only the wxWidget DLL that will run my engine. is my understanding correct or have I miss understood something? thanks.
Advertisement
You may charge a fee when distributing any derived work of a GPL project (and you may attach additional services or warranties to it), but you must provide the source code for free to anyone who asks for it.

I'm a little low on caffeine right now, so I won't delve into the details of whether linking to a DLL is a derived work or not.
Thanks for ur very fast reply =D

Quote:Original post by ToohrVyk
You may charge a fee when distributing any derived work of a GPL project (and you may attach additional services or warranties to it), but you must provide the source code for free to anyone who asks for it.

I'm a little low on caffeine right now, so I won't delve into the details of whether linking to a DLL is a derived work or not.


which source code do I have to provide? my engine's source code? I can and will provide my engine's source code when it licensed to the licensee (the person who payed and my game engine license fee). Other than that do I have to provide source code (but keep in mind it is not licensed by anyone)?

Quote:Original post by ramy
which source code do I have to provide? my engine's source code? I can and will provide my engine's source code when it licensed to the licensee (the person who payed and my game engine license fee). Other than that do I have to provide source code (but keep in mind it is not licensed by anyone)?

You need to provide the source code for the entire application. Now, if you provide it by means of a written offer, you need to provide it only to people who get a copy of the binaries; if you make it available online, you need to provide it to everyone (as of GPL v2; v3 changes all this, IIRC). However, regardless, you can't place any further restrictions on the source code. That is, as soon as you give it to one person, he can give it to everyone he knows, make it available online, make products which use it and sell them, etc. The bottom line is, do not expect to make any money from selling or licensing GPLed software.

EDIT: Hold on a sec. wxWidgets is distributed under what is essentially the LGPL, not the GPL. So you're reading the wrong license. As long as you're only dynamically linking, you're probably okay.
yes i am only dynamically linking the dll and libraries. cause thw wxWidget comes in source, and u have to compile it to ur platform, which i did. so i will be distributing the wxWidget dll with my engine sdk which will include the entire engine source code.

but however i need to make sure, that i will only give out my engine source code to the person who lciensed it. and included will be wxWidget dll only not the wxWidget source code as well.
but u said something about the guy can license engine and then do sell or whatever he wants with my engine. that will be true only if i release my engine under the GPL license. if i have my own license agreement to my engine i can restrict him from distributing my engine to everyone he knows. however i can only restrict him from distributing my engine source code, but anythign i use from GPL licenses he can do whatever he wants under that GPL license, is that right?

EDIT: from wxWidget License in "Exception Notice" it says:
"2. The exception is that you may use, copy, link, modify and distribute
under your own terms, binary object code versions of works based
on the Library."

i think that means that i can use the wxWidget dll in any form i want, right? regarding i put it in my own license terms.


this is soo confusing too many open source license and they all seem to nto differ much from the other :s
To avoid any confusion, let's make things clear:

There are two main GNU license types: the GPL and the LGPL.

An application licensed under the GPL license must be open-sourced, the binaries must be distributed with proper source code, and you can NOT make any profit. You may charge only for costs like shipping or the cost of the CD if you burn it.
Commercial applications CAN NOT DEPEND on GPL licensed programs, this means that by removing the gpl program, your commercial one can still have the same functionality.

The LGPL licensed is much like the same as the GPL, except that commercial applications can dynamically link their code to the LGPL programs. You can have (almost) any license for your own project (except for the open-sourced program, in this case, wxWidgets)
If you dynamically link to wxWidgets, you will have to distribute with your full package: the LPGL license and a brief explanation that you're using the open-sourced "wxWidgets" program + the source code of wxWidgets.
You cannot make profit with wxWidgets, and others may do whatever they want with it (as long as they do not violate the lgpl of course ;) but you CAN make profit with your OWN program.
The reason of the LGPL is that there are some libraries that are almost pointless if they can not be used by commercial applications (like a 3D game engine, since most game producers don't make free programs) and the reason of the GPL is to protect developers from others to make profit from their efforts (like a word processor engine, which could be just be used by a program with a graphical interface and make a lot of money, when open-source developers did all the dirty work)

I hope you'll find this usefull
Good look with your project
Quote:Original post by Matias Goldberg
An application licensed under the GPL license must be open-sourced, the binaries must be distributed with proper source code, and you can NOT make any profit. You may charge only for costs like shipping or the cost of the CD if you burn it.


Obviously, if an application is GPL, then the code is GPL (ie it's "open-sourced"). [grin] You can charge USD 10 millions for the software itself if you so wish.


Quote:Commercial applications CAN NOT DEPEND on GPL licensed programs, this means that by removing the gpl program, your commercial one can still have the same functionality.


Commercial applications can depend on GPL licensed programs. If they do, they'll have to be licensed under the GPL as well.


Quote:The LGPL licensed is much like the same as the GPL, except that commercial applications can dynamically link their code to the LGPL programs.


Commercial applications don't have to be proprietary, and FOSS doesn't have to be freeware.

A proprietary program has to link dynamically or it must provide a way for the end user to relink the application. This is usually accomplished by providing the object files. To be on the safe side, proprietary programs are usually linked dynamically.


Quote:You can have (almost) any license for your own project (except for the open-sourced program, in this case, wxWidgets)
If you dynamically link to wxWidgets, you will have to distribute with your full package: the LPGL license and a brief explanation that you're using the open-sourced "wxWidgets" program + the source code of wxWidgets.


You must also display the wxWidgets copyright wherever you display your own, as well as a reference directing the user to the LGPL.


Quote:You cannot make profit with wxWidgets, and others may do whatever they want with it (as long as they do not violate the lgpl of course ;) but you CAN make profit with your OWN program.


I think you very much can create binaries of wxWidgets and just sell them. In fact, companies like RedHat do it everyday.


Quote:The reason of the LGPL is that there are some libraries that are almost pointless if they can not be used by commercial applications (like a 3D game engine, since most game producers don't make free programs)


No. It is meant to provide a FOSS alternative to existing proprietary libraries, and to help spreading technologies, to make them de facto standards. The BSD, MIT, X11, CMU, ... Licenses are traditionally used for that, but nothing prevents someone from altering the software, distributing binaries and never disclosing the modifications. The LPGL addresses that point. It still permits linking with proprietary software to speed up widespread acceptance, but it requires that any modification to the work be contributed back.


Quote:and the reason of the GPL is to protect developers from others to make profit from their efforts (like a word processor engine, which could be just be used by a program with a graphical interface and make a lot of money, when open-source developers did all the dirty work)


No. The GPL was meant to protect end-users, not programmers. And a game doesn't have to be any more or less proprietary than a word processor.


ramy:

wxWidgets uses its own license, which is a modified LGPL. You can safely use the library with your proprietary application, provided that you link dynamically, and accompany your program with the prominent mention than it is using wxWidgets. If your program displays a copyright (e.g. in a "About" dialog), then you must display the wxWidgets copyright there as well.


Hope this helps.
hm so after all wxWidget is safe to dynamically link it, and use it in my engine commerically and charge money for my engine.

thats good news.

so basically GPL application has to be opensource with no money charge and LGPL application can be charged for. Thats what i understood after Matias Goldberg and let_bound replies.

Thanks you guys ALOT! u were really helpful!
i was checking thought he softwareim using, and i came accorss my compile. im using mingw compiler with code::blocks.

mingw is a GPL application. so as far as i understood, my application will have to be open sourced. :S right?
Quote:Original post by ramymingw is a GPL application. so as far as i understood, my application will have to be open sourced. :S right?

No. You can create your binaries with mingw / gcc and sell them without any problem; you don't need to open source anything.

Code::blocks is just an IDE and mingw just a compiler. So as long as you don't use sourcecode of one of them, you don't need to license your programme under GPL.

-----PARPG - open source isometric 2d old school RPG still looking for interested contributors

This topic is closed to new replies.

Advertisement