I read much about GPL license. But it couldn't clear my doubt.

I want to develop a small web application using ExtJs because of its features. I won't use much of it. But some features are very good.

Now, as my understanding I think I can give this app to my friend for free for his business needs, right? Or should I take commercial license for ExtJs?

  • Please clarify how your friend plans to use the Web application. The source code of a GPL'd application must be provided only to people who receive a copy of the program. If no one except your friend has a copy of the program (i.e., he's using the Web app privately), then no one except your friend has a legal claim to the source code. If your friend wants to make the Web app available to the public Internet, then anyone who uses the service has a legal claim to the source code. – apsillers Oct 16 '13 at 13:44
  • @apsillers, thanks alot. This makes sense to me. What if it is a website? It will be accessible to public. So should I provide the source code to public? – Seban Oct 28 '13 at 10:31
  • Any server-side code stays on the server and does not trigger GPL redistribution requirements. Any client-side code does go to the client, and therefore grants each recipient the right to a non-obfuscated copy of the client-side source. Since ExtJS is a client-side library, it requires any client-side code that forms a combined work with ExtJS to be licensed under the GPL (and therefore all clients who receive that code are entitled to a copy of the human-readable source, licensed under the GPL). – apsillers Oct 28 '13 at 13:03

The Sencha Open Source FAQ covers this use case.

There are 2 important points:

First, both the front end and backend source are likely derived works for the GPL as in this example from the FAQ:


For example: let’s take a mortgage processing software program. Let’s say that the application has a front-end (that generates web pages linked to Ext JS JavaScript) that communicates over JSON/HTTP with a backend service. This backend service contains approval and validation logic for this application alone. Even if only the front-end uses Ext JS code, you should consider that the combination of front and back ends constitutes the application, and the source code for both back and front end would need to be provided to the application’s end users under GPLv3

Second, since ExtJS is run on the client they consider using the web app Conveyance:

Conveyance vs. Propagation

Since Ext JS, Sencha GXT and Sencha Touch are software programs that can run within the browser while disconnected from the network or the rest of a server program; when a Sencha based interface is embedded in a web-page served to a user who does not have an employee relationship with the original licensed entity, we consider that “conveyance” rather than simple web page “propagation” as defined by the GPL v3 has occurred, and the source code of the whole application must be provided to the user.

So you will need to make the source available to the users of the application. (Much like the AGPL.)

It is clear to me from reading their FAQ that if you intend to use ExtJS in a commercial app they want you to buy a commercial license.

| improve this answer | |
  • So, if I am using a javascript file in my web application which has GPL licence, then I need to provide complete source code(back-end and front-end) to end users ?? :( – Seban Dec 6 '13 at 6:06

Yes you can distribute to any of your friends for personal or business needs. But he should share or provide the source code. Which I think any business user will not comply with. I have copied below phrase from ExtJS home page for your reference:

open source application under a license compatible with the GNU GPL license v3. Although the GPLv3 has many terms, the most important is that you must provide the source code of your application to your users so they can be free to modify your application for their own needs.

Link here: ExtJs Licence, Open Source FAQ, GNU, GPL Licence Terms

It's suggested to buy the commercial licence for all commercial applications and support their developers.

| improve this answer | |
  • "He should share or provide the source code" means whole source code should be available on the web? – Seban Oct 16 '13 at 10:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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