12

Suppose I wrote a commercial program, and I publish its complete source code on my website. I retain all rights to the source code. No one gets any distribution or usage rights. They only have the right to look at the source code. My question is: can my program be considered "open source"? I mean, the source code is publicly available, in stark contrast to all the commercial software out there whose source code is not publicly available.

From my understanding, the source code of PGP used to be available for anyone to download. PGP is not free software. The source code was published by Symantec to facilitate peer review. Can PGP be considered open source software?

Note that I am not talking about source code leaks. I am talking about the case where source code is published by the copyright owner without granting anyone any distribution and usage rights.

7
  • 3
    @curiousdannii I don't think that's an equivalent question (yet related) – planetmaker Nov 25 '20 at 14:04
  • 1
    The source code of Windows is published and only require you agree to an NDA to view it. – slebetman Nov 26 '20 at 5:37
  • The usual developer criteria is "Can I modify this and run the modified program?". If not, then it doesn't really matter except for helping debugging etc. – Thorbjørn Ravn Andersen Nov 26 '20 at 9:01
  • 4
    The term you're looking for is "source-available" – user11153 Nov 27 '20 at 10:12
  • 2
    Unfortunately you're asking for a definition but I think the only real answer is that "It depends on your definition!". The Oxford dictionary doesn't require to be free to use, the Cambridge dictionary does, Mirriam Webster says the code must be freely available, but doesn't mention free to use. The OSI have a different view... – JeffUK Nov 27 '20 at 16:48
34

No, of course it is NOT open-source.

The generally-accepted definition of open-source is the one by the OSI.

The list on the linked site of the OSI is a bit more verbose and fleshed-out, but the important part is: For a software to be allowed to be called open-source it needs some form of (ideally OSI-approved) license which grants the users right to use the source for whatever purpose, to modify it and distribute modified copies of the source and the resulting binaries.

The scenario you describe is not open-source, but best described euphemistically as "source available", "open core", or similar, depending on how exactly employed. There are companies which allow you access to their source under NDA and when you pay (e.g. atlassian), but that doesn't grant you any further rights either.

8
  • 17
    In plain English open-source is opposite to closed-source. OSI tries to modify the plain English definition. Whether one subscribes to it or not, is a personal choice. It's okay to say that your software is open-source even if it does not comply with the OSI definition. When asked to clarify, make it clear that it's the common sense definition, and not the one devised by OSI. – Andrew Savinykh Nov 26 '20 at 7:37
  • 34
    @AndrewSavinykh As a developer I would feel that you were using the term inappropriately, and that you were trying to ride on the OSI definition without actually being it. Trickery in other words. – Thorbjørn Ravn Andersen Nov 26 '20 at 9:03
  • 4
    This used to be called "Open Source" at one time (1980s and possibly 1990s), necessitating the term "Free and Open Source" for software you could read and which came with the freedoms we now expect. – Toby Speight Nov 26 '20 at 12:58
  • 4
    @TobySpeight I believe the term "Free" WRT software licensing is generally used for copyleft licenses, which add constraints to how your users may edit/distribute the software. "Open" is generally used for both copyleft and permissive open source licenses. E.g., MIT licensed software is "open source", and GPL licensed software is both "free software" and "open source". – Greg Schmit Nov 26 '20 at 19:04
  • 5
    @TobySpeight "free and open source" is simply used to try to quiet arguments about "free software" vs. "open source software. In particular, Richard Stallman, who does not like the term "open source." E.g. "A: p1, p2 and p3 are open source. B: No no no, p2 is free software! A: OK, let's just agree to call them all collectively free and open source software." – Brandin Nov 27 '20 at 11:00
6

Can PGP be considered open source software?

No. It is a commercial proprietary licensed software. Even PGP Corporation doesn't claim it is open source software.

On the other hand GNU Privacy Guard (abbreviated GnuPG or GPG) which could be described as the FSF's implementation of the OpenPGP specification is definitely open source and has a GPLv3 license.

0

Yes, it is open source. It is not free, but it IS open source. Such distinctions have been noted for decades. Just because OSI says one thing has NO bearing on the literal meaning. Some people here claim the "popular" definition of open source is not met by the condition you specify, but such people are willfully deciding what SUB-population decides what is popular. Sorry, but PLENTY of people have an interest in understanding or auditing code without modifying it, publishing it, or using it. Just because those people are ignored by a lot of folks responding here does not eliminate the usefulness of literal open source software that you cannot reproduce but nonetheless you can read. For example, take voting machines. If you could read voting machine code, you could learn to trust it. That is a VERY critical issue, certainly not trivial. And if the voting machine code were openly shared, despite any strong protections, then it would be OPEN SOURCE. My phone backup software from Samsung is not published. It is not open source. If they published it - if it was open source - I would be able to figure out the format of the data. With that, I could selectively access the data for backup retrieval without needing to modify, sell, or even reuse their code. I could care less if that is not enough for someone else who DOES want to modify or borrow their code. If I had such open source from Samsung, I would be THRILLED. It would still be useful and still be OPEN SOURCE.

1
  • 2
    On this site, the community consensus is that the term "open source" refers to the OSI definition of it. – Bart van Ingen Schenau Nov 28 '20 at 14:04
-2

In my opinion, if the source code is available but can only be legally used for testing or auditing purposes then yes it is open source, but it is NOT free software. This is basically the position that the Free Software Foundation has promoted ever since the term "open source" was coined. Their essay on the topic might be a little dated because today (as seen on this site) the popular definition of open source is essentially the same as the definition of Free Software given by the FSF, but it's still the position of the FSF:

The official definition of “open source software” (which is published by the Open Source Initiative and is too long to include here) was derived indirectly from our criteria for free software. It is not the same; it is a little looser in some respects. Nonetheless, their definition agrees with our definition in most cases. However, the obvious meaning for the expression “open source software”—and the one most people seem to think it means—is “You can look at the source code.” That criterion is much weaker than the free software definition, much weaker also than the official definition of open source. It includes many programs that are neither free nor open source. Since the obvious meaning for “open source” is not the meaning that its advocates intend, the result is that most people misunderstand the term.

One of the biggest reasons to have source code available is to ensure that the software can be audited to ensure it doesn't have any security flaws or back doors.

The FSF and their GPL license is more about ensuring that a developer or a software corporation cannot profit from software by using a license and secret source code to ensure that the software cannot be copied and used or modified by someone else for free. So in their opinion any license that prevents someone from taking software and using it for themselves for free with full developer privileges is bad, and it isn't worthy of even being called open source, even if it is open source.

5
  • 8
    This is potentially misleading to the OP. There is a definition of "open source" already that has been in widespread use for the past 20 years, as explained by @planetmaker – trafalmadorian Nov 27 '20 at 0:29
  • 2
    @trafalmadorian This answer should be upvoted instead of down, because the point it makes has been (as far as I know) continuously been the position of the FSF ever since the term "open source" was coined as an alternative to the term "free software" which FSF has been promoting for far longer than that. On a political level it makes sense that it is being downvoted on a site devoted to free software which calls itself "open source", but on an academical level, according to SE's own up/down vote policies, it's not correct to downvote it. – Nobody Nov 27 '20 at 14:02
  • 2
    @trafalmadorian Thanks for putting all that work in to the edit. When people hear open source, many immediately think that the source can be obtained by anyone to view, and one of the the most promoted advantages if this is the security benefit of being able to audit the software. Whether or not the source code can be legally used for free in another project doesn't really concern the average user. So the FSF is correct to promote the use of the phrase "Free software", where free means freedom to use and modify. – Alex Cannon Nov 27 '20 at 15:18
  • 3
    I think this answer presents a position that is more strict than the FSF's. Whereas the linked article on the FSF's position says, "Please don't use 'open source' because there are competing definitions," this answer presents a single definition that differs from the OSI's (i.e., your opening sentence unequivocally says "it is open source"). – apsillers Nov 27 '20 at 17:49
  • @apsillers The answer is presenting a misrepresentation of widely accepted definitions of "open source", which for the most part involve granting users the right to reuse, modify and distribute modifications to software. OP explicitly does not wish to grant grant any of these rights. For this particular answer to suggest that the OP is releasing "open source" is erroneous. Also worth noting that a lot of licenses are GPL-compatible: gnu.org/licenses/license-list.en.html – trafalmadorian Nov 30 '20 at 14:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.