On ExtJS and GPL
Here is an interesting short article on ExtJS and the GNU GPL.
First off, if you are a developer (open source, closed source, doesn’t matter), you need to know the area of licensing. You should actually have read, studied, and understood at least the most popular licenses out there, so that you know what you can (and cannot) do when you link with code that uses those licenses.
Secondly, JavaScript code runs on the client, not the server, and cannot link to the server’s code. This also means that a JavaScript framework can be licensed under the GPL, and you have no requirement to release the source code to the back-end processing code. When you design a Web application, there are two components to it: The front-end and the back-end. These can be further subdivided a bit, if you were to employ the use of the MVC architecture for your application. However, no matter how sloppy you write it, there are two distinct components: The front-end and the back-end. That’s it.
Now, these are logically speaking two separate programs. They may work cooperatively, but think about it like this: The Web browser is a framework for zero-install client application software, which uses a network connection to talk to server application software. The front-end code, logically speaking, can be used on different back-end servers, too. It doesn’t have to be only for the backend it was designed for, nor does anything stop the backend from talking to a third party client application that isn’t in a Web browser.
Think about it this way for a minute: Amazon’s S3 service publishes only an API. You must write a front-end to sit on top of it. Your front-end being GPL’d will not force Amazon to open up S3, no matter what. It’s clearly separated.
So, think about those licenses and their interactions and do not spread FUD when you do not understand the interactions that are there. If you cannot distinguish between the front-end and back-end of a Web application by looking a working copy of it, you should probably consider learning more before you continue to write software. Writing software is a construction activity and does require real knowledge and experience, as well as the ability to think critically about problems—and a few minutes of critical thinking would save a lot of people from reading ranty, panicy posts on things like licensing issues. (This is also why management, unless they are technical-minded, really should not be making technical decisions, but that’s another post for another time.)