Saturday, April 26th, 2008

Ext JS and the fun with Open Source licenses

Category: Editorial, Sencha

There has been a lot of noise revolving around Ext JS and the open source license decisions. Under the original license (LGPL-ish) many thought that it wasn’t actually an open source license at all. Jack changed to GPL last week when he announced version 2.1, but others have been upset with views on forking the old code-base.

I have publicly tried to stay out of the discussion, but today Jack published his thoughts and timeline, as well as frustrations with personal attacks.

This is all such a shame, as Ext JS is great stuff, and I wish that Jack could be spending him time on building more great functionality, and growing his business. I am sure these debates have taken way too much time and energy.

Here is the history from Jack’s point of view:

  • For 7 months I wrote yui-ext full time from my home, gave it away under a BSD license and loved every minute of it. There weren’t many donations and no official support from Yahoo. With my third child due, and savings running low I had to find a way to continue building what was now changing to Ext JS and also find a way to earn a living from it.

    At this time I contemplated switching to a strictly commercial framework. I openly discussed this decision with the community in the Ext forums. If you want to read the discussions, they are here:

    “Official Commercial License Input Thread”

    “Official Open Src License Thread (Commercial License Part 2)”

    In the end, after much discussion with the community, I decided to go to the LGPL.

  • Shortly before 1.0 is released, there numerous Ext “clones” started popping up that were hacking Ext themes, css and other resources from 1.0 – before we had even released 1.0. Here I had 4 new themes for Ext JS 1.0 that I had spent countless hours working on (I am not a great designer) and what could now be considered competitors were already using it before I even have a chance to release Ext 1.0.

    That’s why the proprietary license on the “Assets” (CSS and images) was introduced in Ext 1.0.

  • Ext JS 1.0 is released under the LGPL, minus the Assets license as mentioned above. Shortly thereafter 2 major publicly traded corporations (names withheld) embedded Ext JS into their development frameworks. With no mention of Ext JS except in credits files that no one ever saw. No support for all the work that had been put into the framework. Neither one of them even contacted us. How can that be possible? Can they do that? How can we compete with them taking such a large chunk of our potential customers? These are the questions I was faced with and so began my “Intro to Business 101″.

    The next release of Ext JS was released under the Ext License, to serve as proxy to the LGPL and add the additional “no framework/toolkit” restriction that was present until 2.1.

Then things got public:

  • This blog post comes out on CNET out of nowhere:

  • Alex Russell publicly bashes the Ext License on Ajaxian (sorry no link, I could’t find it) and then continues his attack on the license with me personally over email. He then follows with this blog post:

  • Matthew Garrett decides in his infinite wisdom to completely disregard our Ext License or Assets license:

  • Dion Almaer of Ajaxian privately informs us of concerns he has about the Ext License. His points are very clear and sincere and he is only interested in the open source community as a whole.
  • Several private conversations were held with customers regarding the license, spurred by the links and discussions above.

Then Jack talks about some personal attacks, which I won’t go into here.

I really hope that this can be worked out, and we can move on. The last thing that Jack, the Ext community, and even the open source JavaScript community needs is for this to go forward. It needs a quick solution, and I think that a message about the past code base can take care of this.

This reminds me of my old days running TheServerSide. These kind of situations happened pretty regularly. Controversy was the norm, especially with characters like JBoss around… oh and CocoBase brought a lot of hilarity too with their fake legal stupidity.

Anyway, I have been very happy to see that Ajaxian hasn’t had the same level of controversy in the Ajax community as I saw in the Enterprise Java one. Controversy is great for page views, but life is too short. I hope that our community stays strong and united around the simple goal:

Let’s grow the Open Web. The bigger we grow it. The bigger the pie. And, then we all succeed.

Posted by Dion Almaer at 3:03 pm

4.7 rating from 82 votes


Comments feed TrackBack URI

I can really understand that people need to make money, but the’re no license whatsoever keeping people who care shit about that from just grabbing your JS and copying/altering it. That’s the hard facts, but please, let these three or four people pet themselves on the back for pirating someone’s stuff and hope that revenue will come from selling licenses.

One tip though. Stay professional whatever happens. Google knows all and this will stab you in the back when people do research about your license.

Comment by SchizoDuckie — April 26, 2008

Well, that’s OpenSource for you… but one by one.
1. If you want to publish your work as OpenSource, you’ll have to play by OpenSource rules… you can choose to play by any other set of rules, but if you want to claim to be an OpenSource project, then you’ve got to play by their rules, there’s no way around that. Playing by your own rules is fine, just don’t advertise as OS, but use a term reserved for these limited licenses like “Shared Source”, “Free” or “Community-Driven”.
2. I absolutely agree on the “Asset” system. OpenSource is about improving a project’s sourcecode and while you should provide necessary components (such as an example theme), there’s no need for content that does nothing for people that want to fork to be released as OpenSource as well. This is absolutely in line with what OpenSource is about.
3. If you don’t want people to fork into legit projects, with or without your help, then OpenSource is not for you.

I know these rules are sometimes tough, but you’ve got to see it like this: “Open Source” is like a seal of quality that you can use to advertise if you follow the rules.

Comment by Hans Schmucker — April 26, 2008

One thing that would be a great service to the community and help with whole… “Let’s grow the Open Web. The bigger we grow it. The bigger the pie. And, then we all succeed.” … thing, is for Ajaxian with its power to get someone that actually knows something about the GPL license and it’s application to an Ajax library to give their thought’s on this subject. There are many question people including myself have questions about it.

Comment by digitalIchi — April 26, 2008

“I am sure these debates have taken way too much time and energy.”

This is ridiculous. Being a social creature means being responsible to those you affect. People aren’t entitled to his work, but they certainly are entitled to question his actions and to express how they’re negatively impacted by the change. While the new license fits proprietary and GPL work, it has stunted an upgrade path for other open source licensed software that is incompatible with the GPL, and that came somewhat unexpectedly.

Controversy and debate shouldn’t be bad words. Those are the things that help us improve how we relate to one another, which is far more important than being “professional”.

Comment by Trevor — April 26, 2008

Sorry, I can’t help myself on this…
If we should “help grow the open web” why do you write so much about Flex and even have ADDS for it…?
Do you (Dion) consider Adobe Flex for being a member of the “Open Web”?

Comment by polterguy — April 26, 2008

I dont mind the license change. The actual cost to buy the commercial license is low for the quality of the library. I’m building a CMS on my spare time and a lot of it is based on ExtJS, even though for the time being i have no profit out of it i would gladly pay the commercial license fee once i’m going commercial with my software. If i’m getting money out of something i think its only fair to pay for every piece of code i used that’s licensed to someone else.

Comment by Kyriakos — April 26, 2008

A more commercial license is not only fair but well within the rights of Jack and Co. to demand. While I love the open source community, without it I would never have learned most of what I know now, its quite impractical for major developers and software engineers to continue to create these terrific products and frameworks without expecting major commercial projects to compensate them for their use of the framework.

Comment by Sean Foushee — April 26, 2008


How is it impractical? We’ve been managing to build a vibrant community of highly professional contributors for Dojo for years now. Many of us have gotten employment *because* of that work and the character of the community has remained in-tact. No license changes, no usage fees.

Everyone has a right to charge whatever they choose for their work, but I don’t think you can extrapolate from one example to suggest that projects *must* charge usage fees to continue to produce high-quality work…unless you’re also arguing that there’s something fundamentally different about your chosen example. Otherwise, YUI, Dojo, TIBCO/GI, JQuery, Prototype and many others provide plenty of proof that you don’t need to charge, and that’s just in the JavaScript space. Taking a look at the larger world of Open Source makes the point even more plain.


Comment by slightlyoff — April 26, 2008

Although I sympathise with Jack’s situation the fact is you cannot have your cake and eat it.

Jack has been able to expose Ext-JS to a huge amount of publicity that Ext-JS would not have got had it been licensed under a restrictive license like GPL

The result is he has used the community driven nature of open source software and obtained a large number of users as a result and now turned around and slapped those same users in the face.

You are either open or you are not, you cannot have it both ways.

Comment by graemerocher — April 27, 2008

I just posted a commentary about Jack’s post as well:

Comment by Noah — April 28, 2008

Leave a comment

You must be logged in to post a comment.