this post was submitted on 05 Apr 2024
58 points (96.8% liked)
Explain Like I'm Five
14416 readers
158 users here now
Simplifying Complexity, One Answer at a Time!
Rules
- Be respectful and inclusive.
- No harassment, hate speech, or trolling.
- Engage in constructive discussions.
- Share relevant content.
- Follow guidelines and moderators' instructions.
- Use appropriate language and tone.
- Report violations.
- Foster a continuous learning environment.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
However companies do other things as well.
Companies sometimes purposefully compress and obfuscate their code to make it hard to unpack. This happens a lot on the web where a website might have code sent to your machine in a format which could have been legible. But before they send it to you, they run the code through a program which adds extra steps, renames things, and reorders things and removes extra spaces... all to make it hard to read.
Some companies will encrypt their code or programs to varying degrees. Some will do it at the storage level, such as DRM or modern disk-based videogames. The data in these games is "locked" behind passwords and keys which can only work if the program "calls home" to Steam or Xbox or whatever and those providers let the game be opened. It's more complicated than this but that's the basics.
A lot of companies have moved their code "into the cloud". That means, instead of giving you a full piece of software, you only get the front-end, or the pictures and words you see on screen. The actual program lives on the company's servers which you don' have access to. You only get to send those servers inputs, and they return outputs back to your screen.
Companies can make their code secret from internal developers by breaking programs up into smaller pieces. Say you're a developer at Apple. You might be assigned on the specific part of the system which opens apps from the home screen and may only get access to that part of the system so if your development machine gets hacked, the hackers don't know ALL the inner workings of iOS.
I'm sure there are more ways but this is a start.