Closed source repls

Close Source

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.

Developer, DistantShadows.

2 Likes

Welcome to the community, @DistantShadows! We already have that feature, it’s just paid.

3 Likes

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.

3 Likes

IIRC you can still give out the domain for private repl’s…

1 Like

IE: Replit

1 Like

For private repls even with the link you will not be able to access it.

2 Likes

This repl is private (i think) and you can still go to it: Replit

1 Like

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.

1 Like

This would be for no website repls. Like for a python program etc…

2 Likes

repeteadly slaps forehead

1 Like

Also wanted to thank you for saying hi. :smiley:

2 Likes

Just changed the main content to what I said here

1 Like

Idea: make a sign-in auth so that if a user isn’t the creator they can’t access the web output.

1 Like

Implement that yourself if you want it… Should be easy to do with an expressjs middleware.

1 Like

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.


Also…

their*

3 Likes

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.

This was soooooo long ago…

That could easily be bypassed (e.g. stopping a repl, then looking at files using cat)

2 Likes

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?

1 Like