Again I want to restate what this is about and what it will do to the community as a whole.
Key Points:
Allowing creators to hide there code from view (Requires a mod to review code first)
Allowing creators to disable the Fork function
Allowing creators to take down exact clones of there code (More in depth later…)
Increasing the amount of paid memberships on the platform (A subscription based model)
Hiding Code
You might ask yourself well can’t I already hide code? Some users may have the knowledge to obfuscate there programs but 90% of the time that same program can be deobfuscated. Hiding code will REMOVE the button that allows you to see inside the program and it’s files. And project that has this enabled will have to be reviewed by a mod to confirm that the is no malicious code.
Disable Forking
This would allow users to configure the FORK button. For example you could have it where whitelisted users are allowed to fork but only get the selected files they need. This would allow creators to share specific parts of there program with others and still keep it somewhat private.
Code Clones
This would allow creators to request replit to take down other repls that copy there code. Here are some of the restrictions
Allowed to be copied
User changes more than 25% of the code with new/original code.
User is using the code for educational purposes (Teaching lessons, etc…)
User has permission from the creator to use part/all of their code
Not allowed to be copied
User has changed less than 25% of the program or nothing at all
User has been asked not to use the code
The code is copyrighted by the creator
The user is using the code to provide them with compensation
Membership
Replit could add this as a paid feature BUT allowing no-subscribers to choose 2-3 of there repls to use this feature. This feature would be equal to or greater than the price of a private repl.
Closing
I personally believe that this would bring more creators to the platform and allow devs to focus on there work instead of worrying about others copying there code. There may be some downsides to this idea but I believe that the good outweighs the bad. If you have any questions I will try and respond to them as soon as I can.
I know that we have the private feature for paid users. But what I would like to see is allowing users to still use the program instead of just hiding the whole thing.
For web-based Repls, just make a blank Repl with the URL to your website. Although the Repl (source code) is private, the website will not be. I’ve seen this and similar things done before.
I kind of disagree with this. Though it would be nice, let’s take a look at Scratch, and why they make every project remixable.
Why does the Scratch Team require that all projects be “remixable”? We believe that remixing other people’s projects is a great way to learn to program and to create interesting projects. Through remixing, creative ideas spread through the Scratch community, and everyone benefits.
“Imitation is not just the sincerest form of flattery, it is the sincerest form of learning.”
- George Bernard Shaw
Though I do think out-right stealing code should be punished.
Originally commented on: Let code be private
This could be implemented with secrets. You could encrypt your code, eventually use Fuse to make editing easier, then decrypt your code at runtime.
Personally, I just embed some vital code in a secret, and then execute the string.
Another idea (that I have not tried yet) is to decrypt the program, as suggested by @PooloverNathan, and then not store the decrypted program, but to run it from memory.
I know, I know, running code from a string is a very bad idea, but in the end what else can I do?