Announcement

Collapse
No announcement yet.

GPL and Uscript code

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

    GPL and Uscript code

    I registered an account on code.google.com and one of the things you have to select is the license that you are releasing your code over.

    I picked GPL v3, but I'm not sure if it's legal for me to release mutator code, gametype code etc under this license as it is technically still Epics IP.

    I don't want to step on toes or cause any trouble, so I'm wondering if anyone knows what would be the proper way to do this.

    You can register a free code.google.com account with a gmail account, when doing so you are given a large list of licenses, maybe someone from epic can answer which one would be the best to start a project under.

    #2
    I don't think that it's a problem. It would be like saying you may not make open source applications for Windows, as Windows itself is closed source.

    Comment


      #3
      I wouldn't use GNU GPL, the GNU LGPL would be safe.
      it's not very clear when it comes to reuse Epic's assets.

      of course you could simply use a modified GPL where you explicitly state that linking to and reusing UT3 content is allowed

      Comment


        #4
        There are issues with GPL v3 in my opinion, and would recommend away from it (binding to code probably falls under Fair Use, and no licence can legally negate that - this is untested in court though). Legal issues aside, GPL v3 probably means people can't make mutators or mods to work with you mutators and mods without their code being forced under GPL v3 as well, so you'll have to consider if that is what you want. I would recommend either the LGPL or the MIT license. I am not a lawyer though, so take that as you will.

        Comment


          #5
          Only derivatives need to use the same license. And that's usually exactly what you want.
          Linking with GPL stuff only requires a compatible license.

          I doubt binding falls under fair use. Also, UT3 is substantially more work than what you're using.

          Comment


            #6
            1. You can't do it. It violates Epic's copyright.

            Code:
            * Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
            "All Rights Reserved" means just that.

            2. The GPL itself explicitly forbids you to use the GPL on something which claims copyright restrictions that are incompatible with the GPL. If you do, the GPL is null and void. http://www.gnu.org/licenses/gpl-faq.html

            Sorry, you can't slap a GPL on that

            Comment


              #7
              Originally posted by elmuerte View Post
              Only derivatives need to use the same license. And that's usually exactly what you want.
              Linking with GPL stuff only requires a compatible license.

              I doubt binding falls under fair use. Also, UT3 is substantially more work than what you're using.
              Sorry, not fair use. Been a while since I've looked into this stuff. It's about what defines a derivative work, and whether merely binding to a library qualifies something as being a derivative work of that library. From memory Linus wrote a bit about this. Anyhow, I'm not really interested in arguing about this or anything, so if you disagree then I cede.

              Originally posted by CaptainSnarf View Post
              1. You can't do it. It violates Epic's copyright.
              Please reference what gives Epic copyright over code other people write. Because it certainly doesn't state anything to that effect in the EULA.

              Comment


                #8
                Originally posted by immortius View Post
                Please reference what gives Epic copyright over code other people write. Because it certainly doesn't state anything to that effect in the EULA.
                IANAL, so take with grain of salt....

                You cannot create a derivative work of the unreal script source as it is released because the copyright explicitly states "All Rights Reserved." It has nothing to do with the EULA. It has to do with copyright law. You cannot take Actor.uc and make a new GNUActor.uc and put it under the GPL. Just as the GPL says what you can and can't do with derivative works, the original copyright for the source says "All Rights Reserved" which by default means no derivative works at all are allowed. Epic giving you the source is different than Epic giving you the copyright for the source.

                I'm sure there is somewhere in the Epic docs for modders that clears this up... anybody know where it is?

                Comment


                  #9
                  Code:
                  class GNUActor extends Actor;
                  You're telling me that Epic has the copyright of the above code?

                  Comment


                    #10
                    Yes, obviously you can not release the stock UnrealScript code under GPL as that does violate the copyright of it, but that's not the question or issue here. What's being asked is if new code that a modder writes can be released under a license such as GPL.

                    Due to the way UnrealScript works, I don't know if inheritence would count as a "derivitive work", but to release the source code to a mod created with 100% own written code you don't need to distribute any Epic copyrighted code and they don't own copyright over code modders write, so I don't expect there would be any problems using such a license for such a mod.

                    Comment


                      #11
                      It's not a derivative work if you write a class that extends an existing one; the original source is not included. It's a fresh work, and can be distributed using the GPL.

                      Otherwise, you wouldn't be able to write any code that used any library (such as DirectX, or even standard libraries), without it counting as a derivative work.

                      Comment


                        #12
                        Originally posted by Jrubzjeknf View Post
                        Code:
                        class GNUActor extends Actor;
                        You're telling me that Epic has the copyright of the above code?
                        No.

                        What they do have copyright over is any code in Actor.uc, so don't cut & paste any of it into your GNUActor code. That's all I'm trying to say. Using the base class implementation and copying it's source code into your own are two different things


                        Another example:

                        My modded vehicles package has a new Scorpion vehicle called Rattler. It derives from UTVehicle_Scorpion. The source for that mod is not exactly legal The reason it's not legal is because my derived class I cut & paste code out of Scorpion and Nightshade to make it work. There was no way to make it work without reimplementing some of the derived functionality with new code, so I borrowed from the old code to do it. That borrowing via cut & paste is what made it illegal. If I would have just started with a blank text file beginning with
                        Code:
                          class UTVehicle_Rattler extends UTVehicle_Scorpion;
                        then I wouldn't have a copyright problem.

                        Comment


                          #13
                          But what extent of copy/pasting makes your code "not exactly legal"? There's a considerable grey area there. Suppose I were to copy/paste a single defaultproperty rather than type it in myself... I doubt Epic holds copyright over the phrase HoverSoftness=0.1. What about a large block of defaultproperties? What about super.Tick(deltaTime);? What about a large algorithm?

                          Comment


                            #14
                            A more important question to ask: will Epic ever care if I copy a bit of code and put it under GPL license? We're not talking about copying complete original source code here anyway.

                            Comment


                              #15
                              I'm pretty sure using code owned by someone else on a non-gpl compatible license directly in GPL code is a breech of the GPL license, let alone Epic's licensing.

                              Comment

                              Working...
                              X