Skip to content

Comment on Why the term "open source" is importantparent

Comments

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.

https://opensource.org/node/878

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:

https://opensource.org/licenses/alphabetical

Edit: You replied just before I edited my comment to mention 0BSD and MIT-0. I agree that these are good alternatives to CC0.

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.

[0] https://lists.fedoraproject.org/archives/list/legal@lists.fe...

[1] https://opensource.org/licenses/0BSD

[2] https://opensource.org/licenses/MIT-0

Public Domain is a legal mess

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.

See also: https://opensource.org/faq#public-domain

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.

Poor choice. CC0 is not considered open source by OSI. https://opensource.org/faq#cc-zero

...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).

See: https://opensource.org/faq#selling

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.