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!

  • @[email protected]
    link
    fedilink
    128
    edit-2
    11 months 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.

    • SucukOP
      link
      fedilink
      3111 months ago

      Ah, that makes sense, thanks for clarifying.

      • losttourist
        link
        fedilink
        1611 months 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.

        • TheLemming
          link
          fedilink
          111 months 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

      • @[email protected]
        link
        fedilink
        1511 months 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.

    • @[email protected]
      link
      fedilink
      111 months ago

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

      • @[email protected]
        link
        fedilink
        111 months 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.

        • @[email protected]
          link
          fedilink
          English
          211 months 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.

          • @[email protected]
            link
            fedilink
            111 months 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.)