Which of the licensing options for the Ext JS library will apply if I use it in our in-house company CMS?
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.
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
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".