Having people write code for you when they don't have a commercial license from ExtJS
First off, IANAL, and will try to clear up this... craziness which has been occurring. I don't like misinformation, I don't like people propagating frivolous accusations, so I'm writing this post.
I've been watching this storm ever since the change, and will take some time to explain to the members of this forum.
I first urge everyone to read the link below.
What have we learned from the quick guide?
1) You do not have to GPL your code. You can use the GPL if you wish, but you MUST use a compatible license. Remember, GPLv2 code is only compatible if it has the, "or later" clause.
Alright, now assuming you've read the quick guide, I'll go over with you on how to have others license code.
Alright, lets make a list of assumptions for a fictitious project.
1) Closed source
2) contains other open source licensed components, BSD, zlib, X11, etc.
3) the contractors aren't using any closed source/non-GPL incompatible code
4) The Project has a commercial license from ExtJS
5) The Project is using licensed code which conflicts with the GPLv3, so there is a commercial license
Alright, contractor X who is using the open source licensed(GPLv3) ExtJS, and he needs to write software. Have him license the code under one of the permissive licenses, and there are quite a few. The most understandable and permissive licenses are the BSD and X11(also known as the MIT license). Both of these licenses are compatible with the GPLv3.
side note: If I'm writing Python code, I can compile and distribute the BSD or X11 licensed code as object files since there is no restriction on how the code must be distributed. There is however a mention of recognizing copyright in the documentation. You must read the BSD license for yourself, I recommend looking at the various open source licenses out there.
Here is the URL to the Open Source Initiative homepage, please familiarize yourself with the licenses by clicking on, "Open Source Licenses"
If there are any questions, please look at the GNU's FAQ before asking.
Another fictitious example
As another note, lets say there is a company with 3 employees.
The list of assumptions
1) 3 developers
2) one license from ExtJS
3) the GPLv3 incompatible module/code is BSD or MIT license compatible
4) ExtJS is the *only* GPL licensed part of the project
If you read the link I first posted, you'll understand the GPLv3 a bit more.
The developers must distribute the source to the Work to the User, since it is the right given to the User. They can write as much BSD licensed code as you want, since it is compatible. The company doesn't have to buy a license per developer since all the developers are writing BSD licensed code.
Why buy a license for ExtJS? Well the developers must release all the source code to the User in what the restrictions of the GPL say. In the example before this, I stated the developers can compile BSD code to object code and distribute those objects. Ok, are you still with me? If you have a commercial license from ExtJS, the developers don't have to share the BSD code they all wrote.
As a side note GPLv3 doesn't close the "ASP Loophole."
For those who don't know what it is I'll explain. Let's say you have a web application which has GPLv3'ed components in it(like ExtJS), simply interacting with users doesn't mean you must give users the source to the back end application.
What does this mean?
A company who uses ExtJS and only uses GPLv3 license compatible code can make the application, make the frontend, and doesn't have to give source to the users visiting the web application. If you distribute the application, you must include all sources however.
Also to clarify, just because you must give the source code, doesn't mean you can't charge for the medium.
If I sale a GPL application to a customer, something I didn't write, I can charge for the medium of which it is transferred. I can sale them the DVD which contains the source for 1000USD if I wanted. Below is the section relating to the cost of physical transfer. What is doesn't specify is what is, "reasonable", which I'm happy about. The statement, "your cost", lets talk about that little matter. My time costs, so if I charge 1000USD per hour, I'll charge that. It does not specify anything like, "your cost of the medium of transfer", it says, "our reasonable cost of physically performing this conveying of source." I don't care of people feel I'm being abusive, my time costs money. Burning a CD takes my time, so reason explained there.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
The point of buying a license is so developers can write code using their own GPLv3 incompatible license so they don't have to comply with the rules of the GPLv3.
There also seems to be some misconception with various people from reading the other posts.
The GPL is about innovation and developing free software. You can fork the ExtJS licensed under GPL, incorporate it in to a toolkit or development tool, but the software must follow the rules of the GPL, like described in situations above.
On a side note, I've been reading places where people are thinking about forking ExtJS 2.0.1, which is licensed under the LGPL, which is ALLOWED by the license. Perfectly legal and fine. I'm sure ExtJS agrees with this when I say, "Don't expect any updates from ExtJS" basically you're on your own. You can fork the project and name it RooCoolJS and invite others to work on it. I really wouldn't expect it to succeed unless the people would get some sort of financial backing or payment from people.
Last edited by Insane.Kangaroo; 23 Apr 2008 at 4:46 PM.
From the information I have seen GPLv3 does not close the ASP loophole, quite the contrary. It is no longer a loophole, it is specifically allowed.
An important quote from the second link in the post above:
"It has been made very clear that the ASP loophole is not a loophole anymore. It is perfectly fine to change GPLv3 software and offer it to the public as a service, without returning the changes to the community," Capobianco said. "That means 75 percent of the future software (which is going to be software as a service) could be offered by leeches that suck the soul of open source for their pure benefit. They make money, while others work for them for free, to make them rich."
Good. Considering ExtJS used to be LGPL, I have no qualms with the "ASP Loophole" in the context of ExtJS.
i'm just curious, but why are you resurrecting a horse that's been dead for almost a year?
Originally Posted by ngrover
he / she probably still feals burned... This "dead" horse makes its way into comments all the time, on any site that talks about EXT, I think to you its "dead" but allot of people look at the past / current license and question...
Originally Posted by mystix