Steve Perkins wrote:
I have a question about using GCC/GCJ to compile a Java application
which uses the SWT framework for its GUI, and whether this locks you
in or out of any licensing options. I apologize in advance if this
question is somewhat off-topic... I searched "gnu.org" for a mailing
list specifically directed toward licensing discussion and came up empty.
The SWT is covered by the Eclipse Public License (EPL), which does
not bind you to use the EPL for programs which merely link to SWT
without modifying it (Question #27 at
http://www.eclipse.org/legal/eplfaq.php#DERIV).
However, the FSF considers the EPL to be incompatible with the
GPL. I'm not sure what impact (if any) this would have on my desire
to write a GPL'ed application from scratch, which links to SWT for its
GUI.
I know that writing a *non*-GPL'ed application, and linking it to
GPL'ed code, creates problems (e.g. the Cygwin DLL dependency issue on
Windows). This is because the GPL requires you to use the GPL for
works linking to GPL'ed code, even if you aren't modifying that GPL'ed
code. However, it seems that this issue would not arise when going in
the other direction... applying the GPL to new code, which links to
libraries using non-restrictive licenses.
Now, if I were also making modifications to the SWT as part of this
work, then the EPL would be imposed upon the whole... and then I would
clearly run into a clash between the GPL and EPL. However, since I am
not modifying SWT, the EPL does not require me to impose its terms on
the whole... so it appears that I would be free to apply the GPL on my
non-derivative new code. On its face, there doesn't appear to be a
licensing problem with applying the GPL to a new application which
uses non-modified SWT.
This seems fairly intuitive to me, but I wanted to bounce it off
the GCC community to see if I'm overlooking any potential issues. For
example, I'm not sure if GCC's recent migration from GPL 2 to GPL 3
has had any effect of imposing license terms on executables compiled
with GCC/GCJ.
I cannot really opine on SWT, but I would encourage you to look at the
linking exception clauses in GCC's various runtime libraries.
Specifically classpath/libgcj allow you to link to them with very few
restrictions.
It might also be a good idea to get a real lawyer to help you evaluate
your exact situation.
David Daney