X

The ExtJS debacle: What should its licensing strategy be?

GPL'ing your core is a good way to protect the core and of monetizing a decent slice of your adoption. But it's better utilized when a project is a bit further along, and it's arguably not a great model for software that will generally have the most valu

Matt Asay Contributing Writer
Matt Asay is a veteran technology columnist who has written for CNET, ReadWrite, and other tech media. Asay has also held a variety of executive roles with leading mobile and big data software companies.
Matt Asay
3 min read

ExtJS is a cool JavaScript framework for writing web applications. It is, quite possibly, the best of its kind. My own engineers were salivating at the chance to use it.

Unfortunately, ExtJS is of many minds when it comes to licensing its product. It pretended that the software was LGPL, but only insofar as that meant many people using it...and many people paying to use it. (Hint to the ExtJS business team: LGPL and Apache licenses are impotent to compel payment.)

The company took the hint, re-releasing the code under GPLv3, causing consternation in some quarters. Why the concern? Well, because it meant that freeriders would now clearly have to pay, or distribute their own software under the GPL. Many don't like having to pay for value, particularly if it's GPL'd.

All of which has caused some to fork the ExtJS project. Given the dubious open-source provenance of ExtJS, this is not as easy (or advisable) as it might appear. If ExtJS were never truly LGPL, as the messed-up licensing would seem to suggest, then forking a proprietary product is called...copyright infringement.

It didn't have to be this way.

Adoption is the first concern of any startup or new business. Not IP protection. Not monetization. Adoption. If no one uses or cares about your product, it just doesn't matter how much money you can scavenge from the lone customer who does. You need lots of adoption.

ExtJS seems to have put the cart before the horse. It is clearly concerned about monetizing every last download. I have news for you, Jack and team: The model you're looking for is called "proprietary software licensing." That's the best way to wring the most dollars from the least amount of interest.

If you're actually interested in building a viable open-source company, however, here's what I would suggest:

  • Make the ExtJS framework available under a permissive open-source license like LGPL or, better yet, Apache. This will encourage the most adoption. However, it should also be married to...
  • Develop add-on services or software binaries that create more value for the core but are only (initially) available to paid subscribers. This doesn't mean "proprietary," but rather could be accomplished in much the same way that Red Hat delivers value in RHEL.
  • Host your software downloads on Sourceforge or another community site. Hosting it yourself is a poor way to maximize awareness of the project.

If you persist in thinking of the ExtJS core as your sole product, you're going to stymie the potential of your business. Open source is about giving away the core and finding ancillary value for which you can charge. In a less open-source context, think Google and advertising.

GPL'ing your core is a good way to protect the core and of monetizing a decent slice of your adoption. But it's better utilized when a project is a bit further along, and it's arguably not a great model for software that will generally have the most value as an embedded component within a larger product, because the GPL immediately makes payment (to buy one's way out of the GPL) or contribution back of one's source code the first decision, rather than adoption.

You really want adoption to be the first decision that a would-be user must make.