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:

  1. 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?

  2. 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?

closed as too localized by Robert Harvey, gnat, Kilian Foth, EL Yusubov, Dynamic Jun 5 '13 at 0:31

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Have you emailed Sencha and asked them? – Adrian J. Moreno May 29 '13 at 21:35

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:

  1. No, Sencha considers the whole application a derived work.
  2. 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.
  • 1
    Sencha added that clause to their commercial license merely to clarify: you cannot write open-source code under the GPL license and then close that source later; the GPL forbids that. That's true of any dual-licensed model where one license is the GPL and the other license is closed-source. – Robert Harvey May 29 '13 at 22:35
  • 1
    That is one way to read it. The other way to read it is that if I start by downloading the GPL version of ExtJS for my internal development assuming that I will never "convey" the software (because it is only being used by employees of the license holder) I cannot later switch to the commercial version. Granted this would be very hard to enforce but a literal reading of the license implies this. – Craig May 30 '13 at 2:30
  • I hear what you're saying, but if the original program written under the GPL is never conveyed, then there is nothing to be remedied if it is subsequently conveyed as closed source. This is not true if the GPL version is conveyed; once you've exposed the software to the public, you've bound yourself to an agreement that can't be revoked, and I think that meets the spirit, if not the letter, of the Sencha clause. – Robert Harvey May 30 '13 at 2:55
  • 1
    Only Sencha knows for sure how they feel about this; a phone call or email would eliminate much doubt. But I certainly wouldn't turn down money for a commercial license that is obtained in good faith, nor would I fault someone for wanting to test-drive an internal version before springing for the commercial license for public consumption. – Robert Harvey May 30 '13 at 2:59
  • I totally agree. As is almost always the case, asking the rights holder is the best way to get an answer. (and it is cheaper than hiring a lawyer to review the license and interpret it) – Craig May 30 '13 at 13:58

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