I am inquiring about a web app which uses Spring MVC and hibernate on the server and
ExtJS 4 (Sencha JavaScript framework) for the client framework (widgets).
The app is cloud-hosted – it is not “distributed” to users. It is required that users
of the app shall need to purchase a license from the vendor in order to use it.
I am completely new to software licensing and am not sure which ExtJS license is
required/preferable, i.e the commercial license or the GNU GPL license?
I have a few questions to hopefully help clarify:
-
Is it possible to use the GPL license or similar allowing only part of the app’s source
to be distributable, e.g. the Extjs components, but not allow users to see other components of the system? i.e. the Spring MVC, hibernate server components?
Is it possible to restrict access to the ExtJS source if using a GPL license?
In general is it possible to restrict distribution of some aspects of the source when using GPL? -
If the GPL license is acquired, is the source available only to users of the system
or is it open to the whole general public?
1
Read Sencha’s Open Source FAQ and if that doesn’t clear it, up ask them. They will tell you what their license allows and how they interpret the GPL.
Sencha appears to be pretty strict in their definition of derived work and “conveyance”. Since ExtJS is a javascript library you are conveying the work to all end users of the application. And it appears that by their definition both the client code and server code of any application that uses the ExtJS library is a derived work.
Also, Sencha has the following clause in their commercial license:
The license prohibits combining code that you develop using a GPL licensed version of the software with code that you develop using a commercial licensed version. In other words, you may not begin development with our GPL version and then “convert” it to our commercial version.
So don’t start with the GPL licensed version if you plan on ever releasing under a non-GPL license.
My interpretation of the Sencha Licenses: If your code is not GPLv3 do not do any development with the GPL licensed ExtJS code.
And to specifically address your questions:
- No, Sencha considers the whole application a derived work.
- My interpretation of their license and FAQ is that you will be obligated to provide the source code of your web app to all end users of your web app. The GPL does not require you to give the source to the general public but it does allow your users to give it away to the general public.
5