Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Ext JS Tag Library

James Carr in Making extJS More Accessible to Java Developers:

With my recent interest in extjs, I was playing with the idea of making a Struts2/WebWork component library or a tag library to handle a lot of the boilerplate extjs code (i.e. creating layouts and such) but, luckily, discovered someone beat me to the punch!

I randomly came across ExtTLD this morning while sifting through my rss feeds, and I must say I am rather impressed. Although I consider myself a pretty good javascript developer, there seems to be a lot of java developers who aren?t that hot at javascript... which is why whenever I attend any java related conference there is always several sessions touting "javascript free ajax!" frameworks like GWT, Ajax4JSF, or IceFaces. Although I've always been skeptical of such frameworks, I do see their benefits... especially for the java developer who excels at serverside JEE development but generally sucks when it comes to adding javascript behavior to the presentation layer.

I can definitely see how Ajax-with-IDE-code-completion would appeal to many developers. However, I do have to agree with James:

So far it looks good, but I haven't had a chance to play with it yet. Basically, I'll have to see if it passes my "good javascript generator framework" test. I?m a pretty staunch advocate of unobtrusive javascript, and generally hate any presentation layer framework that seeks to dump several hundred (or thousand) lines of javascript inline in the html document.

For development shops that have UI-only developers for the front-end and Java developers for the controller/validation part of an application, frameworks that generate JavaScript usually don't make sense.

ExtTLD's license:

ExtTLD is published under GPL 3.0 license however restricts use by companies participating in animal abuse, such as animal testing laboratories etc.

Posted in Java at Jan 22 2008, 10:01:27 AM MST 5 Comments

"restricts use by companies participating in animal abuse, such as animal testing laboratories etc."

Or indeed any form of commercial activity involving animals what so ever.

"You agree you are not involved in or profit from the use of animals for entertainment such as circuses, hunts, rodeos and races etc."

I wonder if a company that offers whale watching trips is included in this?

Posted by Kerr on January 22, 2008 at 11:49 AM MST #

Licenses agreements that try to add restrictions to the GPL are usually invalid, in that they are inconsistent with the GPL. What about this one?

Posted by Al Lang on January 22, 2008 at 05:13 PM MST #

On re-reading this it looks like the terms of use is for downloading from that website only. The licence is under LGPL3. So if you get it from a third party, you're free to use it in on

Posted by Kerr on January 23, 2008 at 04:24 AM MST #

IANAL, etc. etc.

On the question of whether the additional restrictions are valid, there are 3 different questions you can look at:

  1. Does the person have the right to create a modified version of the license text?
  2. Does the person have the right to apply the modified license to the code?
  3. Has the modified license been applied in a legally binding way?

In the case of extTLD, I my non-lawyer opinion is:

  1. In this case extTLD has not modified to content of the GPL license. The text that they distribute appears to be a verbatim copy of the GPL v3.0, so there is no violiation here (although it will factor into Q3.). The GPL does not allow for the license text to be modified (according to the license text itself), but the FSF have spelt out the conditions under which you can do it (in their FAQ).
  2. This depends on whether the distributors have the right to select the license for the code their publishing. If it is their code, then they are allowed to put it under (pretty much) any license they want. If they want to say it may only be used on Tuesdays, then that's their right. If some of the code comes from someone else, then they need to stay in line with the original license. So, you can't take someone else's GPL code, modify and extend it, and then add additional license requirements (unless you get their permission). It looks like ExtTLD is one person's work, in which case he is allowed to pick the license. He does use ExtJS, but ExtJS is under the LGPL, so the most likely legal interpretation in this case, is that the ExtJS licensing allows him to release his code under any license he likes, including a modified GPL.
  3. It looks like the way in which the ExtTLD license terms have been put together isn't particularly cohesive. It says it's under the GPL, (v3, rather than a modified GPL) but with some other terms that aren't listed in the license. It refers to them as criteria, rather than "license terms", but they amount to the same thing. The GPL has a specific section that covers "additional terms" and it says: If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. So, basically the situation is that the code/website says "GPL + XYZ", and the GPL says you can delete the "XYZ" bit.
    So, legally, I would say their ethical criteria wouldn't stand up in court. But morally, we all understand what that author's wishes are. They aren't ripping off anyone else's code, or violating anyone else's license, so the best idea is to stick to the terms they ask. If you don't like them, don't use the code. (I suspect I won't be).

Posted by Tim Vernum on January 23, 2008 at 10:14 AM MST #

Thanks for turning me on to the tag library. I've been work Ext, and I didn't know this tag library existing.

Posted by Niel Eyde on March 25, 2008 at 11:18 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed