Originally posted by Dragonlord
View Post
Announcement
Collapse
No announcement yet.
Put the wish list for porting projects HERE...
Collapse
X
-
-
There's a problem with LGPL as a single license only and this is that the user can be locked out of having the choice of modules. The idea is to allow the users to choose if they want a pure GPL experience ( like having no tainted kernel ) or allowing some tainted modules into the system. With LGPL as the base license this would be a problem since theoretically somebody could get the idea to "hard lock" a module in his game and that's exactly not the idea. I especially want to decouple games from the engine to avoid the mess we have today with endless patching, incompatibility, non-portability and other nasty problems. So I opted so far for a dual license like GPL and something like LGPL ( maybe there is a better one ) for covering those cases where the GPL would have troubles with. So far all modules included are based on GPL code. A particular case is Coumans BulletPhysics which is zLib by default but he once said it's okay to use it in GPL projects. Not sure though if zLib by itself can be changed into GPL. But to my understanding zLib is a kind of "do what you want with it" license which should not impose any problems.
That said I'm aware of the fact that this entire license story can become tricky for the cases of modules which are not GPL. I had though various people ask for how this would work out. The other question is if it would work to with an annotation like explicitly allowing tainted modules. I'm not sure if this really works as I only read it somewhere.
But somehow this has to work out since the Linux Kernel is GPL but yet you have nVidia and ATI producing closed source driver blobs which are dlopen into the running kernel. I don't know if they link back somewhere into the kernel but at least some header files are required. They have though a GPL wrapper in front of their closed binary code. Maybe this prevents breaking the GPL? Somehow they managed to get it working since I can't remember anybody filing a complaint against them for breaking the GPL in any way.
Comment
-
Originally posted by Dragonlord View PostBut somehow this has to work out since the Linux Kernel is GPL but yet you have nVidia and ATI producing closed source driver blobs which are dlopen into the running kernel. I don't know if they link back somewhere into the kernel but at least some header files are required. They have though a GPL wrapper in front of their closed binary code. Maybe this prevents breaking the GPL? Somehow they managed to get it working since I can't remember anybody filing a complaint against them for breaking the GPL in any way.
Comment
-
Which should still leave a double licensing as an option I think. After all nobody can deny me doing this. That said this trick with the closed modules is not the most important thing. If it works somehow it's a nice addition but the engine with the default cast of module is designed to be fully under the GPL to make it available to everybody who wishes to work with it. And that's what's most important for me right now.
Comment
-
Originally posted by Dragonlord View PostWhich should still leave a double licensing as an option I think. After all nobody can deny me doing this. That said this trick with the closed modules is not the most important thing. If it works somehow it's a nice addition but the engine with the default cast of module is designed to be fully under the GPL to make it available to everybody who wishes to work with it. And that's what's most important for me right now.
You may have to resolve yourself to something like the LGPL or commit the sin of making yet another license to fit what you intend on- otherwise you're just going to make a minefield for the people wanting to use it other than your team.
Comment
-
The main idea is that everyone has access to the game engine for (1) playing games and (2) creating games. This is the most important goal in this project. For this I chose initially the GPL to protect people against various attempts to undermine the basic principle. Let's say the engine is available under GPL and let's say BSD as mentioned above. The majority of people choose the GPL version to run since it integrates nicely into a Linux system without any blockages or troubles ( since all parts of it are GPL ). Now if somebody needs to make a fork ( for example for a restricted platform ) then he can use the BSD licence to do the fork. Where exactly is here the minefield?
Comment
-
Originally posted by Dragonlord View PostThe main idea is that everyone has access to the game engine for (1) playing games and (2) creating games. This is the most important goal in this project. For this I chose initially the GPL to protect people against various attempts to undermine the basic principle. Let's say the engine is available under GPL and let's say BSD as mentioned above. The majority of people choose the GPL version to run since it integrates nicely into a Linux system without any blockages or troubles ( since all parts of it are GPL ). Now if somebody needs to make a fork ( for example for a restricted platform ) then he can use the BSD licence to do the fork. Where exactly is here the minefield?
Comment
-
Originally posted by Svartalf View PostHeh... I've considered it- deal with it all the time. It's a consideration that I've not mentioned much of because there's often ways around the issue in question. You've got to know how to approach it.
One of them is to have them come up with an NDA with appropriate provisions to be on the hook for not disclosing the 3rd party code. If they're serious otherwise about giving access to the source for the title, this would do the trick. From there it's only a matter of haggling over line-items that might be problematic for you on the NDA. If the code's compilable or can be made so and you're not FOSS-ing the title, this should be enough to gain access in most cases. If you're liberating the title (whatever form that might take...) you might have a tougher road to hoe and depending on the 3rd party code, you may have your work cut out for you as you'd have to be able to replace, or nearly so, the offending code. If it's the physics models, you might have issues...
Comment
-
Originally posted by jonwil View PostThe problem in this case is that the dev has no clue what 3rd party code was in the title or which files did or didnt contain 3rd party code. And, if they give the 3rd party code to ANYONE, they may be liable (for example, if it's something like Miles or Bink, both of which this game uese)
It's not in your code or in being able to dual license. It's in the downstream people that it becomes a problem. If you don't integrate any proprietary closed modules, GPL is perfectly fine because it doesn't change assets rights- you can have a GPLed game engine and a closed game. It's when you or another rights holder in standing release something that's GPLed and mix it with proprietary modules that it becomes a problem. Because you're the rights holder, you can release it under any license you see fit- but the license may not provide to the downstream recipients what you intended. If you provide a Bink module under your distribution license (Lord, would that be evil expensive to provide...but let's use something familiar for this example.) you as the sole rights holder to the GPLed codebase may do so. Unfortunately, it doesn't accomplish what you sought to do because now NOBODY can legally distribute the engine or make derivative works off of it unless they rip the Bink framework out and make a fork- because they can't honor the GPL license grant without doing so.
The same couldn't be said for LGPL, which allows for this sort of thing and is only viral if you touch/modify/derive from the code that was licensed under the LGPL to you. However, if you're okay with things the way they are and can avoid doing nasty things to yourself (like I just mentioned previously...) and insist upon anything under the name Drag[en]gine has to be assigned rights-wise back to you, then there's no reason whatsoever to hold the position you are currently- it's just that you need to understand precisely what you're doing, something that's kind of clear to me that you didn't before this aside from the main thread topic.
Comment
Comment