Friday, April 25, 2008

Choosing an OSS License and the Ext-JS saga

The news that Ext-JS has, from one release to the next, changed from a modified LGPL to a GPL based license nearly made me fall off my chair. There have been many poor judged, and ill advised decisions made by software companies over the last few years, but this has got to be up there with the stupidist I've seen and I'm not even personally an Ext-JS user.

What they have effectively done is built up a community, taking full advantage of the open source model by accepting user contributions and patches and then turned around and kicked their own community up the backside. It is projects like Ext-JS that give open source a bad name. How can a company have faith in open source if the people behind it can't even decide how to license the thing?

When you start off in the software business you have to very early on decide whether you are an open source company or whether you are a commercial software company. If you choose the former then you need to choose an appropriate license. For platforms the GPL license can make a lot of sense (think Linux and Java) to prevent forks, force contributions etc. although I'm still not a big fan of it.

On the otherhand for libraries or frameworks only a few licenses make sense (Apache 2.0, MIT, BSD and to a lesser extent LGPL). With Grails we went for Apache 2.0 as one of the most liberal licenses out there. Once you've decided on the license as an open source company your job is the grow the community by attracting users who put faith in your product and the fact that its licensed in a liberal way. Those users would not come in the first place if you had a restrictive license.

By choosing the open source route you have made a decision as a company to promote the community driven approach. Of course this doesn't stop you from releasing a commercial version, you could dual license it as Ext-JS have done for those who want the comfortable feeling of paying for something. You cannot however, have it both ways you are either an open source company or you are not. Ext-JS seem to be stuck in 2 minds as to whether they really are an open source company, it is this indecisiveness that is going to see their community go elsewhere.

It is not like they're unique either, the Ajax framework space is super competitive and they've just dropped the ball and given their competitors a big advantage. My personally prediction on this one is that they'll lose a lot of users, probably to Yahoo UI and jQuery UI or possibly Dojo. Something else will soon come along to fill their space and soon they will have lost their competitive advantage, their users and all those license renewals.

29 comments:

michaelkimsal.com said...

What's so weird is that it grew out of extensions to the YUI in the first place. So some people left YUI for EXTJS, and now some of those defectors may in fact come back to the BSD goodness of YUI.

Stephan said...

"My personally prediction on this one is that they'll lose a lot of users, probably to Yahoo UI and jQuery UI or possibly Dojo. Something else will soon come along to fill their space and soon they will have lost their competitive advantage, their users and all those license renewals."

Amen. I'm glad I'm not the only one thinking this way.

http://stephan.reposita.org/archives/2008/04/24/more-cluelessness-from-extjs-lead-developer-jack-on-the-gpl-issue/

Peace
-stephan

ziegfried said...

It's also completly dramatically for me - since I've put a lot of work in Ext UI - which I can trash right now :( Damn!

Michael Easter said...
This comment has been removed by the author.
Stephan said...

"One could argue for its place in comp sci, business, or ethics."

Or chaos theory.

Cheers
-stephan

Marcel Overdijk said...

I'm not a license guru. But what the EXT faq state is when you modify their code, or extend it, that you have obligations under the GPL license. What these obligations are I don't know and was not bale to find them quickly, so if someone knows let me know.

I'm considering dropping out on the EXT plugin for Grails.

Elvanor said...

I totally agree with Graeme - this is shocking news. This is also sad as I wanted to start using ExtJS extensively in a new project. I did a small review of the available JS libraries out there, and ExtJS really seemed to stand out.

Not so much as an Ajax / general JS library (for this in my opinon nothing beats Prototype which is absolutely awesome - even if it comes from the RoR project, nobody's perfect ;). But as a general library for building rich web applications with widgets etc, ExtJS really seemed great. This is something that:

* Prototype does not do;
* Yahoo UI is seriously behind ExtJS;
* I don't like Dojo approach of non standard HTML to setup the widgets.

I saw that several people have already announced a fork of ExtJS. I wish them a lot of success, and if a solid fork emerges, I'll probably use it.

alan said...

Sadly this doesn't surprise me. As an open source project, these guys were very elitest and not at all professional when it came to releases.

They released way too often, nothing wrong with that, but their releases often broke existing applications.

We used ExtJS in 3 projects, each of them stuck in their particular version because the next one requires significant engineering.

They are like kids in a candy store, always looking for next coolest sweety, ignoring all previous sweets.

I have since abandoned ExtJS and moved to Google's GWT.

Daniel said...

Use GWT or Dojo and find a great CSS guy to fill the "slickness"-gap. You can create amazingly looking applications without ExtJS, it just requires more effort by the designer-guys ;)


Whatever the motives of Jack Slocum were when switching the license (be it good or bad), he has lost a lot of trust among professional developers.

I can tell you that I would not go to my PM/manager to talk him into buying Ext licenses. They have lost my trust and to me it is like ExtJS never even existed.

Anonymous said...

I don't get how you can be upset with a company for releasing their code under the GPL!!

This isn't about which license is better for FREE commercial development. If that's the case ASF, BSD, etc would would win hands down.

It clearly appears the old license had cracks in it, and it needed to be repaired. You might not like the GPL, but its as Open Source as you are going to get.

Graeme Rocher said...

@Anonymous

I have no problem with them releasing their product under GPL or with the GPL license for certain types of open source projects. That is I have no problem if they had done this from the beginning.

My problem is that they have led people along by pretending they have a liberal LGPL license, taking full advantage of the benefits that brings in terms of rapidly growing a user community, accepting user contributions and seeing excellent sub projects like GWT-ext spring up and then promptly turned around and slapped those same users in the face by converting to GPL.

If they had been GPL from the beginning no one would have been under any false impressions on what Ext-JS is and how its licensed and I can guarantee you they wouldn't have half the community they do now

Anonymous said...

I don't know if it makes sense to release a javascript library as GPL: javascript is already released to the client/customer, isn't it? So what's the problem?
If you wonder about the server code, it's neither linked statically or dinamically to the client javascript code, so you can release to whatever licence you want. Am I wrong?

Chrigel said...

Well, this news sure caught me on the wrong foot. I will stay with the LGPL version and see where it's going.

Anonymous said...

not to mention that the library was originally licensed as BSD.
Then converted to what they "claimed" to be LPGL but in reality was not. (it had additional conditions).
Getting criticism for claiming to have LPGL license when they haven't, they chose to move to GPL.
In fact, initially they were not even all the way GPL, adding limitation like "can use GPL license for non commercial use", then removed this limitation quietly.
This still may have been acceptable if they added a FLOSS exception like MySql does, instead they are interpreting using js on a web page as distribution that requires server side to be GPLed as well.

The damage they've caused by creating confusion goes beyond ExtJS project







This would still not be bad,

Georgi said...

At least they did it. Changed the license. Again.

Graeme, you are right in claiming that someone who does not clearly state what he wants is not trustworthy enough for a community of +35000 users. And no, I think that the GPL does not even state that something that runs over a network has to be GPLed at last. extjs may not ask you to GPL all your (server) code by using extjs. I think they do not know this fact. I think they are a little bit headless at the moment.

I like extjs. I wanted to buy licenses but I had to read "another license change" today. I am a developer who has to use frameworks, who has to pay bills and who has to look for the company he's working at. The following is what I think: http://www.dzone.com/links/extjs_when_open_source_kills_community_progress.html

Just my $0.02, Georgi

phil said...

@Elvanor

I was planning to use ExtJS with Jaxer. Now I am reconsidering unless they re-add some sort of permissive license again. I haven't completely written off ExtJS yet. And I still want to use Jaxer. I am looking at Dojo again, jQuery UI, YUI, etc - but I am also looking at the new Javascript client-side toolkit of Echo3 beta1. It looks quite clean and you can create your app entirely with Javascript with no markup. That's one of the things which I loved about Ext was that I could code everything without HTML markup. I think you CAN do this with Dojo/Dijit as well but all of the examples I am seeing use markup. So take a look at Echo3 as well at http://echo.nextapp.com/site/

phil said...

Also look at this example application: http://download.nextapp.com/downloads/echo3csjs/0.1.4/e3demo.zip

and it's main download page here: http://echo.nextapp.com/site/echo3/download

NextApp's Echo product originated as a Java-based web application server which supported Ajax and you coded everything in Java much like GWT. With this beta of Echo3 now you can ocde the UI in Java server-side or Javascript client-side. It is licensed under Mozilla public license, LGPL and GPL.

jmarranz said...

Of course they want to make money, make money is fine but the chosen path (from liberal license to restrictive license) is ... ugly.

When I was developing ItsNat (a Java AJAX framework) I was clear with the license model, dual licensed AGPL/commercial from START.

http://www.itsnat.org

Scott A said...

Hmmm. Seems to me people are overly willing to ascribe malice to what appears to me to be simple lack of judgement.

The ironic thing is that Ext changed their license because people were complaining about them using the LGPL.

As a business user, I could care less. As an end-user developer, GPL and LGPL are both open source, and there's no practical difference between the two for Javascript web libraries. What's the big deal?

The only people who have a reason to complain are those who want to use Ext JS as part of their own libraries. I suspect that's a vanishingly small number compared to Ext's target user base.

Scott A said...

One other thing: I doubt they're going to lose many users at all.

Reason the first: most users really don't care about this at all. It's a tempest in a teapot frothed up by people who write libraries and want to use Ext as part of their own work. Not a big deal.

Reason the second: after doing an extensive comparison of the available options (Flex, Ext, YUI, jQuery, MooTools, Dojo, GWT, etc.) for my company, we came to the conclusion that Ext is quite a ways beyond the other options when comparing functionality, appearance, consistency of code, performance, robustness, and development methodology.

Combine both reasons and not many people are going to see any advantage in moving from Ext at all.

Anonymous said...

Scott A = Jack

Anonymous said...

I have recommended that library in my company, and used it in two projects. now it really put me into an awkward situation, I am considering replace it in my current projects, but it requires too much time, and i feel it's difficult to ask for help from my team members, since I am the one who brought the project into current situation.

game gold said...

I can not leave Anarchy credits . I buy Anarchy Online credits again, I do not want to leave you. Buy Anarchy gold is the thing I want to do. I know that Anarchy online gold is your life. I think I buy AO credits is the fate.

sm said...

網頁設計,情趣用品店,情趣用品專賣網

A片,色情A片,免費A片,成人影片,色情影片,a片免費看,情色貼圖,情色文學,情色小說,色情小說
AV,AV女優

辣妹視訊,美女視訊,視訊交友網,視訊聊天室,視訊交友,視訊美女,免費視訊,免費視訊聊天,視訊交友90739,免費視訊聊天室,成人聊天室,視訊聊天,視訊交友aooyy
哈啦聊天室,辣妺視訊,A片,色情A片,視訊,080視訊聊天室,視訊美女34c,視訊情人高雄網,視訊交友高雄網,0204貼圖區,sex520免費影片,情色貼圖,視訊ukiss

Anonymous said...

If I had enough money I want to buy much atlantica gold, then I can every day to play the game and earn more atlantica online gold, but I do not had so I only buy atlantica gold, and hope buy the cheap atlantica gold, so I was very hope I had a lot money.

Anonymous said...

healthSouth Koreapsychological defenseTomicapregnancyLove and marriagekeep thinhouseTwilightAnecdotebabyeconomy depressionautoYao Restaurant travelcareerbabyloveweddinghealthlose weightbeautygardening babyComputerpoisonous animalbaby smarterexcitation method

Anonymous said...

^^ nice blog!! ^@^

徵信, 徵信網, 徵信社, 徵信社, 感情挽回, 婚姻挽回, 挽回婚姻, 挽回感情, 徵信, 徵信社, 徵信, 徵信, 捉姦, 徵信公司, 通姦, 通姦罪, 抓姦, 抓猴, 捉猴, 捉姦, 監聽, 調查跟蹤, 反跟蹤, 外遇問題, 徵信, 捉姦, 女人徵信, 女子徵信, 外遇問題, 女子徵信, 外遇, 徵信公司, 徵信網, 外遇蒐證, 抓姦, 抓猴, 捉猴, 調查跟蹤, 反跟蹤, 感情挽回, 挽回感情, 婚姻挽回, 挽回婚姻, 外遇沖開, 抓姦, 女子徵信, 外遇蒐證, 外遇, 通姦, 通姦罪, 贍養費, 徵信, 徵信社, 抓姦, 徵信, 徵信公司, 徵信社, 徵信公司, 徵信社, 徵信公司, 女人徵信,

徵信, 徵信網, 徵信社, 徵信網, 外遇, 徵信, 徵信社, 抓姦, 徵信, 女人徵信, 徵信社, 女人徵信社, 外遇, 抓姦, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信社, 女人徵信社, 徵信社, 徵信, 徵信社, 徵信, 女子徵信社, 女子徵信社, 女子徵信社, 女子徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信社,

徵信, 徵信社,徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 外遇, 抓姦, 離婚, 外遇,離婚,

徵信社,徵信, 徵信社, 徵信, 徵信社, 徵信,徵信社, 徵信社, 徵信, 外遇, 抓姦, 徵信, 徵信社, 徵信, 徵信社, 徵信, 徵信社, 徵信社, 徵信社, 徵信社,徵信,徵信, 徵信, 外遇, 抓姦

Website Hosting said...

Thanks for the nice post.

Anonymous said...

看房子,買房子,建商自售,自售,台北新成屋,台北豪宅,新成屋,豪宅,美髮儀器,美髮,儀器,髮型,EMBA,MBA,學位,EMBA,專業認證,認證課程,博士學位,DBA,PHD,在職進修,碩士學位,推廣教育,DBA,進修課程,碩士學位,網路廣告,關鍵字廣告,關鍵字,課程介紹,學分班,文憑,牛樟芝,段木,牛樟菇,日式料理, 台北居酒屋,日本料理,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,台北結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,住宿,訂房,HOTEL,飯店,造型系列,學位,牛樟芝,腦磷脂,磷脂絲胺酸,SEO,婚宴,捷運,學區,美髮,儀器,髮型,牛樟芝,腦磷脂,磷脂絲胺酸,看房子,買房子,建商自售,自售,房子,捷運,學區,台北新成屋,台北豪宅,新成屋,豪宅,學位,碩士學位,進修,在職進修, 課程,教育,學位,證照,mba,文憑,學分班,網路廣告,關鍵字廣告,關鍵字,SEO,关键词,网络广告,关键词广告,SEO,关键词,网络广告,关键词广告,SEO,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,台北住宿,國內訂房,台北HOTEL,台北婚宴,飯店優惠,住宿,訂房,HOTEL,飯店,婚宴,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,台北結婚,婚宴場地,推車飲茶,港式點心,尾牙春酒,居酒屋,燒烤,美髮,儀器,髮型,美髮,儀器,髮型,美髮,儀器,髮型,美髮,儀器,髮型,小套房,小套房,進修,在職進修,留學,證照,MBA,EMBA,留學,MBA,EMBA,留學,進修,在職進修,牛樟芝,段木,牛樟菇,關鍵字排名,網路行銷,关键词排名,网络营销,網路行銷,關鍵字排名,关键词排名,网络营销,PMP,在職專班,研究所在職專班,碩士在職專班,PMP,證照,在職專班,研究所在職專班,碩士在職專班,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,SEO,廣告,關鍵字,關鍵字排名,網路行銷,網頁設計,網站設計,網站排名,搜尋引擎,網路廣告,EMBA,MBA,PMP
,在職進修,專案管理,出國留學,EMBA,MBA,PMP
,在職進修,專案管理,出國留學,EMBA,MBA,PMP
,在職進修,專案管理,出國留學

住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,住宿,民宿,飯宿,旅遊,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,美容,美髮,整形,造型,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,設計,室內設計,裝潢,房地產,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,進修,在職進修,MBA,EMBA,住宿,民宿,飯店,旅遊,美容,美髮,整形,造型,設計,室內設計,裝潢,房地產,進修,在職進修,MBA,EMBA,羅志祥,周杰倫,五月天,蔡依林,林志玲,羅志祥,周杰倫,五月天,蔡依林,林志玲,羅志祥,周杰倫,五月天,蔡依林,羅志祥,周杰倫,五月天,蔡依林