I am developing a web application which streams videos. For the frontend I intend to use the richfaces framework for jsf. That framework is licensed under the LGPL v2. Does that mean that I have to make it possible to use different version of this framework by the user as the license indicates?

I actually want to understand whether running an application on a server could be referred as distribution or not?

2 Answers 2


Running an application on a server is never considered distribution, and you're not bound by the terms of the LGPL for distribution.

Please do note that running javascript in the browser does mean distribution. I'm not familiar with the framework, so I don't know if that's relevant here.

The only widely used open source license which puts obligations on you when you run software on a server and let users interact with it is the AGPL.


Under the LGPL, running the software under a web server of any sort does not qualify as distribution. As noted in Martijn's answer, passing JavaScript and any markup to create the webpage does qualify as distribution. Here's a small flow chart that might help:

Distribution flow chart

If your code running on the server is LGPL, this does not count as distribution. However, if you are sending code over a connection to the client in the web app, this does count as distribution.

If you're running an LGPL, or GPL licensed application only on the server, then you're not distributing anything. The exception to this is the AGPL license, where running an application on the server qualifies as distribution.

  • AGPL note: using AGPL, as I understand, doesn't automatically mean you are distributing. Only if you are making the specific functionality of the AGPL software available (say, the AGPL software is DB, and you provide a managed DB service). But happy to take correction.
    – ron
    Apr 17, 2023 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.