a little madness

A man needs a little madness, or else he never dares cut the rope and be free -Nikos Kazantzakis

Zutubi

Ext Discovers Step 2 of the Slashdot Business Model?

For many years, step 2 has eluded the slashdot community:

1: Start your project.
2: …
3. Profit!

Now, however, Ext, the company behind the popular ExtJS Javascript library, seem to believe they have pinned down this step. In the latest 2.1 release, Ext has switched from a dual LGPL/commercial license model to a dual GPL/commercial license model. Despite claims from the company that this was done due to community concerns about ExtJS not being fully open-source, the majority have seen what this really is:

1: Start your project under a LGPL/commercial license model.
2: Switch to a GPL/commercial license model.
3: Profit!

The model works because step 1 allows you to build a community around the more liberal LGPL license. In particular, as the LGPL is commercial-friendly, the community will include many people building commercial applications. Once the community is suckered in and committed, the license is changed, leaving them high and dry. Well, not quite: they can continue to use new versions of the library by buying a commercial license. Hence the profit!

Not surprisingly, this sudden license switch has caused a large community backlash. People don’t like to feel that they have been baited in this way. The defense from Ext runs along a couple of lines:

  1. They are just applying the “Quid-Pro-Quo” principle: i.e. if you get something out of Ext, you should give back. This is fine: Ext have created a great library and have every right to charge for it if they wish. But it isn’t the use of a commercial model that is wrong here: it is the sudden switching of models. Ext have massively benefitted themselves from liberal licenses, both in terms of the libraries Ext was originally built around (e.g. YUI which is BSD licensed) and the community that appeared around Ext itself, submitting bug reports, patches and extensions. What are they now giving back to these communities they have used?
  2. The previous licensing was confusing and criticised for not being “open” enough. Simplifying the licensing scheme is fine, but there was no need to change to the GPL to do this. In fact, switching to the GPL has caused more problems for open source projects built around Ext than it has solved. Because of the viral nature of the GPL, those projects must now reconsider their own licenses to be able to upgrade to the latest version of ExtJS. The Ext team surely realise this, so trying to give this reason for the license switch is misleading on their part.

The backlash has been all the greater because of how the switch has been handled:

  1. The community was given no warning or consultation, despite this change being ostensibly for their benefit.
  2. Ext were not forthright with the real motive for the change.
  3. Ext are claiming that a fork of the existing 2.0 version is not legal, due to the way they applied the LGPL. This is likely to be incorrect, and if correct then their use of the name LGPL was grossly misleading.
  4. There is still confusion around the licensing. For example, the commercial license does not clearly spell out what happens when upgrading. Debates continue around the applicability of the GPL to hosted applications and those that generate code. Ext have been far from responsive on these matters.
  5. This is not the first major license change for ExtJS, leaving many anticipating similar upheaval in the future.

The saddest part about this is that the Ext team really have built a fantastic library, and a vibrant community around it. The library had all the hallmarks of an open source success story. Now, however, Ext have committed the cardinal sin of an open source project: they have undermined the trust of their own community. I can see the strategy making a short term profit, and perhaps even a long term business. I cannot, however, see the community returning to full strength. In the long run, although Ext may have a successful commercial offering, they will lose a large part of their current and potential community to competing and still-open projects. The power of the community will see those competitors flourish.

Liked this post? Share it!

35 Responses to “Ext Discovers Step 2 of the Slashdot Business Model?”

  1. April 24th, 2008 at 1:02 am

    softlion says:

    You are just right.

  2. April 24th, 2008 at 8:30 am

    PowersUSA says:

    I could not have summarized this better myself.

  3. April 24th, 2008 at 12:21 pm

    Miguel Benevides says:

    Bullseye! Sure hope a fork is legal… Ext community is/was the best… many members of the Ext team came from early adopters…
    They deserve to make some(lots of) money, and to be honest, i’m surprised no major company ‘bought them’ already.
    They will profit (for a while), the community will prevail… with or without them.(excuse my english)

  4. April 24th, 2008 at 12:47 pm

    nick says:

    I honestly don’t see the problem. Seems like a great business model for customers. If you use the gpl version, no prob – you have to help build the community up further by releasing your source. If you decide you want to use under closed-source to make money, no prob – pay the framework authors some money for their hard work.

  5. April 24th, 2008 at 1:50 pm

    Minh Tran says:

    How stupid Ext team is !!!!!

  6. April 24th, 2008 at 4:28 pm

    Stephan Schmidt says:

    Excellent analysis.

    http://stephan.reposita.org/archives/2008/04/22/when-people-dont-understand-gpl-and-lgpl/

    1: Start your project under a LGPL/commercial license model.
    2: Switch to a GPL/commercial license model.
    3a: People fork
    3b: jQuery UI will rise

    Funny also how they claim people cannot fork the latest LGPL branch. Hilarious.

    Peace
    -stephan

  7. April 24th, 2008 at 4:30 pm

    Stephan Schmidt says:

    @Nick: There is an error in your thinking. ExtJS not only prevents commercial companies to use it but also Apache/BSD licensed Open Source projects. Which makes the “Quid-Pro-Quo” they cite a farce: ExtJS has used liberal licensed libraries for it’s success but doesn’t want to give back to them.

  8. April 24th, 2008 at 4:46 pm

    Jack Slocum says:

    I’ll quote myself since I think it applies to your statements above as well. There is a reason behind everything, and contrary to your belief, it’s not always a plan to “trick” users.

    Quote:

    While I understand your opinion about “cashing in” that wasn’t the motivation at all. Try searching Google for “Ext is not open source” or something like that. There was quite a bit of recent discussion on the subject and we felt the need to address it.

    Releasing under straight LGPL was not option as a business. We tried that with version 1.0 and found out quickly that it enabled others (e.g. large commercial entities) to take our work, wrap it up and sell it as their own. With no mention of us at all. We, as a business with a full time team of talented developers can not exist under those circumstances. We would quickly become diluted and competing with ourselves!

    That’s why Ext 1.1 introduced the Ext License instead releasing directly under LGPL. This however killed any open source usage. If we had a modified LGPL, it also would be the same scenario – a shared source license, not quite open source according to the critics attacking Ext JS.

    In the end, we were faced with an identity decision – are we an open source company funded by commercial endeavors or a commercial company with a proprietary framework under a shared source license? Since we started we have been open source and that is the route we will continue on.

    Best of luck with future projects.
    — End quote

  9. April 24th, 2008 at 5:50 pm

    When people don’t understand GPL and LGPL - or - ExtJS is history at Stephans Blog says:

    [...] 2: A little madness has a nice analyis on the switch. addthis_url = [...]

  10. April 24th, 2008 at 5:54 pm

    Stephan Schmidt says:

    “[...] wrap it up and sell it as their own. [...] With no mention of us at all.”

    Nope, that would be illegal in most countries. You can deprive the author of his ownership and tell people the work was yours.

    If someone would repackage ExtJS he would be required to keep the headers and original copyrights in tact. So by definition he can’t “sell it as his own”.

    This just shows how uninformed the ExtJS core developers are.

    Peace
    -stephan

  11. April 24th, 2008 at 8:41 pm

    Sergio says:

    So ,where can we get a lawyers opinion (with expertise on LGPL / GPL matters) on this one?
    The relevant questions would be:
    1. Is it legal for someone not involved with extjs LLC to fork the latest LGPL version (2.0.2)? My guess is Yes.
    2. Is it legal for someone not involved with extjs LLC to redistribute extjs 2.0.2 under an LGPL license? My guess is also Yes.
    The reasoning behind is that LGPL are licenses which not only grant other people the right to “use” a library, but also the rights to modify the library as they see fit, and redistribute it as they see fit, within the liberties and restrictions of the LGPL license.
    Most of us are “pretty” sure that the 2.0.2 version is free for all to use, modify and redistributed, despite whatever extjs LLC claims, but we would like to have the final “legal” word on this matter.

  12. April 24th, 2008 at 9:04 pm

    More cluelessness from ExtJS lead developer Jack on the GPL issue at Stephans Blog says:

    [...] the excellent analysis on A little Madness about the GPL and ExtJS issue, there is more cluelessness in a comment by Jack Slocum the ExtJS [...]

  13. April 25th, 2008 at 9:42 am

    Jason says:

    nick: As I said in the post: the problem isn’t the new model, rather the switching of models.

    Jack: Thanks for your response. It does address the more cynical opinion that this was all planned from the start. FWIW I don’t believe that at all. However, that doesn’t make it right to switch now. This is because you must realise that using a liberal license has been key to helping the project grow, and I don’t think it is right to try to reap the rewards of that at the cost of the community.

    Unfortunately your response doesn’t really cover any of the other points in my post. For example, why continue to assert that switching to the GPL was only to address concerns of openess? A simplification to the license that retained the LGPL would have answered these concerns. As you say in your post: you chose the GPL for business reasons. This should have been stated up front.

    Your concerns re: repackaging are, I think, unfounded. It may happen, but I can’t believe a large number of people would pay someone else for Ext if they could get it under the LGPL from yourselves. They may pay for something of value built on top of Ext, but this does not cost you anything. In this case they are paying for the value produced by the third party that they cannot get from Ext anyway.

    Also, I think you are on very shaky ground by saying your are an open source company. A fundamental freedom of open source is the ability to fork. Ext clearly does not want to allow this freedom. This is within your rights of course, but at odds with your asserted commitment to open source.

    I won’t rehash the other points I already made. I would finish by saying, however, that I think you underestimate what your business can lose by cutting of those who rely on the LGPL. The fact that they are not paying you a license fee today does not mean they are not valuable. I hope you reconsider the decision, because I think that you could have a great business success without undermining your own community in this way.

  14. April 26th, 2008 at 12:48 am

    ReinoutS says:

    “So ,where can we get a lawyers opinion (with expertise on LGPL / GPL matters) on this one?”

    Sergio: I suppose the Software Freedom Law Center would be the place: http://www.softwarefreedom.org/

  15. April 26th, 2008 at 1:01 am

    Daily del.icio.us for April 22nd through April 25th — Vinny Carpenter’s blog says:

    [...] a little madness » Ext Discovers Step 2 of the Slashdot Business Model? – The saddest part about this is that the Ext team really have built a fantastic library, and a vibrant community around it. The library had all the hallmarks of an open source success story. Now, however, Ext have committed the cardinal sin of an open sour [...]

  16. April 26th, 2008 at 1:49 am

    Aad Nales says:

    We build and release websites with content management systems under Apache/BSD style licenses. In fact our whole system is open source. We do like (actually we are completely blown away by) Extjs. We have just switched all of our frontend to using Extjs and now this.. I feel completely betrayed. Can you sue somebody for switching licenses :-(

  17. April 26th, 2008 at 4:45 am

    Alex Russell says:

    Aad:

    Well, you can sue anyone for anything, but I doubt you’d win in this particular case. Regardless, you *can* switch to one of the high-quality, open-project (not just source-available), un-encumbered and vetted BSD-ish alternatives like…um…I guess that just leaves you with Dojo.

    Give it a try. We think you’ll like it!

    Regards

  18. April 27th, 2008 at 6:07 pm

    Ajaxian » OpenEXT: The fork says:

    [...] that they themselves put into the project. You see the opposite in fact when you read posts such as this one from Jason Sankey: The saddest part about this is that the Ext team really have built a fantastic library, and a [...]

  19. April 28th, 2008 at 5:01 pm

    EXT JS and The Nightmare of (Open Source) License | Just Talk About Web says:

    [...] Ext Discovers Step 2 of the Slashdot Business Model? [...]

  20. April 29th, 2008 at 10:11 am

    Web 2.0 - Vietnam » Blog Archive » Ext JS và Bài Học Về Mã Nguồn Mở says:

    [...] Ext Discovers Step 2 of the Slashdot Business Model? [...]

  21. April 30th, 2008 at 9:25 am

    jj says:

    This is “the GPL loophole.” Those that stick to this model will be contributing in a manner that would be unthinkable before: freely sending your work for a company that will package it and sell under a proprietary license.

    The only license that will protect your work, should you want to close, and *still* be able to function in an open source environment is the BSD (or similar) licenses.

    Be wary of the GPL.

    The BSD community has been saying this for a long time, but all those GPL fanboys liked to shout over our voices and now the GPL has spread too far and we are begining to see the damages.

  22. May 1st, 2008 at 9:55 am

    Chris Scott says:

    I think we’re going to soon find that this has all been loudly blown out of proportion:

    “Open Source License Exception for Extensions
    Draft .26, April 28th, 2008″
    http://extjs.com/products/ux-exception.php

  23. May 19th, 2008 at 6:35 am

    John Teague says:

    Having tested a variety of JS libs of late, and having been a developer on several open source projects, including Prado, and others, I think the problem with Ext is:

    1. The lack of collaborative discussion with the entire Ext community prior to making the decision to go GPL/Commercial.

    2. A rather closed off attitude towards new users. Their forum is filled with sarcastic, belittling, comments by so-called support, premium members, and core devs. I swear, it seems that this rather tiny group would rather sit about comparing their super-secret-decoder rings than lower themselves to provide encouraging, helpful answers to inexperienced Ext users. Nothing, including poorly conceived licensing schemes, turns potential developers (and thus their companies) off faster than smart ass responses, and rather childish rants. Ext had better come to some agreement on how to handle user support, else they will soon be deader than Julius Caesar–and a lot sooner than they think.

    3. There is nothing unusual about dual-licensing schemes. However, Ext clearly does not understand the business models where this scheme has been successfully deployed. Just look at the companies that use it. MySql, Mandrake, etc. They all use this method of licensing. The difference is that they split their open source model, and their paid model off into two distinctly separate products. The most successful of them also have split their commercial enterprise (spun-off) into their own entities. This provides a great path for potential investors who would shutter at the Ext model in its current form. Moreover, it provides the open source community with a truly open system to help make the commercial product better. Everyone wins! Imagine that.

    Finally, the Ext special exclusion/exception clauses in their rather amateurishly defined GPLv3 licensing scheme is chock full of holes. Even if that last statement is incorrect, and I stand by it for the moment, what makes Ext such a potentially great product is completely undermined by their lack of marketing knowledge. Hopefully, they will get it together, and soon.

  24. May 26th, 2008 at 3:04 am

    andy says:

    I just threw ExtJs out of my project.

  25. May 26th, 2008 at 5:28 am

    andy says:

    Longer version:

    I was using ext for one of my projects and was updating some stuff when I came across the ext licensing brouhaha all over the internet. I must say the licensing terms appeared sneaky from the beginning when I started using the library, but since what I wanted to use it for appeared to be LGPL licensed, I decided to go along with it. One of the major reasons I decided to use it was that ext appeared to do some pretty amazing stuff and with a really nice interface. BIG MISTAKE. The library was horrendously hard to learn and to use and debug, not in the least because:
    a) For a lot of the stuff in the API (which appeared to be well documented but was really not because a lot of it was just repitition of not very helpful comments) there was no contextutal information which can quickly tell a developer how to use the api (to get an idea regarding what I’m talking about, see jQuery API). Even YUI docs are better than ext.
    b) Second, but more importantly, noobs were treated like crap in the forums.
    Anyways I went along since the benifits seemed to outweigh all that. With the benifit of hindsight, it is now clear why it was not in the best interests of the Ext team that the developers learn to use the library easily and on their own – or how else would they make support money? Also, lacking the budget for as big a testing/development team as the open source comuunity, it was in the ext owner’s best interests to keep the real nature of their motives hidden until they had a commercially viable product ready.

    This licensing fiasco is really the last straw. I really don’t have a problem with paying, its the sneakiness on the part of ext people that annoys me. I don’t care how many hours I spend porting over my code, but as of now, I have thrown out the ext-js library from my project.

  26. May 26th, 2008 at 11:46 am

    One more commit » GWT library landscape after the Ext JS license change says:

    [...] Ext license change topic was still hot, one of the bloggers wrote a nice post titled “Ext Discovers Step 2 of the Slashdot Business Model?“. To thank you for reading this pretty long post, I’ve decided to add an episode clip [...]

  27. May 29th, 2008 at 6:28 pm

    Slava Imeshev says:

    Great analysis your article provides. Though, what you describe looks more like desperation of those who failed to cache on free software rather than a business model. Ext JS had it coming.

    Personally I consider the idea of selling free dead on delivery. Has anyone pulled it though ever, not considering the free-to-use-paid-support model?

  28. June 12th, 2008 at 11:18 am

    Jason says:

    Hi Slava,

    Thanks for your comment. Interestingly, Ext claim to be doing just fine commercially even before this move. They certainly have a large enough base that even with a very small percentage paying (and likely for support more than a different license in the previous versions) they could make a decent amount.

    I think with this sort of product (a framework) in this age it is difficult to compete unless you go open. Even the switch to GPL may be a long-term mistake for Ext. Perhaps a better plan would be to concentrate on selling support and building commercial products on top of the open framework. At the shrink-wrap level commercial offerings can and do compete successfully with free alternatives.

  29. August 23rd, 2008 at 4:41 pm

    Joshua Gertzen says:

    Having built a very complex Ajax framework myself ( http://www.thinwire.org ), I can definitely understand both sides of the argument here. What you guys don’t realize is that it’s incredibly difficult (on a magnitude I can’t begin to describe) to accomplish what extjs has done.

    And it is true that organizations can take an LGPL’d ExtJS, build a product, such as a GUI builder, and sell it without having to pay the ExtJS folks anything. I realized this among many other things when choosing to bow out of ThinWire development ( http://tinyurl.com/5kp8z2 ) and focus on TileStack instead. Personally, I wouldn’t want to be in the tools business ever again… it’s incredibly draining and it’s insanely difficult to make money at it because developers are used to getting dev tools for free.

    The problem here is that ExtJS built it’s reputation on the back of much more liberal open source licenses, and then it pulled a switch job. Personally, I don’t think that’s too cool. If you want to be a commercial entity, then start out that way and build the company the old fashion way. Don’t pull a bait and switch like this. A better approach would have been to split the codebase and try to create an “Enterprise” version that would be purely commercial (i.e. what MySQL did).

    One last thing… Alex… I like ya man… but Dojo can’t touch what these guys have done.

  30. September 17th, 2008 at 8:39 am

    Alan says:

    I learned about this change recently and that got me very disappointed. The license switch will keep future paying customers (which I’m one of) away. The fact that ExtJS is alienating its own community necessarily means that paying customers will be using a weaker solution, based on the experience of fewer people with far less contributions and lesser quality. That doesn’t give me a good feeling as someone who’s been experimenting with this framework for a while, loved it and was intending on purchasing commercial licenses when our product became a living thing.

    Jack – you may have had nothing but good reasons to make this move, that still doesn’t make it a good move in terms of the actual outcome. I think it’s not too late to correct what’s wrong. This is just going to hurt many ExtJS users but mostly your own company.

    Lastly – I agree with Joshua – I started with Dojo and as much as I liked it, it’s no ExtJS. There are a couple other comparable alternatives but I’m hoping that ExtJS will just fix things up and regain everyone’s confidence.

    Alan

  31. September 22nd, 2008 at 6:39 pm

    Ext JS và Bài Học Về Mã Nguồn Mở « Ocean says:

    [...] Ext Discovers Step 2 of the Slashdot Business Model? [...]

  32. October 23rd, 2008 at 3:14 am

    james says:

    “freely sending your work for a company that will package it and sell under a proprietary license.”

    After collecting all the submissions, plugins and improvements from their community, isn’t that what ExtJS have actually done themselves?

  33. June 16th, 2009 at 12:28 pm

    Takeaways from the Extjs Licensing Fiasco says:

    [...] they aren’t looking for the articles I wrote in 2007. Instead…it turns out there was a huge backlash against the project surrounding a change of the license from LGPL to [...]

  34. June 16th, 2009 at 5:18 pm

    Hostile Fork says:

    Hi! Your summary of this situation was the best I could find, so I linked to it from my own article:

    http://hostilefork.com/2009/06/15/extjs-licensing-fiasco/

    I found out about it only because “extjs fork” has been the top term bringing people to hostilefork.com. I’d happened to write about extjs before this whole fiasco. It’s not something I worked with since, but I like to give people what they’re looking for. :)

    (Tangent! – I used to go to stores—like ones that sold lamps or something—and ask if they sold lightbulbs. The salesperson would say “y’know, people ask that all the time”. Then, I’d think to myself “if you’re in the business of making money, why don’t you buy a big box of lightbulbs and keep them under the counter?!!”)

    The solution going forward seems obvious. Jack should retroactively declare all the 2.0 commits are LGPL. Extjs has already paid a hefty penalty compared to what would happen if they announced that only 3.0 (years out) was going to be GPL—which would have been their right. When you balance that against the pain 2.0 toolkit users have had shifting to jQuery UI or whatever, perhaps it could be called even?

    I mean, why not? Isn’t it a shame to see this kind of bad blood in the open source community? Shouldn’t there be more mediators to keep it from getting this out of hand?

    Now I feel like I have to close with “Peace Out”. :P

    –Hippie Fork

  35. August 17th, 2009 at 10:36 am

    GWT Atchitecture anyone? « TechnoBuzz says:

Leave a Reply