Search Unity

How to 'protect' your scripts

Discussion in 'General Discussion' started by alexanderameye, Jun 26, 2017.

  1. alexanderameye

    alexanderameye

    Joined:
    Nov 27, 2013
    Posts:
    1,383
    Is there a way I can protect my code that I put on the asset store?

    For example I found this on top of a script:

    Code (CSharp):
    1. // ===============================================================================================
    2. //    The MIT License (MIT) for UnityFBXExporter
    3. //
    4. //  UnityFBXExporter was created for Building Crafter (http://u3d.as/ovC) a tool to rapidly
    5. //    create high quality buildings right in Unity with no need to use 3D modeling programs.
    6. //
    7. //  Copyright (c) 2016 | 8Bit Goose Games, Inc.
    8. //
    9. //    Permission is hereby granted, free of charge, to any person obtaining a copy
    10. //    of this software and associated documentation files (the "Software"), to deal
    11. //    in the Software without restriction, including without limitation the rights
    12. //    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    13. //    of the Software, and to permit persons to whom the Software is furnished to do so,
    14. //    subject to the following conditions:
    15. //
    16. //    The above copyright notice and this permission notice shall be included in all
    17. //    copies or substantial portions of the Software.
    18. //
    19. //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    20. //    INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    21. //    PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    22. //    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    23. //    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
    24. //    OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    25. //
    26. // ===============================================================================================
    Is something like this legally enforceable, and what should I put on top of my scripts?

    I just want people to know that I am the author and that distribution in any form is not allowed. Are there any pre-made texts I can find online that will legally protect my script?

    Alex
     
  2. QFSW

    QFSW

    Joined:
    Mar 24, 2015
    Posts:
    2,906
    Standard asset store EULA forbids distribution meaning that's by default already enforced; if I recall correctly (big if) you can't just add your own custom licenses here and there meaning you wouldn't be allowed to put the MIT licensing at the top of your code.
     
    TonyLi, Socrates and Martin_H like this.
  3. alexanderameye

    alexanderameye

    Joined:
    Nov 27, 2013
    Posts:
    1,383
    So if I don't want people to distribute my code I put on the asset store, I don't really have to do anything? That's cool!
     
    Martin_H likes this.
  4. QFSW

    QFSW

    Joined:
    Mar 24, 2015
    Posts:
    2,906
    Yep
     
    alexanderameye likes this.
  5. JustColorado

    JustColorado

    Joined:
    Dec 19, 2012
    Posts:
    89
    I found this thread while looking for where to put the copyright info.
    I know this has already been answered. But nobody addressed the answer to
    the original question of what the right template to use is.

    According to the answers,
    The developers IP is legally protected from a legitimate purchase on the unity asset store.

    But, it is entirely possible that the developer script ends up somehow accidentally or intentionally on Github,
    a forum, a torrent or anywhere. Now the user clearly violated Unity's terms by uploading it there. But
    the user might have been a 13 year old schoolkid who just made a mistake. However the person who finds it online is not using Unity asset store, and I am not sure if he is under any obligation to abide by their terms. He is bound to the terms of wherever he found them. So I think it would be nice to include a notice on the file.


    You mentioned your goal was :

    I just want people to know that I am the author and that distribution in any form is not allowed. Are there any pre-made texts I can find online that will legally protect my script?

    I think MIT license would not accomplish what you want to achieve. And placing that notice is likely to weaken any copyright position that you have.

    MIT License to me looks like it is saying do whatever the hell you want with this code for any reason, copy it, modify it, resell it, almost anything goes. The only rule is that this is yours as long as you leave this notice in for the next guy also. but the notice only applies to this portion of project. (your code)

    So I understand this to mean that this notice on your code protects everything in the project except your code. Your code just became open source. How would 2 lawyers and a Judge would interperet this if it ever went to court? Nobody can say. But it certainly wouldn't help an argument on why your code should be protected. And I would feel better with a notice.

    Does anybody knows of a copyright notice that would re-iterate the authors copyright position while still complying with Unity Asset store terms?
     
  6. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    The MIT license in the OP is normally included when some portion of the asset is open source. You are free to include it and sell it, but anyone else is also free to include and sell it. This notice doesn't provide any copyright protection, in fact quite the opposite, it enforces copyleft.
     
  7. JustColorado

    JustColorado

    Joined:
    Dec 19, 2012
    Posts:
    89
    Yes exactly. But what is the right notice template. Something that basically says:

    Whoever paid for a license has the right to use this to make as many games as they want. But they can't resell it as an asset package. And need to comply with Unity terms.

    Whoever did not pay for it. has absolutely no right to do anything with this at all.
     
  8. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    That is already what the Unity license says. You do not need any specific legal template to inform people of what has already been agreed to. If you really want, you could include a link to the actual asset store license page, but someone can just delete that if they were going to violate your copyright anyway.

    DMCA Takedown Notice procedure (or equivalent in your country) is how you'd start the process of resolving any copyright infringement that does occur.
     
  9. JustColorado

    JustColorado

    Joined:
    Dec 19, 2012
    Posts:
    89
    I agree with your point about an additional notice not really required for the guy who agreed. But I prefer to put a redundant notice on my work. Because if a user accidentally puts the script on github with his school project, and then someone else downloaded it from Github who never agreed to Unity's terms regarding that asset, and has no idea where the authors code came from. What are the responsibilities of that other user?

    About removing the notice. I am not a lawyer but I think if someone willfully deletes a copyright notice and then intentionally violates it, and this fact comes out as evidence in a court trial. I think that evidence would strengthen the authors argument to the Judge. Or whoever evaluates these DMCA takedown notices.

    Probably, this would never go to court. And could be straightened out with just a letter. There are a lot of tools out there for decompiling binaries. And if everything in the script is there, yet the copyright notice is missing, or it is there but ignored and a letter was written demonstrating this. It would make matters very clear to the other side that they are in the wrong and likely to lose a legal fight. And that there is a substantial legal risk of not making matters right with the author.

    I was hoping there was something other than Unity's notice. But, in the absense of that that, I think your suggestion is a better solution grants the author a better legal position than no notice at all.
     
    Last edited: Dec 11, 2018
  10. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    If you really want you can include a link to the Unity Asset store EULA in the top of each script. It might be a waste of time though.

    From a legal standpoint, protecting code is really difficult. First you have to detect the infraction. Then you have to prove that they indeed copied your work, and didn't come to the same solution independently. Then you have to prove that they copied the creative expression in your code, and not just the technique. Then you have to prove that their infringement had an impact on your business. After that you have to find a lawyer willing to take your case, and a court willing to hear it.
     
  11. JustColorado

    JustColorado

    Joined:
    Dec 19, 2012
    Posts:
    89
    I agree. And to make matters worse, I think that Unity does not even tell the asset store vendor exactly who bought it. Like if you saw what was definitely your asset, how do you know if they bought it?

    So far I have released a bunch of stuff on Github and OGA as pure open source CC0 or Apache License, and I don't care who copies it. For me it is a great honor, when I find my hard work ended up being used in other projects.

    But if I finish one month of slaving over something I wanted to be commercial and then put it out there, it just feels better to have it there. I am not concerned about the game devs or even about the money. But it would infuriate me to no end if someone tried to pass it off as their work, and sell it on some marketplace as an asset.

    I have read vendors accusing each other of this before in the comments. So I am guessing it happens.
     
    Last edited: Dec 11, 2018