Do not link to OpenSSL licensing terms from squid -v#157
Do not link to OpenSSL licensing terms from squid -v#157rousskov wants to merge 1 commit intosquid-cache:masterfrom
Conversation
The link is unnecessary and may be unstable. The accompanying text is unnecessary scary. All libraries used by Squid come with "legal restrictions on distribution". There is no reason to single OpenSSL out.
|
OpenSSL is the only library Squid links that is not compatible with the GPLv2+ license of Squid, and which imposes conditions on third-parties distributing Squid.
Removal of the public reference in the binaries self-documentation makes Eliezers and Diladele, and several other distributors products illegal. We either have to link as done, or include the OpenSSL and SSLeay licenses wholesale into that documentation text. Which I think you will agree is even worse. |
This assertion is incorrect: It is possible to link Squid with many libraries that are not compatible with GPLv2. More importantly, the assertion is irrelevant to this PR: This PR does not change the legal status of Squid, OpenSSL, their combination, or anything else. The PR has no impact on any legal matters.
Incorrect and irrelevant again: The OpenSSL license does not require any self-documentation in binaries. Moreover, Squid builders are free to add any text they wish to the Squid binaries they built; we even provide an official interface for that IIRC. Finally, this PR does not remove any references that the OpenSSL license requires.
Which OpenSSL license item requires Squid binaries to print |
The distro lawyers tell me that linking is not the same as distribution. It can be linked and used freely, but the resulting binary cannot be distributed to others legally. The -v output does count as documentation of the binary in legal terms, so under the OpenSSL license conditions it requires a full copy of the license text OR a clear and explicit direct link to that full text. To be extra clear: this is not about the source code, nor about building and linking. It is specifically about the final binary object and what can be done with it. |
As you can see, you are shifting goal posts here. If you have a new argument, fine, but it is best to be explicit about it (and to withdraw the old argument). Otherwise, we will be going in circles, especially when you ignore specific key questions about the basis of your arguments.
It is certainly true that some licenses (or combination of licenses) make distribution of some binaries illegal, but I am struggling to understand why you are saying that. Are you implying that both of the statements below are true (where "patched" means "after this PR changes")?
Yes, Squid -v output is a part of Squid documentation. It certainly is not the only Squid documentation or the entire Squid documentation. To satisfy various licensing requirements (unrelated to OpenSSL), any Squid binary distributor must distribute Squid binaries with more documentation than what
Several problems render this argument invalid:
|
you ignore the AND part of my initial statement. Which is about distribution.
The goalpost was about distribution, and remains about that.
Yes for the PR change as it currently is they are both true.
Indeed. It is up to distributors to ensure that the documentation and advertising they do complies with that license. Which is a part of why that -v output highlights that the requirements are on distribution. (Also as a side note, the mention and link are partially to assist recipients of Squid products to kno
Clause #2 of both OpenSSL and SSLeay licenses. Which is effectively the same: " * 2. Redistributions in binary form must reproduce the above copyright
Providing the link to full-text in the binary -v is apparently sufficient to allow distributors not to have to patch the license into the Squid sources when building. Not having it means somebody has to patch the -v documentation. As an aside; if you can figure out a good way to add the OpenSSL/SSLeay disclaimers and license to the Squid copyright license files in a way that does not appear at all in non-OpenSSL builds I'm interested - this PR could be doing that instead of just removal. Be aware that including the license text in auto-build scripts etc would itself mean they need to be displayed simply for those scripts to be distributed by us. A nasty catch-22 situation.
As you agreed the -v output constitutes documentation. Which makes it fall under OpenSSL clause 6 and SSLeay clause 3 and possibly 4. OpenSSL clause 3 is a grey area since -v is not really advertising materials, though it does document OpenSSL feature availability (eg. --with-openssl).
The advice I am working from is from Debian and Ubuntu legal teams. Unfortunately those distros have other issues that prevent OpenSSL builds being added there. But this link and statement was apparently sufficient to make the Squid binary safely/legally distributable by anyone who a) did not also package and distribute OpenSSL itself, and b) complied with the OpenSSL license clauses in their own documentation and advertising materials. |
I did not ignore it -- I said the assertion is irrelevant, but I now see what happened: I misinterpreted your "linking is not the same as distribution" fact as a goalpost shifting defense of the linking (i.e. first) part of the statement. In fact, it was not a defense of that (indefensible) part but an invitation to discuss the distribution (i.e., second) part. I am sorry I failed to decipher that. FWIW, the second part of that initial statement is either invalid or misleading -- the OpenSSL license does not
Even if we assume that the removed When OpenSSL license talks about distributing binaries, it always talks about accompanying "documentation and/or other materials" so moving the text there will not affect the legality of a distribution. Thus, if a distribution was legal, it can remain legal (i.e., the second statement is false even under the most generous of assumptions). Which specific OpenSSL licensing requirement did the removed text satisfy that cannot be satisfied by distributors without the removed
Great, we are in agreement that any Squid distribution must include some documentation. Consequently, even if the removed text does satisfy a legal requirement (again, pretending for the sake of the argument), then the same text can be included in that accompanying documentation to restore the status quo. Thus, PR-patched Squid binaries can be distributed legally. This means this PR does not preclude any distributors from distributing Squid legally.
Why should
Why?! I do not understand. I really do not. I see absolutely no connection between clause 2 of the OpenSSL license and the alleged requirement to say something (anything!) in In other words, why wouldn't a concerned distributor of OpenSSL just add the required text to their documentation that comes with their distribution? In fact, they must do it already because even if they happen to include Squid in the same distribution,
... it can be considered to constitute a (tiny!) part of Squid documentation. No more than that. It is not OpenSSL documentation. And, under any scenario where Squid distribution is legal, it is not the whole documentation. It is just a small piece of the puzzle.
Being a part of Squid documentation does not make one a subject to any OpenSSL terms. How can you not see it?! OpenSSL documentation/attribution clauses you mention apply to distributed OpenSSL code and/or documentation as a whole. Not to each and every little piece of that distributed whole. This is the only reasonable way to interpret the OpenSSL license and virtually any legally enforceable license. Yes, some clauses may focus on such major parts as "documentation", "binary", or "code", but there again, they apply to each of those major parts as a (smaller) whole; not to every isolated sentence, processor instruction, or C++ statement.
Since your interpretation and/or application of the OpenSSL license seems completely wrong to me, I fear that your interpretation of Debian and Ubuntu legal team advice suffers the same fate. You are certainly entitled to use 3rd party legal opinion about
Just because somebody finds X sufficient for claiming Y, does not mean that X is sufficient (or even necessary) to claim Y, or that claiming Y itself is something I am sure a lot of folks would like to include their own statements and links in I am worried that this part will take this discussion further astray, but I did not want it to appear as if I am ignoring your request for help:
IIRC, Squid does not contain OpenSSL code.
|
|
It doesn't matter what either of us think about the legal situation or the amount of code included. Fact is Debian went and got a formal legal team to consider it and they came back with the verdict that anyone distributing Squid binaries built to use OpenSSL is required to be aware of any comply with those OpenSSL terms and conditions. The Debian specific way of distributing (and thus all their downstreams, eg Ubuntu) cannot be made compliant with that license combination. As such Debian et al, are forbidden by the legal team from delivering Squid with OpenSSL support until the license collision is resolved. Part of the resolution is to inform anyone building Squid with OpenSSL that this legal situation exists. You may (as you said initially) think it scary that distributors actually have to do something with care. I do not, and have not encountered anyone who did once the detail was explained. It makes reasonable sense and is relatively easy to comply with by most (non-Debian) Squid distributors. As an extra bonus; keeping both distributors and recipients of those builds informed of the situation helps them to self-enforce the legality and avoid us getting dragged into GPL compliance battles. |
|
@rousskov do you want to update this to check for OpenSSL v3 where their license change means we can omit the "scary" sentence, or close this PR entirely? |
I do not have the time. Feel free to do that, of course. It would be better than nothing.
As you know, I think we can omit the scary sentence right now, for all OpenSSL versions. I just do not have the time to deal with the invalid (IMHO) arguments for keeping it, especially when they start using insults and vague (as in difficult to verify) references to a higher authority.
I will close this PR if a version-specific removal is merged. This PR branch can be reused for that if the developer prefers. |
|
Leaving this PR open for future update. Pending OpenSSL v3.0 availability. |
|
Closing this as it has been superseded by PR #694 |
The link is unnecessary and may be unstable. The accompanying text is
unnecessary scary. All libraries used by Squid come with "legal
restrictions on distribution". There is no reason to single OpenSSL out.