53
submitted 1 year ago* (last edited 1 year ago) by Sucuk@kbin.social to c/nostupidquestions@lemmy.world

I don't know (but wanna learn) programming, but, for example, can't you inspect the code of an app if it's installed?

(yeah this is kind of a stupid question.)

EDIT: Thanks for the clarification, guys!

you are viewing a single comment's thread
view the rest of the comments
[-] fubo@lemmy.world 128 points 1 year ago* (last edited 1 year ago)

No.

First, "open source" doesn't just mean "you can read the source"; it means that you have rights to modify it and make new versions too.

Second, compiled programs (e.g. most programs you run on a phone or a desktop PC) do not have source available for you to read.

[-] Sucuk@kbin.social 31 points 1 year ago

Ah, that makes sense, thanks for clarifying.

[-] losttourist@kbin.social 16 points 1 year ago

It's not a perfect analogy, but a good way to think about it if you're not a programmer is to say "why do we need recipes when we can just buy a product in the store and read the ingredients list".

Just because you know the ingredients, that doesn't mean you know how to put them together in the right order, in the right quantities, and using the correct processes to recreate the finished product.

[-] u202307011927@feddit.de 1 points 1 year ago

If a 5star chef is making a dish, I wouldn't know what they put in it anyways, so I think this analogy still works.

If they would show me the recipe/source code, I probs would be astonished, like "Oh yeah, now I can taste the $(whatever ingredient) in it!", but wouldn't be able to put it together like them

[-] KrokanteBamischijf@feddit.nl 15 points 1 year ago

Going into a little more detail:

There are plenty of ways to do open source, and the differences mostly come down to the license something is published under. Some licenses prohibit redistribution, while others restrict commercial use. One of the more popular permissive licenses is the GNU General Public License (or GPL for short). Which you can read up on over here.

Technically there's nothing stopping you from ignoring the terms of the license agreement and just doing whatever. Think "agreeing to the terms without actually reading them". While the licenses are usually proper grounds for legal action, it depends on the project and the resources associated wether actual legal action is within the realm of possibilities.

When it comes to "everything is open source", you're technically correct in the sense that you can reverse engineer everything and the amount of work you're willing to put in is the only limiting factor. Compiled code and techniques like code obfuscation and encryption will pose barriers, but they will not protect from someone determined to get in. In the same way a door lock will not protect you from someone who brings a blowtorch.

Some code is technically not open source, but is delivered in human-readable form. This is the case for things like websites and scripts in languages like python. Other software is compiled (pre-converted to specific instructions for your processor), and is delivered in binary, which is not particularly human-readable. But with the right tools even binary applications can be "decompiled" and converted into something slightly more closely resembling the original source code.

A great one liner from the YouTube channel Low-level Learning is "everything is open source if you can read assembly".

So, in summary: It depends how you look at it, generally speaking open source means that te source code is available for the public to see and that you're free to submit any suggestions or improvements to the code, no matter who you are. In practise the source code is sometimes visible (out of technical necessity or for troubleshooting purposes) even though the product is not open source, in which case the end user license agreement will likely contain a clause prohibiting you from doing anything with it.

[-] JTskulk@lemmy.world 1 points 1 year ago

Open source means you can read the source, Free software means you can modify and redistribute.

[-] fubo@lemmy.world 1 points 1 year ago

Well, no.

The term "open source software" was specifically invented to refer to the same set of software licenses as "free software"; but with a different political angle.

Really. You can look it up.

[-] JTskulk@lemmy.world 2 points 1 year ago

I remember reading the opposite back in the day, that this is why RMS dislikes the term "open source" and prefers "Free software" as more descriptive. Open source refers to software where you can read the source, but the license it's under does not necessarily gaurantee freedom to the user.

[-] fubo@lemmy.world 1 points 1 year ago

The people who coined the term "open source software" disagree, though. They're allowed to be right about the use of their own term.

(And extensionally, the set of software licenses accepted as "open source" by the "open source" people, and the set accepted as "free software" by the "free software" people, are the same set of licenses. Both agree that Microsoft "Shared Source" is not in this set, for example.)

[-] JTskulk@lemmy.world 1 points 1 year ago

I'll take your word for it :)

this post was submitted on 27 Jul 2023
53 points (77.3% liked)

No Stupid Questions

35702 readers
2335 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS