DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Coding
  3. Frameworks
  4. GPL Aftermath Part 1: Commercial Support, ExtJS

GPL Aftermath Part 1: Commercial Support, ExtJS

Jörn Zaefferer user avatar by
Jörn Zaefferer
·
Sep. 08, 08 · Interview
Like (0)
Save
Tweet
Share
8.92K Views

Join the DZone community and get the full member experience.

Join For Free

As a follow up of my Why GPL? Or: How the GPL eats the kittens it protects post, I’d like to discuss a few comments and explain some misconceptions, my own included.

The first comment was by Kevin H:

I think the article is very well written. After seeing how apache projects end up in commercialware time and time again, and at prices that are mind blowing for enterprise usage, the more interested I’ve become with GPL projects. I have found that GPL projects have a lower price points than apache projects when comparing their commercial counterparts. This lower barrier to entry for commercial endevours is very nice. I would have to pay 3x in a support contract for an apache licensed software than an equivalent commercial license with support from a GPL vendor. From an Enterprise (commercial) point of view, I’d rather see a GPL offering than an apache offering.

To paraphrase: When looking for commercial support for a given type of software, Kevin found that GPL-licensed software is way more attractive than more liberal licensed projects, eg. Apache License. I can’t confirm that, as in most cases vendors don’t list prices on their pages. Usually they ask you to contact their sales team instead. It would be interesting to hear from others about their experiences with commercial support for open-source software.

Next up, a comment by Alan Knowles:

While everyone has the right to decide on their licence, what annoyed alot of people about ExtJs’s changes was that it was more of a bait and switch.. Gather a large community based on the code being BSD, then LGPL style, then switch it to GPL and force everyone to pay.. - for something they have help build. Which is why forking ExtJS (see. roojs) was the only option for those dependant on it.

While I can understand the critique of changing the license from very liberal (BSD), to less liberal (LGPL) to viral (GPL), I doubt the bad intentation Alan suggests. Looking at the licensing-history of ExtJS and the reasoning behind the changes, it looks more like inexperience than “bait and switch”. Inexperience in the sense that Jack didn’t expect other companies to exploit his work and the license, unlike eg. the people at SpringSource (see the Why GPL? post).

Still, the GPL doesn’t seem like the right choice for ExtJS. As Dean explains:

You can use as much GPL’d code in your web application as you wish. If you sell your web application to other entities (meaning they get a copy of the code to do what they want with it) then that’s considered distribution and your code is now GPL’d.

Web applications are not distributed and you do not need to share your code.

From this point of view, you can use ExtJS in your web application, and the point here is to protect the work against other companies. As Jack put it:

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?

Which makes me wonder why Alan and co. had to fork ExtJS. It would be more obvious if Jack’s license of choice would have been the AGPL, as Jose Maria Arranz points out:

I agree, this is the reason AGPL v3 (Affero GNU Public License) was invented for. AGPL is the GPL for web (network based) applications.

If you want to ensure that everyone who uses your open-source software in a closed-source web application buys a commercial license, the AGPL should be the license of choice. It basically excludes the “using” case that the GPL leaves open. The GPL FAQ explains the type of usage:

If the program is expressly designed to accept user requests and send responses over a network, then it meets these criteria. Common examples of programs that would fall into this category include web and mail servers, interactive web-based applications, and servers for games that are played online.

If a program is not expressly designed to interact with a user through a network, but is being run in an environment where it happens to do so, then it does not fall into this category. For example, an application is not required to provide source merely because the user is running it over SSH, or a remote X session.

So while you can use and modify GPL-licensed ExtJS code without having to GPL your web application, the AGPL would exclude that, too.

The second part of the GPL Aftermath will deal with the Open-Source Java and how Sun handles that, also discussing the “GPL+classpath exception”.

Thanks to everyone who commented!

From: bassistance.de

Web application Open source Ext JS code style

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • A First Look at Neon
  • What Is API-First?
  • 10 Things to Know When Using SHACL With GraphDB
  • Use AWS Controllers for Kubernetes To Deploy a Serverless Data Processing Solution With SQS, Lambda, and DynamoDB

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: