Sign in to follow this  
ramy

problem understanding GPL license

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
ahh, gr8 gr8 starting to get the hang of this. thanks

but for runtime the binary needs the mingw10.dll so that has to be there with my binaries, and it said on mingw site runtime libraries r public domain, so no problem in that =D.

Share this post


Link to post
Share on other sites
let_bound:
Thanks for making for a deeper explanation of the GPL license.
But one thing:

Quote:
Original post by let_bound
Quote:
Original post by Matias Goldberg
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.


If they'll "have to be licensed under the GPL as well", they can not make profit with the program :)
That was my point

Cheers
"Dark Sylinc"

Share this post


Link to post
Share on other sites
Quote:
Original post by Matias Goldberg
If they'll "have to be licensed under the GPL as well", they can not make profit with the program :)
That was my point

Cheers
"Dark Sylinc"

That's nonsense IMHO. You can still make a game based on an GPL'ed engine and sell it. You don't sell the engine itself but you sell the assets you created for the game.

Assets could be:
* Maps
* Gfx
* Sounds
* Scripts

If you modify the sourcecode of the engine you would need to release your modified sourcecode with the binary. But that doesn't mean you can't make money with it.

Remember that the Quake 3 engine was GPL'ed about a year ago. That means the sourcecode can be freely distributed under the GPL but the ingame art (models, gfx, maps, sounds) is still owned by ID software and you would breach copyright laws if you would share it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Matias Goldberg
If they'll "have to be licensed under the GPL as well", they can not make profit with the program :)
That was my point


It's possible. [smile]

Red Hat sells its RHEL distribution. Their trademarks prevent the redistribution of the contents "as is". You can still redistribute it if you remove all the Red Hat trademarks, logos, etc. In practice, it's easier to get another distro, and it isn't interesting to get a RHEL without the official support, the updates, etc. So if you need an "enterprise Linux", you buy the RHEL (or Novell's SUSE, or another commercial distro).

You can also sell your program, even if it's under the GPL, and still make a profit. Take for example a CRM, ERP or data warehouse system. These pieces of software cost way more than RHEL. They're bloated beyond reasonable and are usually nightmares to deploy. What you're selling here isn't the software, but the service (e.g. support, customization, ...)

Yet another example is a subscription-based system: you distribute the (GPL) software for free, but you require a monthly fee to be granted access to the service, like with MMO games. You can even release the server-side code under the GPL, because the things that matter are the service, the content, the community, ...

Obviously, you have to think a bit outside of the shrinkwrapped retail software box and be somewhat innovative. Risks are probably more important. Still, it's possible. [smile]

Share this post


Link to post
Share on other sites
hmm that opened my mind into alot of stuff there let_bound. using GPL doesnt mean i cant make money from it! that sounded interesting.

need to think about things now =D

thanks for ur info.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this