Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming Software IT

ExtJS 2.1 AJAX Library Switches To GPL 57

Vandre writes "The popular AJAX library ExtJS released a new version today. There has been a huge controversy among the Ext community. Previously Ext had been accused of not being open source and trying to restrict its users' rights." It seems be boil down to whether the developers like or dislike the GPL, under which the library's new version is available -- the comments illustrate a long-standing divide when it comes to licensing. The foundation which oversees development explains why they've chosen dual-licensing at all.
This discussion has been archived. No new comments can be posted.

ExtJS 2.1 AJAX Library Switches To GPL

Comments Filter:
  • It's JS (Score:3, Informative)

    by CastrTroy ( 595695 ) on Tuesday April 22, 2008 @08:35AM (#23157220)
    How can JS not be open source?
    • Re:It's JS (Score:5, Insightful)

      by Col. Klink (retired) ( 11632 ) on Tuesday April 22, 2008 @08:39AM (#23157276)
      "Open source" doesn't mean you can see the source code, it means you are also free to copy, modify and redistribute. And just because you can see it doesn't mean you have the right to take it.
      • I know. I was just trying to start a discussion about the inherrent openess of Javascript, and to remind everyone that when you do program in Javascript, that the source is out there for everyone to see. Open source means different things to different people. To some people it means you can do whatever you want with the source (BSD). To others, it means you can do whatever you want, as long as the changes you make are also released as open source, under the same license (GPL). To others, it simply mean
        • Re: (Score:2, Interesting)

          by Anonymous Coward

          To others, it simply means that you can see the source, and not that you have any rights to distribute or modify it (Microsoft).
          Huh? Microsoft have two OSI-approved [opensource.org] open-source licenses *in addition to* their Reference license [microsoft.com].
        • Re:It's JS (Score:5, Informative)

          by Col. Klink (retired) ( 11632 ) on Tuesday April 22, 2008 @09:23AM (#23157966)
          > Open source means different things to different people.

          Some people think the moon landing was faked. However, technically minded people don't debate either of these issues much. Open Source, despite its misinterpretation by those who don't know better or those who seek to spread FUD, has a very precise definition. "Open Source" means that the source code is available and can be freely modified and redistributed. Both BSD and GPL (and many others) meet these definitions and there is no controversy or misunderstanding among those who understand what Open Source means. No one who understands these things would assert that the GPL or BSD is Open Source but that the other is not. They might *prefer* one over the other, but they wouldn't say that the other is not Open Source.

          Similarly, any moderately informed person should never assume that the fact that they saw the source code implies that they are free to copy, modify and redistribute it. Just because I can read the words printed in a book doesn't mean that I can violate the author of the book's copyright.
        • Re: (Score:3, Insightful)

          by Simon Brooke ( 45012 )

          I know. I was just trying to start a discussion about the inherrent openess of Javascript, and to remind everyone that when you do program in Javascript, that the source is out there for everyone to see.

          No, it isn't. If you do something which is

          1. client side, and
          2. on a public website, and
          3. not protected by any user authentication

          then it the source is out there for anyone to see. Otherwise, not.

          Open source means different things to different people.

          CastrTroy (595695), meet Humpty Dumpty. [sundials.org] He's been hegemonising language for much longer than you have, and knows rather more about how to do it.

        • by hey! ( 33014 )

          that the source is out there for everyone to see

          That ain't necessarily so anymore. Plenty of frameworks compile to javascript, GWT being the best known example.

          The secret of making money with software is to keep maintenance costs low.
    • Re:It's JS (Score:4, Insightful)

      by ricebowl ( 999467 ) on Tuesday April 22, 2008 @08:42AM (#23157310)

      How can JS not be open source?

      I imagine that it's down to the difference between being able to see the source code and being legally/contractually/whatever-ly able to modify or distribute the source code, or implementing fragments of it in your own work.

      I do agree with your point though; trying to implement JS as a closed-source implementation is an exercise in futility and frustration. Mind you that's pretty much my stand on most software: open source is probably the most efficient way forward.

    • The same way as anything else. Just because everyone can SEE the source doesn't mean they have the right to redistribute it. It just makes enforcing that closed-sourcedness highly impractical.

    • by Shados ( 741919 )
      On top of what everyone said already, there's also the (if I remember well) clause about distributing the source in a format that can be reused. So you can't just tell people "Well, my JS is open source, so you can just wget the source if you want it".

      Also, certain projects like EXT GWT use ExtJS and "link" to it on the server side. Big issue here if you were trying to be closed source. At least they still offer a commercial license, but I feel like its very very "bait and switch"-ish tactic, ala big commer
      • Big issue here if you were trying to be closed source.

        Very true!

        And is the exact problem I'm running into. I've been working on a project for a year and been using Ext (and have migrated to 2.0 recently) and my company expects the project to be closed. Under the LGPL, it's fine. If I want to update to the newest POINT release (under GPL) I have to open the project up or be forced to purchase a commercial license. I'm not against to purchasing good software, but it does seem a little bait and switch.

      • by orasio ( 188021 )
        "Commercial" and "open source" are not opposite to each other.
        "Commercial" and "free software" (as in GPL) are not opposite to each other.

        The GPL is involved in lots of commercial projects. It's not as if it was a hobbyst thing. People work and make a living (completely or partially) on free software, GPLed or not.

        I know it's not your point, but every time I see that false dichotomy, I feel the need to say it's wrong. Some times I have to cater to that need.
        • by Shados ( 741919 )
          Notice that I did not use the terminology to compate commercial and open source. The only time I used the commercial terminology was when refering to their dual licensing scheme, which is the way THEY (the ExtJS team) put it when discussing it.

          Wrong or not, when refering to a product, I have to use that product's terminology, else there will be confusing when checking my statements against the reference.
    • by WK2 ( 1072560 )
      You can hide the source of javascript. Sort of.

      Write your pages, and then run them through an obfuscator. The obfuscator can change all of the function names to stuff like "fuction37", and variables to "variable89". It can strip the comments and whitespace. The end result will resemble a de-compiled stripped binary.
  • by bobetov ( 448774 ) on Tuesday April 22, 2008 @09:13AM (#23157778) Homepage

    This is a perfect example of how blurred the lines are when using extreme copyleft licenses in a distributed computing world.

    The argument made by the ExtJS team is that by having a web page that includes the ExtJS library constitutes a close binding, and that thus your entire web back-end must be GPL'd. This is, on the face of it, ridiculous.

    Web pages are specialized programs, written in HTML, JS, etc, that are compiled and run on the browser. My back-end is a tool for generating these programs, which I distribute for free to all users. My back-end does NOT use, require, or in any other way depend on the front-end libraries - rather, it works in harmony with them, and with an expectation that they behave in a certain way.

    That the ExtJS team is making the first argument, and that they changed the license (from the LGPL) during a bug-fix point release, is a real indication that ExtJS is not a platform on which to build a long-term business. Especially given the lack of forward communication surrounding the change.

    I've enjoyed working with Ext, and will probably stick with the LGPL'd 2.0.2 release for a while, but they have garnered a heck of a lot of bad will with this potential client.

    • Well... wake up and smell the cofee.

      If you DONT want the GPL version, you can pay them to get whichever terms you wish. Its right there in the page.

      What? You wanted it free as in BSD? Well go ahead and code your own.
      • by bobetov ( 448774 ) on Tuesday April 22, 2008 @09:54AM (#23158474) Homepage
        Couple of things:

        1) I signed up to use ExtJS on LGPL, moving to GPL mid-release cycle is bad form
        2) What does GPL mean for a client-side interpreted library?
        3) Why haven't the ExtJS team members addressed 1 & 2 more clearly?

        They have a pretty strong community, and this move has been (IMHO) very poorly executed. If their intentions are good, they need to clarify what they intend to ensure the community doesn't fork or move to another library.
    • by GauteL ( 29207 ) on Tuesday April 22, 2008 @09:59AM (#23158546)
      If they wanted you to release source for developing a web application, they should have chosen the Affero GPL license [wikipedia.org]

      The standard GPL license only covers redistribution, and if you create a web application in PHP using ExtJS for the front end, your web application never gets distributed to the user.
      • by bobetov ( 448774 )
        Except that the lead developer went on the site and explicitly claimed that that was their intention. Site is slashdotted, so I can't get the exact quote, but basically he claimed that if you put a javascript include tag in a page, your whole site needed to be GPL to comply.

        Now, either he was misinformed, or he was intentionally misleading people to drive commercial sales.

        Not a great move, either way.
        • by daeg ( 828071 )
          This matches up to confusion of using GPL icons and graphics, too. If I reference a GPLd icon in a CSS file so that it renders in an HTML file that my Python script creaeted, does GPL apply to the whole chain? I've seen various posts online that claim one way and the other.
        • by GauteL ( 29207 )
          "Except that the lead developer went on the site and explicitly claimed that that was their intention."

          I don't care what his intentions were. They are distributing ExtJS under the GPL license and if I decide to use the ExtJS I will follow the license, nothing more.

          And yes, he is either misinformed or intentionally misleading people.

          And not only that.. if they decide to accept any GPL contributions from outsiders and keep on this charade, they will be in BREACH of the GPL license for putting extra restricti
      • If they wanted you to release source for developing a web application, they should have chosen the Affero GPL license.

        Fortunately for developers, the AGPL is easy enough to ignore [honeypot.net].

    • by Bogtha ( 906264 ) on Tuesday April 22, 2008 @11:46AM (#23160090)

      The argument made by the ExtJS team is that by having a web page that includes the ExtJS library constitutes a close binding, and that thus your entire web back-end must be GPL'd. This is, on the face of it, ridiculous.

      Previously [livejournal.com], they were arguing that it wasn't LGPL3ed, they were merely distributing it under the LGPL3's terms, by which they meant that they could tag on anti-commercial clauses. The terms of the LGPL3 mean you can strip those clauses and redistribute as plain LGPL3 if you wish, which somebody did, and it upset them.

      Essentially, they were name-dropping the LGPL and claiming open-source status when what they really wanted was a non-open-source freeware license. Of course, if they came out and said this, they'd have a lot of upset contributors who have been duped into contributing to something they believed was open-source.

      This bizarre interpretation of the GPL3 to mean that all of your website back-end needs to be open-sourced is another game in this style. They don't actually want the GPL3, because that includes commercial uses. They want a license where they can do their very best to make commercial use unappealing, while still being able to name-drop the GPL3 and tell people it is open-source without too many people calling them liars.

    • by makomk ( 752139 )
      The other fun thing is that extJS 2.0.2 isn't actually LGPLed - in fact, it isn't even open-source [cnet.com] at all (or indeed free software). It's licensed under the LGPL with additional restrictions, such as not being allowed to use it "if you plan to distribute Ext in a product that will be packaged or sold as a software development library, toolkit or plug-in-based framework". Now, the LGPL explicitly forbids this kind of extra restriction, but I'm not sure what the end result is. As I see it, either the addition
    • Another point of confusion, how the heck is the dual license thing supposed to work?

      If I do go and buy the commercial license, does that mean I cannot use any community developed addons, patches, or content since they'd be GPL'd?

      My understanding of the GPL is that once something has been released under the GPL, derivative works cannot be close sourced even by the original license grantor.

      Or am I completely off base here?
  • It's their software so they have every right to release it under whatever license they want (and I've never heard of it or them before, so it makes no difference to me), but I find it... interesting... that one of their products (Ext GWT [extjs.com]) is based on a product that uses the Apache License (the Google Web Toolkit [google.com]), while the Ext product uses GPL.
    • I find it... interesting... that one of their products (Ext GWT [extjs.com]) is based on a product that uses the Apache License (the Google Web Toolkit [google.com]), while the Ext product uses GPL.
      GPLv3 is compatible with the Apache license. Is the Ext product GPLv2, or is it GPLv2 or later?
      • by Khelder ( 34398 )
        It's GPLv3. I guess I should have been more specific about what I meant by "consistency". It's all legal (AFAIK, IANAL), I just meant that it's interesting to me that they talk about a "quid pro quo" on their licencing page as why they're dual-licencing and why the non-commercial license is GPL, but they selling software based on another company's OSS (GWT).
  • If its LGPL, this would be nice.

    Buf if its GPL, as a library, NO WAY IN HECK.

    GPL is a horrible liscence for a library if you want people to use it in a variety of places.
    • by Shados ( 741919 )
      Indeed, and it used to be dual licensed LGPL and commercial license. Now they replaced LGPL with GPL, because "The LGPL is not open source friendly". The hell? If LGPL isn't... then Apache, MIT, BSD...none of those are.
    • If its LGPL, this would be nice.

      Buf if its GPL, as a library, NO WAY IN HECK.

      Guys, remember the MySQL debacle a few years ago? They did EXACTLY THE SAME THING.

      There's a distinction between Free Software, and Open Source which can be used for commercial purposes. Unfortunately, greedy bastards are hiding behind the GPL to extort their customers into paying them a fee.

      As a developer for commercial apps, I want to use Open Source because (generally) it's safer and better designed and tested. But suddenly the r

  • Slashdotted... (Score:2, Informative)

    by ziesemer ( 959438 )
    Appears that maybe Ext's forums are /.'d already. I've been actively participating in one of the licensing threads started on Ext's forums. Try http://extjs.com/forum/showthread.php?t=33096 [extjs.com] a little later, once the database recovers... Since discussing licenses seems to be nothing new on Slashdot, maybe some "experts" from here can bring some light into the above thread.
  • Nevermind about my previous comment. Doing it as GPLv3 is genius!

    By dual liscencing it as GPLv3 or a commercial liscence, commercial developers will ONLY touch the commercial liscence version. So they get paid, which is what they want.

    Yet GPLv3 (instead of LGPL) is perfect. Its a "Poison pill" to commercial use of the library without buying the commercial version, yet gets the open source community behind you. Furthermore, by requiring copyright transfer for anything put back into the source tree, they
    • by Shados ( 741919 )
      If I remember well, if an LGPL librairy is modified (that is, the librairy itself), yuo have to give back your changes to the community. The only difference with the GPL (well, the interesting difference in this case I mean), is that the non-ExtJS related code has to be given back too.

      Oh yes! ExtJS developers seriously benefit from having access to my internal business logic! Now they can take my investment portfolio management code and add it as a main feature of ExtJS! How useful /sarcasm.

      If all they want
      • by nweaver ( 113078 )
        Thats my point. They don't want the "give back" portion, they WANT the poison pill.

        If you want to encode your business logic, you need to buy the commercial liscence.

    • GPL3 (if you're an extremist) has a huge hole known as web services (or googlization ... GPL software is used with every HTTP request made to google, but the requester has no GPL rights to the software). There was a lot of discussion, but most reasonable people don't see it as a problem.

      Any javascript files will be infected with GPL by using ext, but anything on the server side is unaffected. (Ok, if you're sending back javascript that makes use of ext funtionality, maybe, but for xml/json/html/data, th

  • by Anonymous Coward
    I'm not a licensing expert, but here's how I read this:

    Jack Slocum believes, even if users do not modify the underlying library code, any top-level application code must be GPL'd due to the distributed nature of web applications. The inherent act of pulling the client-side code down to the browser categorizes this as distribution, as opposed to the widely held view that distribution refers to, for example, packaging up a tar file of the complete app (including PHP/MySQL/etc.) and putting it up for download.
    • any top-level application code must be GPL'd due to the distributed nature of web applications. The inherent act of pulling the client-side code down to the browser categorizes this as distribution...

      Of the client-side code, yes.

      What I don't get is how he thinks that also applies to the server-side code. Tightly coupled or not, the GPL traditionally refers to things which are actually linked against each other -- for example, it is entirely possible to have a non-GPL'd program depend on, say, a GPL'd bash

  • by Anonymous Coward on Tuesday April 22, 2008 @11:49AM (#23160142)
    In the spirit of things done by MySQL in the past the Ext core developers have decided to change their license suddenly. There is another big problem here. They are also claiming the community can not fork because they added terms onto their license to restrict who was allowed to have 2.0.2 to under the LGPL. This is absurd and against the LGPL, but it is what they are trying to do. Technically anyone who meets their requirements and then distributes 2.0.2 can then hand it off as LGPL without their added restrictions. I really hope someone forks, but as a commercial user I am scared that it will not be possible keep using Ext, especially if they take action against forks.

    For anyone who is missing the point, when this was LGPL anyone could use it and have their code under whatever license they pleased. Changes to Ext had to remain LGPL, but your own application could be anything. Now GPL is used, so your application must be under the GPL. Of course that doesn't require distribution in a lot of web app cases, but it does require the license to be GPL. In many businesses this is just not acceptable. Core Ext devs know this and are probably hopeful it will lead to more license sales. I am hopeful it will tear the community apart and force them to revert their decision.

    I do believe it is acceptable for the core team to change their license on their code, but it is an extremely bad business practice to do it without warning. They have managed to alienate tons of their users. I see their anti-forking clause as the most dangerous thing to the well being of the community.

    I was considering buying a commercial license to support Ext and the core developers, but this kind of bad business move makes me think it may be better to look elsewhere for JS libraries. I used to be a dojo user but when they switched to 1.0 and weren't reverse compatible I decided to abandon them completely. Their lack of decent documentation and examples was frustrating to which helped that choice. I am thinking now maybe trying to go to Dojo and help the community their may be a better route than sticking with Ext. I would be much happier with an Ext fork though. The quality is a little higher than Dojo. Dojo does have some big corporate backings and BSD license. I'm hopeful it will eventually evolve into something of more quality, but it really isn't there just yet.

  • From http://extjs.com/company/dual.php [extjs.com] :

    """
    we require that you do one of the following:

    - Contribute to the continued development of the product by purchasing commercial licenses from Ext. This option secures you the right to distribute your application under the license terms of your choice.

    - Contribute to the Open Source community by placing your application under an Open Source license (e.g. GPL v3). This option secures all users the rights to obtain the application's full source code, modify it, and redi
    • by Shados ( 741919 )
      No, unfortunately. They're being unclear, and it feels like its deliberate (though I wouldnt' make an actual accusation).

      Its mostly just a very imaged explaination of their terms, but by looking at the devs comments in the forums, they're fairly clear: "We feel like anytime you use our stuff, you need to give back, either by giving us cash by paying for a license, or by releasing under an open source license your stuff, in our case, the GPL3"

      The wording is really a mess, but when they say "an open source li
  • I decided that the license tries to be intentionally unclear -- even the "commercial" license. "Domains and sub-domains"? What if I'm distributing a non-open-source web application? And what does "developer license" mean? I mean, if people develop against the GPL3 version, can they deploy against the commercial version? Wouldn't that mean that any company could buy just one license and put it on the build-distribution machine?

    The licensing model scared me away. Now I am extremely glad to have been scared aw
  • I think we're soon going to 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 [extjs.com]

    Ext on Rails http://www.extonrails.com/ [extonrails.com]

Ocean: A body of water occupying about two-thirds of a world made for man -- who has no gills. -- Ambrose Bierce

Working...