views:

299

answers:

3
+2  Q: 

ext license

Which of the licensing options for the Ext JS library will apply if I use it in our in-house company CMS?

+1  A: 

The GPLv3 will apply unless you buy a commercial license. That is to say, unless you buy a commercial license, your company needs to agree to distribute the software to anyone to whom you distribute a copy of any part (ie. by sending it over to their browser) and otherwise comply with the terms of the GNU GPLv3.

Now, if this is only going to be used by employees of your company, and you don't mind giving your employees copies of your internal-only software (and, potentially, permission to personally redistribute the same), you may not mind being bound by the GPLv3. Ask your lawyer for their opinion as to whether letting employees use the software when acting as agents of the company requires licensing them a copy which they can redistribute when not acting as agents of the company -- my personal interpretation is that it doesn't, but I'm not a lawyer, cannot give legal advice, am not giving legal advice, and may well be wrong anyhow.

Bottom line: if you license your software under the GPLv3 and comply with that license, you're fine deriving from Ext; the GPL doesn't require you to distribute your source to anyone you haven't distributed any portion of the derived work to, so if it's truly in-house and never leaked (even via third-party folks downloading copies of the javascript files into their web browser), you may well be OK -- but find out what your management and legal council are comfortable with!

Now, if you (or your corporate lawyer) isn't comfortable with that (and not being comfortable with that would not be particularly surprising!), you can buy a commercial license. They're pretty reasonably priced, especially if you're buying them on a per-developer basis for only a small number of people.

Charles Duffy
There is a big question mark about whether making an unedited copy of the extjs.js file(s) on a website constitutes "distribution" or "conveyance" in the GPL parlance.
cletus
It is the intent of the author (the extjs.com folks) that such does in fact constitute distribution, and I would expect them to take legal actions in accordance with that interpretation.
Charles Duffy
A: 

According to the official license information, if you are going to derive a commercial advantage from your CMS, you are required to purchase the appropriate number of commercial licenses, unless you distribute your source code with a GPL license. In other words, you are not required to purchase commercial licenses for Ext even if you make a profit on your CMS, as long as you make your source code available under a GPL license.

http://extjs.com/products/license.php http://extjs.com/company/dual.php

Thomas J
does improving company efficiency by using in-house cms also mean commercial advantage?
ken
The second link mentions the "dervie commerical advantage" phrase but as far as I can tell, Ext uses a vanilla GPL v3 license, which doesn't actually work like that. Even the MySQL has publicly mischaracterised how GPL works so its not surprising.
cletus
As Cletus says -- the explanation on the dual-licensing page may have something to do with how they *wish* their license to be interpreted, but it's the text of the GNU GPLv3 (and their choices as to how and when they take actions to enforce that license) that matters.
Charles Duffy
I understand that the derived software we're going to make will also be GPL, but does it necessarily mean that we have to release it in public? I don't see any possibility that the software will be used by any other companies except ours.
ken
Well, software that are running on server machines and typically power websites, are a "special case". You aren't directly publishing the binaries, but you are publishing something more than just raw date as well. Upon re-reading the GPLv3, it seems as if you would not be required to distribute.
Thomas J
The requirement to distribute source code, only takes effect if you distribute the binaries, and you are then required to distribute it with the appropriate GPL license. I am no lawyer though and I would recommend that you contact the FSF for clarification about your "special case".
Thomas J
The extjs folks interpret the license to mean that by downloading the javascript in their browser, the end user is receiving a copy you made. Thus, there's a copy, and you're potentially obligated to distribute source to the person (the user) who received that copy.
Charles Duffy
+2  A: 

Take a look at this quote from Planet MySQL - GPL and Javascript:

[...] The whole story becomes a bit more complicated when GPL is applied to a javascript library. When users are using the library, they will download HTML, CSS images and the javascript library. The first thing to realize is that you are distributing the code. It was on your server and now it on the computer of the user. This gives any user the right to look at the javascript code and reuse it for another project. This means that you can’t obfuscate the javascript code and people can copy/paste it for there own use. This probably how you currently look at javascript anyway. But how about the HTML, CSS and images, can that be publicly used? No it can’t. Those items aren’t code as defined in the GPL license, it should be considered data. Therefor GPL doesn’t ally to that part of the application.

A web application will probably not only have client side code, it will also have a part on the server in the form as PHP (or JSP, or Ruby, or ..) scripts. The big question is, do we need to release that part as well (under GPL license). Although we as developers think of the client and server part being 2 parts of the same application, GPL does not. When using AJAX, the client code is interacting with the server. However you can compare it to any other client/server application. This may be interpreted as 2 applications between which data is transfered, therefor both may have different license. This is called the ‘ASP loophole’ and is as an error by some. When GPLv3 was drawn up, a clear decision was made to not close this loophole.

As with regards to whether or not internal usage constitutes distribution, this is from the GPL FAQ:

Is making and using multiple copies within one organization or company "distribution"? No, in that case the organization is just making the copies for itself. As a consequence, a company or other organization can develop a modified version and install that version through its own facilities, without giving the staff permission to release that modified version to outsiders. However, when the organization transfers copies to other organizations or individuals, that is distribution. In particular, providing copies to contractors for use off-site is distribution.

So IANAL, but I'd say you'd be pretty safe to use a GPL'd javascript library for internal systems, and even if you start exposing it to the rest of the world, the only restriction that applies is that if you use GPL'ed javascript libraries in your front end code, you'd have to make unobfuscated versions of your javascript files available. If you only use ExtJS for the admin area (and the admin area is only accessed by your employees) you'd still be clear of the distribution clause of GPL, the way I understand it.

Interestingly, there's another version of GPL called AGPL, which tries to close this "loophole".

Erlend Halvorsen