Announcement

Collapse
No announcement yet.

Put the wish list for porting projects HERE...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by Dragonlord View Post
    As the original author I'm allowed to put my work under as many licenses as I see fit. So the idea is to place it under GPL. Then for required applications where this does not work additional, more restrictive licenses can be done. The customer can then pick the license he wants to use. This way all people have access to the engine in GPL no matter if it is used in a closed form. After all the basic design is that nobody else than the engine development team has to touch the engine code. All the magic happens inside the modules which the player chooses not the game designer. Hence you can use the engine as GPL while still doing a closed license game with it. Reason is that you do not link against the engine library itself ( which would require you to GPL yourself ) but you are run by a launcher. The launcher is GPL but the game content he runs can be closed. I made this extra layer in between to avoid these problems. Another topic though are closed source modules with the GPL engine. I want to allow this too since this way hardware manufactures could also participate in the game market in that they can sell own engine modules. Players are free to choose free modules or closed modules ( as is with nVidia/ATI drivers for example ). Here though the problem is that module do have to link against the engine as else they can not resolve the symbols they need. I don't know how exactly this situation ( GPL => dlopens module(closed => links to engine(GPL)) ) is handled by the GPL license. To my understanding a safe bet would be to provide an additional LGPL license since this one should allow this situation for sure. That said I never contacted anybody at the FSF yet. I have also no idea if I would have better luck getting an answer out of them. This might sound now a bit harsh but while I'm for the FSF as a guardian over the GPL they can be rather... particular ( see some of their page contents about what should happen in informatics regarding openedess/closedness ). But I guess the GPL is more violated nowadays than one might think. After all it's a rather large license if you want to live up to it in it's entirety.
    Based on my understanding of things, you've already got an issue that would be better served by LGPLing the lot. The modules would HAVE to be GPLed with your engine, period. LGPL allows linkage to closed stuff so long as YOU and the suppliers of the closed stuff don't prohibit RE work against the closed parts and honor the terms of the LGPL, which would be anything in the LGPLed innards getting changed would require source code and means to produce.

    Comment


    • 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 Post
        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.
        They have a GPL wrapper that handles everything needed to talk to the chip directly. Most of the needed talking to the chip is handled by closed driver pieces up in userland via known exported edges. If you have ANY edges that're Linux specific in your blob, you don't get the exemption and you lose and have to ship GPL or not at all. In your case, I strongly suspect you don't have that luxury. The kernel's a special case and there's a tapdance around the problem you won't have available to you.

        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 Post
            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.
            Unfortunately for the engine and the community that you hope to have revolving around it, only YOU could distribute it. Anyone else would be very guilty of infringement because they'd be unlicensed the moment the closed modules got into the mix.

            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


            • Or consider using a license like the BSD with no advertising clause.

              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 Post
                  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?
                  I dont see a minefield anywhere. Someone does?

                  Comment


                  • Originally posted by Svartalf View Post
                    Heh... 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...
                    The 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)

                    Comment


                    • Originally posted by jonwil View Post
                      The 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)
                      There's the minefield if you use GPL licensing for the engine...

                      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

                      Working...
                      X