Question

I've noticed that ExtJS's decision to change their license from LGPL to GPLv3 caused a lot of controversy. My question isn't about ExtJS but rather about how GPL licenses affect web applications.

Why are people so concerned with keeping their client-side source-code closed? Aren't all client-side web-applications open-source anyway? I mean, if you use HTML/CSS/JS you are publishing the source-code of your client-end. Isn't that what GPL for ExtJS would require you to do anyway? Last I checked, there is no way to close-source HTML/CSS/JS anyway.

Looking at code-generation technologies like GWT, I assume you'd have to open-source the HTML/CSS/JS generated by GWT but not the original Java code used to generate it. Is that correct?

Was it helpful?

Solution

You're mixing up source availability and open source. Yes, every site must make their HTML and JavaScript available for download. However, open source is much more than that. It requires specific licenses that grant freedoms including:

  1. Right to modify
  2. Right to redistribute
  3. Right to sell

See the Open Source Definition.

The GPL is one such license. Importantly, it is also a strong copyleft. Not all open source licenses are copyleft. Generally, if your code derives from strong copyleft code, and you distribute it, you have to distribute your own source code under the same license.

The LGPL license is a weak copyleft. This generally means you only need to distribute changes to the library, not your application code.

For ExtJS in particular, the reason they made the change is that they are pursuing a dual licensing business model. Note that they also have certain exceptions for open source projects (this is because not all open source licenses are compatible with the GPL). Basically, open source applications can use it freely at no charge without much issue.

However, proprietary applications will have to buy one of the ExtJS proprietary licenses.

Incidentally, Ext JS apparently has a messy licensing history even before this (e.g. LGPL with custom riders).

IANAL. TINLA.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top