<div dir="ltr">I am an intellectual property consultant, with an extensive history regarding Open Source licensing, but not an attorney and not _your_ attorney. If you had a lawyer, I'd suggest you show this to them. But obviously you don't. :-)<div><br></div><div>I could go down the list of which license requires that you carry a copy along with the binary, and which doesn't, but it would make things more complex and potentially lead to mistakes. I am going to suggest a simpler strategy.</div><div><br></div><div>You (and Andy) are using and redistributing the contributed software under the licenses granted to you. Andy has total rights to the part that he wrote, but that is not the entire libwebsockets library. Neither you nor Andy have any right to use and redistribute the software that he didn't write in any way other than specified by the license.</div><div><br></div><div>Andy should always distribute the software with a copy of _ALL_ licenses in a directory where that is easy to find, along with a note regarding what licenses apply to what pieces.</div><div><br></div><div>You are probably integrating more than one Open Source component into your product. Most people are. All licenses for all of the pieces, and a file showing where you can get the original versions you used, should be in a directory distributed along with your binary. The presence of this should be indicated in some way to the user. They need to know it's there and to be able to read it.</div><div><br></div><div>The point of this is that you don't make decisions about which license requires what, which you are likely to get wrong. You just treat all of them the same.</div><div><br></div><div>It doesn't sound like you are using any licenses that require you to distribute source code. If you were, the instructions would be more complicated.</div><div><br></div><div>    Thanks</div><div><br></div><div>    Bruce</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 4, 2021 at 10:40 AM Andy Green <<a href="mailto:andy@warmcat.com">andy@warmcat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 5/4/21 6:13 PM, krushith rao wrote:<br>
> Hello Andy Green<br>
> <br>
> Thank you so much for the information.<br>
> I have found LGPL 2.1 components at <br>
> *libwebsockets-4.1-stable/lib/abstract/protocols/smtp/smtp-sequencer.c* <br>
> & *libwebsockets-4.1-stable/include/libwebsockets/lws-mqtt.h*, which was <br>
> not included in the license folder of your repository. If you have <br>
<br>
Ugh... these are accidents that did not get updated when the rest of lws <br>
changed license to MIT.  Thanks for pointing them out.<br>
<br>
I pushed a patch on main, v4.2-stable, and v4.1-stable changing them to <br>
MIT (that they were already intended to be).<br>
<br>
-Andy<br>
<br>
> linked those specific components statically, please let me know.<br>
> Thanks in advance.<br>
> <br>
> Regards,<br>
> Sandy<br>
> <br>
> On Tue, May 4, 2021 at 5:07 PM Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a> <br>
> <mailto:<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>>> wrote:<br>
> <br>
> <br>
> <br>
>     On 5/4/21 2:29 PM, krushith rao wrote:<br>
>      > Hello,<br>
>      ><br>
>      > I am using libwebsockets to build a commercial application. Since<br>
>      > libwebsockets is under MIT license, I need to provide attribution<br>
>     and<br>
>      > copyright notice in the redistribution of my application.<br>
>      > Unfortunately, I have found that in the license folder that<br>
> <br>
>     ...<br>
> <br>
>      > libwebsockets also includes other programms which are under<br>
>     different<br>
>      > permissive licenses like BSD clause 2, Apache 2.0 and Public domain<br>
>      > license. So, to comply with license of the other components<br>
>     included in<br>
>      > the libwebsockets, do i need to provide a copy of BSD clause -2,<br>
>     apache<br>
>      > 2.0 and public domain license in the redistribution of my<br>
>     application.<br>
> <br>
>     I Am Not A Lawyer, but from my side for my code, it's OK for me if you<br>
>     point to ./LICENSE in the version of lws gitweb you built, something<br>
>     like<br>
> <br>
>     <a href="https://libwebsockets.org/git/libwebsockets/tree/LICENSE?h=v4.2-stable" rel="noreferrer" target="_blank">https://libwebsockets.org/git/libwebsockets/tree/LICENSE?h=v4.2-stable</a><br>
>     <<a href="https://libwebsockets.org/git/libwebsockets/tree/LICENSE?h=v4.2-stable" rel="noreferrer" target="_blank">https://libwebsockets.org/git/libwebsockets/tree/LICENSE?h=v4.2-stable</a>><br>
> <br>
>     since that file describes the main license and the gnarly details.<br>
> <br>
>     To help with that, I bolstered what's in LICENSE on main with copies of<br>
>     the mentioned licenses from the sources elsewhere in lws.  There is no<br>
>     change to the license, it's just copying the unchanged license text<br>
>     from<br>
>     some lws files into one place as an additional convenience after the<br>
>     license stuff that was already there.<br>
> <br>
>     Apart from MIT, and CC0 which has no requirements on you, the imported<br>
>     pieces are only built into binaries under specific circumstances.<br>
> <br>
>        - BSD3: the related SHA-1 implementation for ws is only built if you<br>
>     a) use we protocol with lws, and b) don't build with<br>
>     `-DLWS_WITHOUT_BUILTIN_SHA1=1` ... that disables the code in question<br>
>     and uses the tls library sha-1 instead.<br>
> <br>
>        - ZLIB: zlib... this is not built into your binary by default, you<br>
>     have to enable `-DLWS_WITH_ZLIB=1` and then be building for windows<br>
>     before it gets built into lws.  So unless you did that, the license<br>
>     won't apply to the binary since no zlib code is built.<br>
> <br>
>        - APACHE2: this is for the mbedtls wrapper, if you build against<br>
>     anything except mbedtls (openssl, wolfssl, libressl, boringssl etc) it<br>
>     will not apply to your binary since it's not built in there.<br>
> <br>
>     So AIUI you have a way to avoid having to deal with the requirements of<br>
>     those additional licenses **for binary distribution** by ensuring the<br>
>     related code was not built into your binary.  For source distribution,<br>
>     you have to observe them, but AFAIK just serving someone the unchanged<br>
>     tarball is compliant for that.<br>
> <br>
>     You can also send patches with MIT-licensed alternatives I can swap<br>
>     these things out for.  But I think you will find, if you have to<br>
>     consider that, it's not really so "unfortunate" we got some free<br>
>     implementations we can use or base off without rewriting them.  It'd be<br>
>     ideal if everyone agreed on one liberal license so no impedance<br>
>     mismatch<br>
>     (some of the composed code was already MIT, so it does happen), but<br>
>     that's not how it is out there at the moment.<br>
> <br>
>     -Andy<br>
> <br>
> <br>
>      > If so, please let me know.<br>
>      ><br>
>      > Thanks in advance<br>
>      ><br>
>      > Regards,<br>
>      > sand<br>
>      ><br>
>      > _______________________________________________<br>
>      > Libwebsockets mailing list<br>
>      > <a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
>     <mailto:<a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a>><br>
>      > <a href="https://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">https://libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
>     <<a href="https://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">https://libwebsockets.org/mailman/listinfo/libwebsockets</a>><br>
>      ><br>
> <br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="https://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">https://libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div>Bruce Perens K6BP</div><div>- Board Partner, OSS Capital LLC Venture Capital</div><div>- CEO, undisclosed startup</div></div></div></div>