this might make sense if you were talking about free software. free software is very unclear and it makes people believe things that are not true about the software. free software doesn't need to be 0 cost.
this is not the case with open source. for close to 2 decades it was very obvious what open source meant and there was no confusion about it. it wasn't until the source available movement started to take off and they started to cash in on open source's reputation and identity for the sake of promoting themselves and cheapening the meaning that it became confusing.
the problem is that since this is a cultural movement and not a piece of intellectual property like a trademark there is no way to prevent people from contorting open source into whatever best suits their self serving interests.
It makes sense with “open source” too, and the author already acknowledged that explicitly. I don’t think this point is even up for debate. The obvious & literal interpretation of the term is, is the source available to inspect? That is precisely what the author said is not the definition of “open source”, he wants the definition to come with more than that, specifically that “open source” needs to come with limitations on what you’re allowed to do with it once acquired; the argument is that it must not be public domain.
I think it’s hyperbolic of you to suggest that when people use “open source” to mean “source that is open”, that implies they’re being selfish or contorting anything. You’re failing to acknowledge the very real problem that “open source” taken literally doesn’t mean what some people want it to mean.
> That is precisely what the author said is not the definition of “open source”, he wants the definition to come with more than that, specifically that “open source” needs to come with limitations on what you’re allowed to do with it once acquired; the argument is that it must not be public domain.
Uhm, no? That's the opposite of what the article actually says. Public Domain code is Open Source without any doubt, period. There is however a set of acceptable limitations that you can place on your code and still call it Open Source - mostly related to attribution or keeping derived works under the same terms. If you place other limitations on what others are allowed to do with your code once acquired, it's not Open Source regardless of whether they can see the source code or not. Which makes perfect sense to me - I can easily see the source code of Windows 2000, but that doesn't make it open.
This is incorrect, you are mistaken about public domain and about what the article says. The very first criteria in OSI’s definition of “Open Source” is:
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
“Rationale: By constraining the license to require free redistribution, we eliminate the temptation for licensors to throw away many long-term gains to make short-term gains. If we didn't do this, there would be lots of pressure for cooperators to defect.” https://opensource.org/osd-annotated
Public domain has no such restriction. Public domain always allows people to do literally anything they want, sell & redistribute the public domain code in any form they choose, make it proprietary, redistribute the code under any other license at all, and generally do anything they want for any reason including throwing away long-term gains for short-term gains.
It's you who is massively mistaken. What you quoted is one of the requirements needed to consider a license to be an Open Source license. To paraphrase it, it says "an Open Source license can't restrict any party from selling or redistributing the software (...), otherwise it's not an Open Source license". In other words, a license that doesn't restrict selling and redistribution (and also fulfills all the other requirements) can be considered Open Source.
You even quoted it yourself: "The license shall not restrict". Public Domain code does not restrict these things (nor anything else), therefore it's perfectly compatible with Open Source licenses and Public Domain code can obviously be considered Open Source [EDIT: at least assuming that it's actually effectively Public Domain, which can be hard to determine - see commoner's reply].
Sure, you can also take some Public Domain code and stamp a non-free license on it (just like you can do with code under some [but not all] of Open Source licenses, like MIT) - which I guess may be what caused your confusion?
Public domain code is not automatically considered open source, but for a different reason:
> Public Domain software may come with the rights delivered by those “four freedoms”, but you can’t be sure. It will depend where the software was written, where you are located, who the author is and where the people you are sharing the software with are located. A deployer or developer will need to at very least ask for advice before proceeding, and most likely will need to secure the services of a legal professional with experience in copyright law in each affected country. Even asking the author is unlikely to be conclusive. That’s why public domain software may be free software but is not certain to be.
> A solution would be to create a form of words to be used by the author to dedicate something to the public domain. It could simply disclaim ownership for the jurisdictions where that is possible, and then grant a copyright license that has the same practical effect as a public domain dedication for jurisdictions where ownership of copyright can never be disclaimed. Such a formulation has been published by the Creative Commons. They call it “CC0” and it is widely used and well respected.
However, you are right that the Open Source Definition's "Free Redistribution" clause doesn't require an open source license to be a copyleft license. The "long-term gains" rationale is an explanation for the motivation of the "Free Redistribution" clause, and is not a restriction on what open source licenses can say.
There are many open source licenses that allow "people to do literally anything they want, sell & redistribute [] code in any form they choose, make it proprietary, redistribute the code under any other license at all, and generally do anything they want for any reason including throwing away long-term gains for short-term gains", including 0BSD and MIT-0:
Ha, right, thanks for clarifying that. Public Domain is a legal mess on its own - and in fact, CC0 may not be a perfect license to use if you want to dedicate your software to Public Domain because it's explicit that it doesn't grant any patent rights (which is why CC0 code has been recently disallowed in Fedora [0]). 0BSD [1] and MIT-0 [2] are good alternatives with same practical effect, even though they don't try to use the actual institution of Public Domain where it's available.
How so? Who’s confused about what public domain means? Are you thinking of specific cases or precedent?
Assigning something to the public domain is equivalent to waiving all copyrights and license restrictions. Unlike OSI’s definition of open source, public domain comes with no agenda and no protections of any kind for the author, and no restrictions of any kind for the consumer/redistributor.
I don’t know if you’re misinterpreting my opinion on open source, but I’m in favor of Open Source restricitions, I happen to agree with OSI’s reasoning. I’m just also in favor of open language, where words are allowed to have multiple reasonable meanings, where it’s okay and a good thing if it takes time to explain subtle points, and where we don’t expect people to have to know that innocent sounding words are somebody’s slogan, and also know the complete history and special meanings behind the slogan before using it.
> How so? Who’s confused about what public domain means?
Laws.
You see, what various countries regard as Public Domain differs a lot. In Germany, for example, there's no way for someone to dedicate something to Public Domain at all. You simply can't waive your copyrights, period. Public Domain exists there, but it only consists of works which had their copyright expired or which have never had any copyrights assigned. If all you say is "I waive my copyright and dedicate this to Public Domain", then such declaration is simply invalid in Germany and may have no legal effect. This is why people use licenses such as CC0 to effectively emulate the effect of dedicating works to Public Domain even where there's no way provided by the law to do it.
There are more subtle effects involved when it comes to considering Public Domain status even between countries that happen to allow dedicating your works to it. It's very complicated. I still stand with all my comments about Public Domain being perfectly valid Open Source, but it has to be added that this assumes a CC0-like license (and patent grant if necessary) to make Public Domain dedication actually valid and non-ambiguous worldwide.
So, then public domain is only “open source” in theory but not in practice? You’re right, I’m wrong. OSI doesn’t recommend against public domain for the reasons I claimed, and I’m making mistakes in this discussion. Thanks for clarifying.
It can be Open Source in practice too, as long as you make sure that your Public Domain dedication is actually effective around the world. The best way to do that could be something like CC0, but CC0 itself is problematic because of its explicit no-patent-grant clause, so it's not recommended to use on software. Instead, licenses like 0BSD or MIT-0 are probably your best bet, practically emulating Public Domain and being officially recognized Open Source licenses.
The problem is that there's no such thing as "public domain" that is consistent in jurisdictions around the world. If you want to make something "public domain," the best way is to slap an OSI-approved license on it.
> However, you are right that the Open Source Definition's "Free Redistribution" clause doesn't require an open source license to be a copyleft license.
This is misleading in a way that contributes to misunderstanding IMO. Copyleft means specifically preserving the same license when redistributing. OSI’s license might not be copyleft per se, but it does in fact limit what the redistribution license can do, and requires the source to stay “open”. Public domain does not require the redistribution license to remain open. OSI is very clear about this, contradicting @seba_dos1’s claim that public domain is OSI open source compatible. https://opensource.org/faq#permissive
> OSI’s license might not be copyleft per se, but it does in fact limit what the redistribution license can do, and requires the source to stay “open”.
"OSI's license"? Which one? There's no requirement for the license to require the source to "stay open" for it to be called Open Source, and you have already linked to the page that confirms that.
> Public domain does not require the redistribution license to remain open.
Neither do some Open Source licenses, like MIT, which I already mentioned above. Which is even clearly stated by the page you just linked:
> Most copyleft licenses are Open Source, but not all Open Source licenses are copyleft. When an Open Source license is not copyleft, that means software released under that license can be used as part of programs distributed under other licenses, including proprietary (non-open-source) licenses. For example, the BSD license is a non-copyleft Open Source license. Such licenses are usually called either "non-copyleft" or "permissive" open source licenses
> OSI is very clear about this
It sure is, I don't know why you choose to not read what they write. Heck, you've even got links to 0BSD and MIT-0 licenses earlier, which are recognized as Open Source licenses and which you can both read in their entirety in 3 minutes and that would be enough for you to realize that you're wrong.
> OSI’s license might not be copyleft per se, but it does in fact limit what the redistribution license can do, and requires the source to stay “open”.
Please stop spreading misinformation.
It is not a condition of OSI approval for a license to require that downstream projects be reciprocally open source. You can absolutely take MIT licensed code and put it in Microsoft Windows or some closed source app, for example.
If you're unclear or have questions about something, then it's fine to say so and ask questions in the appropriate forum. What you're doing, though—which involves saying something and then waiting for someone to challenge or correct you—is harmful and contributes to even more outlandish and untrue beliefs about open source than what already exist.
To reiterate: the clauses you're quoting do not mean what you are interpreting them to mean, and claiming otherwise, especially so confidently, is actively harmful.
You’re highlighting the reason the author wrote his article. You’re still misunderstanding the OSI license.
The OSI license is a limitation on redistribution, and in case you missed it, it clearly states “the license shall not require a royalty or other fee”. That clause is fundamentally incompatible with Public Domain. The purpose of that clause was explained in the “rationale” statement; it’s an attempt to preserve and protect the open-sourceness of open source. There is no such protection with public domain. This is exactly what @ssddandrown was talking about, it’s the whole point of the article.
> You even quoted it yourself: "The license shall not restrict".
I did quote it, I think you got confused about which license this is talking about. It’s referring to what the redistributed code’s new license is allowed to do. Public domain code can legally be redistributed under a license that does restrict what others can do with it. OSI Open Source code does not permit redistribution with a restrictive license.
> The OSI license is a limitation on redistribution
There's no "the OSI license". There's a set of requirements OSI defined to classify software licenses as either Open Source or not.
> it clearly states “the license shall not require a royalty or other fee”
Exactly. To be considered Open Source, the license can not require any fee (among other things). Public Domain code (let's assume CC0 here to avoid any confusion on its legal status) does not require any fee, therefore it can be considered Open Source.
> it’s an attempt to preserve and protect the open-sourceness of open source
Yes, that's why the licenses that require the code to stay free are permitted to be called Open Source. It's very clearly not a requirement.
> OSI Open Source code does not permit redistribution with a restrictive license.
Of course it does. Please read the OSI guidelines once again, from the beginning till the end. Throw away your previously held misconceptions.
It’s the redistribution license that cannot request a fee. Public domain allows the redistributor to charge a fee. You’re getting confused about the author’s license vs the redistribution license.
> let's assume CC0 here to avoid any confusion on its legal status) does not require any fee, therefore it can be considered Open Source.
...because of the explicit no-patent-grant clause. Yes, I'm perfectly aware, otherwise I wouldn't have mentioned that earlier myself ;)
> Public domain allows the redistributor to charge a fee.
So do Open Source licenses. You can sell software on GPL, MIT etc. with absolutely no issues. You just need to allow others to redistribute it further without any additional fees (but if they wish, they can charge a fee too).
It's in fact one of the requirements for it to stay Open Source. You are literally guaranteed to have a right to charge a fee with Open Source software. Some people would like to change that and to consider licenses that add additional restrictions like disallowing commercial usage as Open Source too, which is why the article we're commenting under has been written in the first place.
I do see some differences between "free software" and "open source" here, Specifically that "free software" is much more common and something that could be expected to be written naturally, without understanding this space. "open source" is not so common as part of natural language, and its main use has been around the realm of software and licensing.
IMO “free software” is misunderstood in exactly the same way “open source” is misunderstood, at least in the way you mean. Both terms are not good at getting the important point across in the title, because the words people want associated with the title aren’t actually in the title. This will forever be a problem as long as the title requires explanation (which it unquestionably does) and as long as software is a growing field and new people keep joining. I don’t know why the idea to say what you mean would get push back, we can’t expect people to interpret the phrase “open source” to mean more than what those two words imply. We can, and should, IMO, come up with a phrase that has words that imply the important bits. Following the CC model, maybe something like “derivation allowed” and “no discrimination”.
Both terms are fine, long used and well-established. Free Software and Open Source software have complicated enough meanings that they need a sentence, not a phrase to explain; the phrase is just a label. And any software practitioner who doesn't know what people mean by Free or Open Source software isn't very good.
If I start calling my OS "Windows" people might get upset even though windows predate MS by millennia.
this is not the case with open source. for close to 2 decades it was very obvious what open source meant and there was no confusion about it. it wasn't until the source available movement started to take off and they started to cash in on open source's reputation and identity for the sake of promoting themselves and cheapening the meaning that it became confusing.
the problem is that since this is a cultural movement and not a piece of intellectual property like a trademark there is no way to prevent people from contorting open source into whatever best suits their self serving interests.