GithubHelp home page GithubHelp logo

Comments (6)

EionRobb avatar EionRobb commented on September 28, 2024 1

Do you need to go as far as using libsoup? Both libwebsockets and libsoup are doing 90% of what (i'm assuming, if it's anything like what libpurple) is doing under the hood, TCP/SSL connections.

I coded up my own basic websockets usage as part of the Pushbullet libpurple plugin, which certainly doesn't do 100% of what the websockets protocols are capable of, but might be enough for what Discord needs (or at least might be a starting point if you don't want to drag in another heavy dependency like libsoup)? https://github.com/EionRobb/pidgin-pushbullet/blob/master/libpushbullet.c#L256-L382

from bitlbee-discord.

sm00th avatar sm00th commented on September 28, 2024

Ouch, thats another reason to finally rewrite everything using libsoup that is at least stable and is under LGPL without any exceptions as far as I see.

from bitlbee-discord.

sm00th avatar sm00th commented on September 28, 2024

Nice, thanks for the pointer, I'll certainly look into this option.

from bitlbee-discord.

dequis avatar dequis commented on September 28, 2024

I emailed [email protected] about this, as suggested by the GPL FAQ. Their reply:

Hello and thank you for writing in.

Hi. The libwebsockets project uses a license that is based on LGPL 2.1
with a few exceptions.

The full text is available here:

https://github.com/warmcat/libwebsockets/blob/master/LICENSE

The second exception reads:

  1. You do not have to provide a copy of the libwebsockets license with
    programs that are linked to the libwebsockets library, nor do you have to
    identify the libwebsockets license in your program or documentation as
    required by section 6 of the LGPL.

However, programs must still identify their use of libwebsockets. The
following example statement can be included in user documentation to
satisfy this requirement:

"[program] is based in part on the work of the libwebsockets project
(https://libwebsockets.org)"

Someone pointed out that this is equivalent to the BSD advertising
clause. I think this is closer to the following part of the
Independent JPEG Group license, which is included in the list of GPL
compatible licenses in the GNU website.

(2) If only executable code is distributed, then the accompanying
documentation must state that "this software is based in part on the work of
the Independent JPEG Group".

So, is it safe to use libwebsockets in a GPL project? Should they make
any changes to the wording of the exception to make it unambiguous?

Thanks for your time.

My reading of the text is that they have only provided exceptions to the
terms of the LGPL. The requirement to provide notice with each copy of
the work that the Library is used in it is already a part of the LGPL,
so they aren't adding a new requirement by merely spelling that out.

So with the disclaimer that I am not a lawyer and cannot provide you
with a legal opinion or assurance, I hope this is of help.

from bitlbee-discord.

sm00th avatar sm00th commented on September 28, 2024

Aha, I wonder if it being listed in "requirements" is an enough of a notice. Anyway I was thinking about moving on to something else for a long time and I'll leave this open to track that effort.

from bitlbee-discord.

sm00th avatar sm00th commented on September 28, 2024

The plugin is libwebsockets-free since d00ef51. Thanks.

from bitlbee-discord.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.