Hey guys, I do mainly UEFN and Verse commissions for people in the community. I was wondering if there is a way I can encrypt or obfuscate my code so people can’t just turn around and sell the work I’ve done as their own? I’d really appreciate someone chiming in if they know a solution. I try and give fair prices on my commissions, but the fact that someone can turnaround and sell it themselves really causes issues for my business model.
this will depend on the license you put your work out with, but will mostly boil down to DMCA, or your regional equivalent; technically if you are in the US or not, DMCA can effect US entities requirement to defend you work under the Safe Harbor Provision. This is not absolute, and may still require a legal suit.
as for code obfuscation the short answer is “technically” but realistically that is a constraint of the language, for example C# can be directly de-compiled with the proper symbols Libraries but this is mostly because it is JIT Object Code. you can lose names of variables, but everything else is fully intact.
C++ because it goes to compiled binaries and the optimizations will often try to directly inject asm if possible, it is “possible” to reverse engineer, but it takes some work, and it turns out it is easier to get the comments then it is to get variable names of things the Linter steps rip out for “optimization”, so they can get random nonsense strings and the types with a comment “user should be 5”. the first de=compilers for C++ didn’t come around until the mid 2000s and they were often hilariously questionable on the outputs, needing quite a bit of time for a skilled programmer to work through its output.
given what I can find of Verse being a “compiled language” it is probably more like the C++ situation, it will just be someone with enough time, energy, and understanding to make the de-compilation tool, and then if the tool will be worth anything to use the output.
but it comes down to proving “they took your code” we put copyright notices, but those are the hole in the pocket not a smoking gun, you have to either de-compile their work youself, or you have to subpoena their code-repository. the US courts have kind of ruled that “game mechanics do not fall directly under copyright” and “copy right is about defending the expression patent is about defending the usage” which is why no one owns the rights to the word “the”, or conversation systems.
the art assets for an Unreal Engine application are realistically the most defensible portion there is a “third party tool” that allows for their direct extraction to universal file types. and technically when it comes to games the art assets themselves are far more provable for theft then the programming/code. But these are arguments for the courts, not really the “court of public opinion”
when it comes to ‘I don’t like the idea of someone just taking my code’ this is mostly a “world view” thing not just on how you view code and your work, but also how you view what like a programmer is.
- if a programmer is an artist that puts their time, effort, and passion into everything they do, and every line a masterpiece, we are putting together defined language constructs in sometimes very novel ways, and sometimes we are truly “breaking new ground” but it is also possible for someone to come along not even see your code directly, but break it down to its smaller parts and either re-create it directly without directly “copying”, or maybe make it work “better” by taking different steps and trade offs
- if a programmer is a glorified problem solver that wants to break very large problems into tiny chunks and figure out how to solve a much larger problem, these people often undervalue the amount of effort they put into any one thing, and sometimes the worst part of this mentality is “everything can be fixed/accomplished if I just put more effort into it” these people often burn out harder or get trapped in near death spirals, and not knowing when to ‘walk away’ from a problem they are sure they “can solve.” They are also the most likely to seek out “big problems” and hate the small “simple” stuff.