43

According to Google, Open Source is...

denoting software for which the original source code is made freely available and may be redistributed and modified.

It seems to be that the product seems to be available without restrictions to the public, as you can redistribute and modify it at will. It sounds like open source is like throwing something into the public domain?

So is there a difference between works classified as open source, and works in the public domain? What's the difference between the two?

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • 2
    also see opensource.org/faq#public-domain – Pandya Jul 11 '15 at 5:36
  • 1
    @Pandya I'm welcome to additional answers that are candidates for my bounty :) – Zizouz212 Jul 13 '15 at 13:56
  • why is everybody here confusing "open source" with "free/libre", and "free/libre" with "free/gratis", and forgetting that one can grab public domain code and include it in proprietary, closed source software? – mariotomo Feb 27 '18 at 17:09
44
+50

In a copyright context, public domain is a term which means the set of creative works not under copyright, because the work's copyright has either expired, never existed (such as U.S. government works), or been forfeited1. Generally, no special restrictions apply to the reuse of public domain works, and they can be freely modified and redistributed without limitation.

Open source software, as defined by the Open Source Initiative's Open Source Definition, means software whose source code is available and can be freely modified and distributed. Open source software is typically still under copyright (i.e., typically not in the public domain), but the author grants rights to users via a copyright license.

Open source software and public domain software are by no means the same thing, but there is some overlap. Open source software can be in the public domain, and public domain software can satisfy the open source definition.

Venn diagram showing intersection of Open Source and Public Domain

The primary differences in definitions are:

  • Public domain software might not include source code. Since public domain software automatically allows redistribution and modification, it satisfies almost all of the open source criteria automatically, but not quite. It is notably missing the requirement that the program's source code be publicly available. It is therefore possible to have a piece of software in public domain that fails to satisfy the open source definition because its corresponding source code is unavailable.

  • Open source software can grant a more limited set of rights than public domain. Like public domain works, open source software grants the right to modify and redistribute the work. However, an open source license may impose other restrictions that do not exist on public domain works. For example, the GNU GPL requires copyleft: any derived work that uses GPL-licensed material may only be distributed under the terms of the GPL. Such a restriction does not violate the open source definition, but it is certainly far stricter than the public domain.

  • Open source software can be released under different licenses by the author. The author of a copyrighted open source program can issue multiple licenses on the work. A common case of this is when an author licenses a program under a copyleft license, but will also issue individual proprietary licenses for a fee. Users can either get the software free of charge under copyleft rules, or pay money to get the software under another license. (See OSS Watch's article "Dual-Licensing as a Business Model" and the Free Software Foundation's "Selling Exceptions to the GNU GPL".) Such a scheme is impossible with public domain software, because it relies on the author licensing the work's copyright in different ways. Since public domain software has no copyright, there is nothing to license.

  • Open source licenses may grant patent rights. Public domain software does not have any copyright on it, but its reuse may still be restricted by patents, if it contains an implementation of a patented mechanism. If you redistributed such patent-encumbered public domain software, you would not be liable for copyright infringement but may be liable for patent infringement. Some open source licenses, however, expressly grant you patent rights. For example, an author who releases software under the Apache Public License or GNU GPL (version 3) expressly grants recipients the right to use any of the authors' patents that apply to the software, so there is no risk of violating the author's patents.2 Not all open source licenses do this, but it is an option for open source software under a license, whereas it is not an option for license-free non-copyrighted public domain software.


1 Note that it is unclear if premature dedication to the public domain is truly possible in most jurisdictions.

2 If the author illegally used someone else's patented mechanism without permission in the software, a downstream redistributor could be legally liable for that infringement.

  • There are more ways a work can get to public domain. Wikipedia article describes them nicely. – Palec Jul 7 '15 at 9:02
  • 2
    @Palec I have expanded to also include never-copyrighted works and forfeited works (to the degree that that category can exist). – apsillers Jul 7 '15 at 12:24
  • 1
    One other difference would be related to patent claims. Many open source licenses explicitly grant rights to use patents, real or implied (please know, claims for validity in software patenting is not suggested here). Public Domain works do not address patents/claims. – massonpj Jul 8 '15 at 2:47
  • @massonpj A fine observation; I added another bullet point to address patent concerns. – apsillers Jul 8 '15 at 13:28
  • 1
    It might be helpful to use SQLite as an example of the intersection between public domain and open source. Interestingly, they still sell proprietary licenses, mostly as a blunt instrument for dealing with bureaucratic stupidity. – Kevin Jul 8 '15 at 19:59
30

The Public Domain in the US means the copyright of something is owned by nobody, and cannot be owned by anybody.

Open source is a license model. The creator of the software holds the copyright, and grants others a license to use it, under some conditions. The differences are

  • Ownership. When something is in the Public Domain, nobody has intellectual property rights to it. When something is made available under some open source license, the creator keeps the copyright.

  • Terms. When something is in the public domain, there are no license terms to follow because there is no license. You are permitted to use the work whichever way you see fit without one. When something is licensed under an open source license, each license sets its own set of conditions, which can differ drastically.

  • Having added a bounty, I would like to see some additional information. Perhaps diagrams, and your points to be a little more in-depth. – Zizouz212 Jul 7 '15 at 13:48
  • I will. I'm on holiday though – Martijn Jul 11 '15 at 18:47
  • Okay sure, I'll still wait for two days :D – Zizouz212 Jul 12 '15 at 4:18
  • again high voted, and spreading misinformation. "open source" is not a license model, it's just a clause in a license, and the license may be proprietary, or free. free software must include the sources, proprietary may do so. – mariotomo Feb 27 '18 at 17:21
  • 2
    @mariotomo I think the confusion here is that you're using "open source" more broadly than it is used in this community. You seem to be using the term to mean what we would call "source available" (i.e., you can look at the source code), whereas this community strictly uses "open source" to mean "in compliance with the Open Source Definition" which includes requirements that effectively amount to the same requirements as the FSF's Four Freedoms. – apsillers Feb 27 '18 at 18:56
7

Open source usually adds some restrictions. Common restrictions are the question of attribution of the original author, advertise with the software or relicense the software or modifications of it.

4

Public domain implies that the author waives all rights, possibly including personal rights.

This is not necessarily applicable to open-source (though it can be) - open-source software can be licensed, which removes it from public domain. Open source software can also be explicitly declared as public domain (which, technically, is a requirement to be considered as such - work without an obvious copyright notice or license is assumed to be proprietary and non-copyable).

3

Open source does not mean without restrictions.

For example the GPL license does not allow you to distribute the project without the source also being available.

2

No, in places that have a concept of "public domain" that normally means "without copyright". However, Open Source Software generally means software which is licensed in such a way that it may be used freely (free as in freedom / libre, monetary cost has nothing to do with it). However, for something to be licensed it must still be under copyright (the license is just a limited grant of rights, but does not give you full rights to do whatever you want).

1

"open source is like throwing something into the public domain?" - No

"is there a difference between works classified as open source, and works in the public domain?" - Yes

"What's the difference between the two?" - The short answer is that open source requires agreement to a license, Public Domain is without restrictions. However, because the term Open Source is misleading here is my perception on the issue.

Like most of life (and law) open source is not a binary yes or no, but can fall between the two depending upon the individual circumstances of the software/product/license/terminology combinations. The resultant fuzzy logic licensing of a complex project that pulls resources from multiple sources can result in much heated debate. I think of rights to using software code as sitting on a sliding scale. At one end is propriety software from a commercial organisation that keeps source code hidden and secret. At the other end is source code out in the wild that has no restrictions upon it at all, free to be used/changed/abused by everyone, this is software in the Public Domain. You need to slide the scale back a little for open source. How far the scale is slid back depends upon the particular licence. A bit for the MIT licence, a bit more for the GPL licence. It can be slid almost back to the beginning where source code is licensed as open for viewing and nothing else, no changes whatsoever, why? Just to see how it works and for interfacing purposes. This is not uncommon in industrial systems.

Open source is mainly about source code, however, software can be in the Public Domain but the source code is kept secret (e.g. a programmer waivers rights to a little utility but keeps the source code under wraps). Furthermore time will eventually start contributing to Public Domain software. Once enough years have passed software falls out of copyright and becomes Public Domain. (Open source licenses then lapse.) When that happens the source code no longer needs to be readily available for the compiled files. Thus, perversely, in the very long run, this could cause beneficial changes to source code not being available.

The issue of what it means to have free rights to the software is often misunderstood. The free is about freedom of expression, not cost. Some misunderstand this and think open source is free of cost. Open source software can be sold, as long as the code comes with it (though the purchaser is then able to provide the software without selling it). This is also why open source software can be sold on disc media, mainly to cover the costs of production and distribution. Again perversely once the software is in the Public Domain there is nothing stopping organisations from modifying/renaming it then selling the product and not releasing the software's source code.

So open source is mainly about freedom of expression, but need not be, and is not in some cases. Public Domain is about freedom in all senses, expression and cost, but that may lead to software becoming less free. One reason why the term Open Source is disliked by some is that it is misunderstood and misused. If you want true freedom of expression in software then open source is not an appropriate term. Nor is releasing it into the Public Domain (waiving all your rights). Hence the GPL license is probably the most free licence. Though some perceive it as restrictive, but strangely it needs to be to allow for full freedom of expression.

I would consider "freedom software" as a proper term for truly free open source software (GPLed). Unfortunately "open source" dominates and as an umbrella term that is not truly free software.

1

In order for a software to be public domain, it needs not to be copyrighted. So only non-copyrighted open source softwares may qualify as public domain (rather than open source!)

And if you want a program you have written to be in the public domain, you must take some legal steps to disclaim the copyright on it; otherwise, the program is copyrighted

0

I'm not good at making drawings, but I hope that this will be appreciated for its content if not for its design enter image description here

Open Source, Proprietary, P.D. (Public Domain), are sharp-edge definitions, so are the various "free software" licenses, which are also mostly either/or: if it's GPL then it's not MIT, LGPL, Apache, etc and if it's MIT it's not GPL, LGPL, Apache, etc. (some are strictly included, as for example Affero being a strict subset of GPL.)

On the other hand, the very definition of Free software is blurry and depends on whom you're talking to. It definitely includes licenses like MIT and GPL, it definitely implies being Open Source, it definitely is incompatible with being Proprietary, I'm not so sure how it relates to Public Domain, my personal perception is that they are disjoint, but that depends on where I place the blurry line.

Public Domain software is a strange beast. As said, it's my interpretation to put it outside of the Free Software. Whether you get the sources, or not, depends on what the author of the software decided to do. So, if it's Public Domain and you get the sources, it is not Proprietary. If it's Public Domain and you do not get the sources, you can call it Proprietary.

Please note that I'm nowhere speaking of price, that's a totally different story, independent from what we're discussing here.


I just found a more complete version of my diagram, a bit of an overkill given the OP question. It includes the "free/gratis" category, it uses the term "copylefted" for what I here call "free/libre", it includes a new category for "freely downloadable", it shows the position of "shareware", and corrects my initial misconception that P.D. is necessarily Open Source:

https://www.gnu.org/philosophy/category.svg

so, short answer: Public Domain may be Open Source, or not.

  • 1
    Actually, there are people who consider public domain software to be Free/Libre. And MIT licensed code can also be used in proprietary products. – Bart van Ingen Schenau Feb 27 '18 at 18:04
  • I should check, but I am quite sure that the FSF considers Public Domain distinctly different than Free/Libre. MIT is compatible with Proprietary (one way), but MIT is distinct from Proprietary, no software can be at the same time time MIT and Proprietary. if we introduce compatibilities among licenses, there's no single diagram that can make any clearness, I'm afraid. – mariotomo Feb 27 '18 at 18:31
  • please check what gnu.org has to say about the failure of either-way-inclusion between Public Domain and Open Source. – mariotomo Feb 27 '18 at 18:49
  • @apsillers, you're right, I'm confusing "free" with "copylefted". I'll have a look on how to correct. ... but not now. – mariotomo Feb 27 '18 at 19:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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