Over a million developers have joined DZone.

Sun is using the GPL as a weapon...but against whom and for what purpose?

DZone 's Guide to

Sun is using the GPL as a weapon...but against whom and for what purpose?

· Java Zone ·
Free Resource

As part of my work on the Java Swing Builder project (which is released under the business-friendly Apache 2.0 license) I've run into at least two cases recently where I could not integrate with particular other useful OSS projects.

This was because both of them were released under a pure GPL license (without any classpath exception), meaning they can be linked to only from GPL programs as well.

Both of these projects are sponsored by Sun.

First one is Project Scenegraph, which is the engine providing all the rich graphics/animation capabilities of JavaFX. It's license is not mentioned anywhere on the site, but you have to open the source and examine it to see that it is under a pure GPL license.

See here for more details:

The second project is the JavaCSS library, which allows you to style Swing components using CSS syntax.
I've had requests from Java Swing Builder users who wanted me to integrate it with my project, but alas the pure GPL license meant it was impossible.

I filed a defect/enhancement request for this and got a very frank and honest reply (which I appreciate):

 "I am a Sun employee and Sun is paying me to create this project; as such it is not as if I can simply pick the license according to my whims. Sun's open-source software is released under the GPL, and so for the time being javacss will remain GPL'ed.".

The author does mention that Sun is considering liberalizing the license in the future, but without any specifics.

By releasing open source libraries under GPL Sun ensures that no one can legally link to them and use them (unless you're GPL too, and 99.9% business apps are not).

So to be honest, I really do not understand what is Sun strategy of releasing open source components with an ultra-prohibitive license that stops anyone from using it in the real world.

At least GPL with classpath exception or LGPL should be the norm in this case and Apache License 2.0 would probably be best. For now, I cannot link/integrate with neither Scenegraph nor JavaCSS, even though there would be a lot of benefits to the users of my project to do so.

Thus, I don't believe Sun's current policy of pure GPL-only open source serves the Java community as well as it could. And I don't see any logical reason or purpose for it.

P.S. My deepest regards to Alex Potochkin from Sun, who released his amazing JXLayer library under the extremely liberal BSD license.  Not surprisingly, a lot of folks started using and experimenting with it right away...that's how open source should work.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}