1

I've found the following part on gnu.org (https://www.gnu.org/philosophy/open-source-misses-the-point.en.html):

However, the obvious meaning for the expression “open source software” is “You can look at the source code.” Indeed, most people seem to misunderstand “open source software” that way. (The clear term for that meaning is “source available.”)

They justify it as follows:

Why do people misunderstand it that way? Because that is the natural meaning of the words “open source.”

When I tried to search what a natural meaning is, I found an article that I don't fully understand. It is https://www.open.edu/openlearn/history-the-arts/philosophy/language-and-thought-introducing-representation/content-section-2.3 and it first states that a natural meaning can't lie just after showing an example where it can (the spots can be fake) and later states that it can be 4 things, including being an evidence of that, although probably any meaning can be evidence (maybe someone concluded you have measles and wrote it, but for some reason had to do so using spots). So I don't understand that.

If I had to guess what “open source” meant, I would probably go with the opposite: it's ‛ready to accept changes into the source code’ (compare open-minded). Similarly, if I had to guess what free (as in freedom) software was, I would probably go with the opposite of what it actually means: I would think it means that the software (or its developer) has the freedoms (so the co-processor firmware is free in this sense) while it actually means that the users are free (or, as someone put it, “if the product is free, you're the product”).

4
  • 1
    No - "open source" isn't like "open-minded" (amenable to change), It's like "an open secret" or "open to the public" (known / visible / accessible to all). Feb 10 at 18:15
  • Or "open book", "open curtains", "open hearted", all of which let you see inside.
    – Stuart F
    Feb 10 at 22:22
  • 1
    A natural meaning is a meaning that isn't contrived, artificial, or specially constructed for some new purpose. This is just normal meanings of words, not philosophy.
    – Stuart F
    Feb 10 at 22:24
  • @StuartF Why do they seem to imply that ‘providing freedoms’ a “natural” meaning of “free” while ‘having freedoms’ isn't later in that article?
    – Orisphera
    Feb 11 at 18:27

1 Answer 1

1

Why is the obvious meaning of “open source” ‛source-available’?

(Not sure this is on-topic but I don't see which stack you could use, perhaps SO).

Answer

Open in this context can be compared with open book: "My life is an open book. I have nothing to hide" and with to open up which means to make plain or visible, to disclose. There is nothing particular in this use of open.

Open-source means the source code (see below for an explanation) is disclosed, accessible for study, reuse, improvement, etc. Usually the software is free — free like a free beer as the expression goes, and the user is free to reuse it — free like in freedom.

The user is still bound by a license limiting or prohibiting certain uses. There are many standard licenses, of which the GNU license you mention.

The source code reveals the design of the program and discloses the added-value of the development team. Usually intellectual property is protected by software makers by keeping the source code confidential.

While releasing a source is one thing by itself, often this source is released using common tools, including the required collaborative environment to submit and control corrections, changes and improvements. The prominent platform in this category is Github, now part of Microsoft, using the associated version control tool git.

Additional details below are just to explain the technical context of programming, for interested persons.


Source code vs. executable code

Software is most of the time written using instructions from common high-level programming languages like C++ or Python. Instructions are then converted using a specific program into low-level CPU instructions which are executable by the targeted system (which is built around a specific microprocessor family and operating system).

This low-level code is the only one the system can understand. It must be provided to the user, thus it must be disclosed. However instructions are so low-level they are usually helpless for reconstructing the high-level program, and therefore this high-level code is virtually undisclosed. This is what commercial software makers (and often also individual developers) want to protect their intellectual property.

  • The high-level program is the source code (or the source). It contains the overall logic, providing a good understanding of what the program does, and how. For example the logic required to efficiently sort a list may be understood looking at ten instructions. This knowledge may help another developer trying to solve the same problem.
  • The low-level program is the executable code (or machine code). It is nearly impossible to understand the program design by studying this code. It contains only basic steps, several thousands, like adding two numbers, but the intent of this assembly is not visible.
1
  • Sometimes a web-based software may be provided under a "closed license", but for self-hosting. In such a case user can read and can (physically, not legally) modify its source code
    – elluser
    Feb 10 at 19:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .