I’m curious, obfuscation is something that Roblox does not allow, do you believe Roblox should allow creators to obfuscate code and do you think creators should be obfuscating code?
In software development, obfuscation is the act of creating source or machine code that is difficult for humans or computers to understand.
Please don’t hesitate to share your opinions below and why you think this way!
Hey! That’s an interesting question … I believe that Roblox should amend the rules around obfuscation and allow products to be obfuscated based on their complexity and effort.
In general, I don’t believe it’s a good idea to obfuscate code in Roblox because, even now, it’s hard to tell which Toolbox models are legit and which ones have backdoors in them.
If some simple product were obfuscated (such as overheads, scripts using APIs, fancy UI animation scripts, datastore scripts, etc) it would make it hard for the user to understand and learn the code and instead they’d simply opt-in to use the code without checking its contents properly and fundamentally understanding it.
However, I believe that some products should be obfuscated if they’re complex enough, or meet certain requirements, such as admin panels with scripts that would otherwise expose sensitive information (eg. game secrets) if not obfuscated.
So, I believe that Roblox should clarify what is exactly meant by “obfuscation” and that they should amend some of the rules around it, as lots of products nowadays are just becoming more complicated and, therefore, there’s a greater desire to obfuscate parts of one’s code.
For:
I agree with it sometimes because it can be used to prevent users from distributing products/items that aren’t theirs. For example we will go with JSM SCO’s. They obfuscate them to prevent users from having them in-game without a whitelist ( How they make income from it ). I totally agree with that making sure that their assets are protected. If a company is trusted they will more than likely be trusted with obfuscated code more than random companies trusting to give them “Cracked whitelist” versions of products. ( With a side of a random require script )
Against:
Some companies may use their whitelists to gain authority over certain users where products are in their games. Such as a recent example a post was made against DRS on the Roblox DevForum. DRS blacklists certain users from using their products these blacklists work in any game their products are in. Such as if your blacklisted you cannot join any games with DRS in its basically a restriction. Another way obfuscated code can be malicious is by them hiding require scripts in them / http requests to grab backdoors to your game and exploits.
Overall, obfuscation is a decent thing and can help you to prevent users from stealing your assets. But of course with Roblox not everything can be perfect and some users use them in the wrong way to gain access to your game. I’d probably say its a good thing overall though.
I pretty much agree with @OH20_rbLX on this, simple items shouldn’t be obfuscated and complex should be.
To be fair it’s actually quite a grey space on weather you’re allowed to use obfuscated code, I presume(not advise) that you can distribute roblox software with obfuscated code, but not upload it to the toolbox.
I remember a while back that the upload menu on Roblox said that any obfuscated programs could be removed, but then again if you look at the Roblox rules it doesn’t say that you can’t purely uploaded obfuscated code BUT:
Uploading content that contains obfuscated code or hidden scripts that mislead end users or create disruptive experiences for them
So I’m guessing if you upload content with obfuscated code that doesn’t mislead users or create a disruptive item you could be okay? Who knows…
I think that the best way to go around it, that’s not to complex is that free items that are uploaded to the toolbox should not be obfuscated, but code that is paid for and or is uploaded to the toolbox can be obfuscated (just to prevent people from stealing your licensed items).
Because if someone is purchasing a paid product, they should know about the risks the product could have. This is comparable to how food companies need to declare food allergens on their products before you purchase. Consumers should be empowered to know the risks associated with using the product(s) they are considering purchasing.