Google is Violating LGPL Source Code
Stephen C. Fedder
sfedder at hotmail.com
Wed Apr 8 00:11:38 CEST 2009
Hi Daniel,
I just downloaded through svn the entire distribution from the google code
page for GWT and the jfreechart source is not included in that distribution
as far as I can tell, although it is referenced in the included classes. Is
there a different svn source distribution I should be looking for other than
the official one on the web?
It does seem to look for a folder in the build to include these libraries
from jar files, i.e. build.xml for the library I referenced:
<target name="wardir" description="Create the target war directory">
<copy todir="${war}">
<fileset dir="war" excludes="WEB-INF/classes/marker" />
</copy>
<mkdir dir="${war}/WEB-INF/lib" />
<copy todir="${war}/WEB-INF/lib" file="${gwt.servlet.jar}" />
<copy todir="${war}/WEB-INF/lib"
file="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
<copy todir="${war}/WEB-INF/lib"
file="${gwt.tools.lib}/jfreechart/jcommon-1.0.6.jar" />
</target>
If the source for the LGPL is included in an svn distro, this should be
noted/linked to in the licensed software notes in addition to the link to
the jfree site to avoid these kind of questions.
Steve
_____
From: Daniel Berlin [mailto:dannyb at google.com]
Sent: Tuesday, April 07, 2009 5:51 PM
To: Stephen C. Fedder
Cc: legal at lists.gpl-violations.org
Subject: Re: RE: Google is Violating LGPL Source Code
We do provide the source archives for jfreechart, at the exact same place we
provide the gwt downloads
They are in the svn repository, rather than on the downloads page. We have
done this since the first release of gwt
The docs link to the original website not because you have to go there to
get source, but because that is where it came from.
On Apr 7, 2009 5:27 PM, "Stephen C. Fedder" <sfedder at hotmail.com> wrote:
Sorry, I was not aware that the jfree chart library was actually included as
binary files, and no-one had mentioned this before in the thread, which was
why I commented that it would be helpful to know that fact positively before
starting a thread. I still think that the potential non-compliance should
also be conveyed/discussed with the vendor before bringing up a public
complaint, as these things tend to often get blown out of proportion.
In the case that the product is included in the war distribution, which is
essentially an archive/aggregation that is unpacked to the target directory
on the server, I would agree that this inclusion (IANAL) does not require
the package under the GPL, as would directly linking source code in a
binary, since the jfreechart jar file could still easily be replaced by the
user with another version compiled from source. Inclusion of the binaries
in the war does mean that there is a requirement to provide access to the
source code for the version(s) of the LGPL binaries that are incorporated
into the war being distributed. Providing a link to the website of the
original distribution is good, however to comply, companies archive and
provide LGPL source file distributions for any past binary distributions
they have used in a binary form on the same site they distribute the
application on. This could just be a conglomerate L/GPL source site, for
example, covering all applications fielded by the company using L/GPL
software.
Section 6. of LGPL 2.1 does specifically state that the source for the
unmodified or modified LGPL library, even if just aggregated or dynamically
linked with the product, must still be provided. Section 6 is meant to
specifically allow use of the software as a library without the viral nature
of GPL infecting software that merely uses the standard interfaces (API) of
the library. It does not remove the responsibility to distribute the source
code for the library in any case where an object-only form is distributed.
(anyone here please correct me if I'm wrong).
I do see in the file gwt-benchmark-viewer.jar in the distribution that the
jfree chart package is included as binary class files. Since the class
files are actually embedded in a jar, not just the war itself, the library
is not actually being used as a separate package (LGPL would usually be
distributed as a separate jar file rather than the class files being
embedded with an application). This makes it more problematic for an end
user to recompile and replace the jfree package in the binary distribution
of the application, which is a large part of the "freedom" afforded by the
clauses in the LGPL - someone help me out here...
The start of a listing of the a jar file in the GWT distribution showing the
beginning of the jfree distribution is below...
Steve
Viewing .ZIP: gwt-benchmark-viewer.jar
Length Method Size Ratio Date Time Name
------ ------ ---- ----- ---- ---- ----
0B Stored 0B 0.0% 10/16/2008 8:51p META-INF/
106B DeflatN 94B 11.4% 10/16/2008 8:51p META-INF/MANIFEST.MF
0B Stored 0B 0.0% 10/16/2008 7:23p com/
0B Stored 0B 0.0% 10/16/2008 7:23p com/google/
0B Stored 0B 0.0% 10/16/2008 7:23p com/google/gwt/
0B Stored 0B 0.0% 10/16/2008 7:23p com/google/gwt/benchmarks/
0B Stored 0B 0.0% 10/16/2008 7:23p
com/google/gwt/benchmarks/viewer/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/
1155B DeflatN 280B 75.8% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/05E3350BE732DDDB3B85DD46FFD36640.gwt
.rpc
96KB DeflatN 31KB 67.7% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/307379F5BC19B8D66A0E5854F18DD16C.cac
he.html
92B DeflatN 90B 2.2% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/548CDF11D6FE9011F3447CA200D7FB7F.cac
he.png
94KB DeflatN 30KB 67.7% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/5593544A9B81C47D9C45D7495DD32D39.cac
he.html
95KB DeflatN 30KB 67.7% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/7E3474503F94573F692DBA8DD87BFA9C.cac
he.html
95KB DeflatN 30KB 67.7% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/8CA2E60EAF91C3F19503B0164F5F4F9E.cac
he.html
90B DeflatN 88B 2.3% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/9DA92932034707C17CFF15F95086D53F.cac
he.png
93KB DeflatN 30KB 67.7% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/DE13FF3F0794AFB1A58A0664B968C62C.cac
he.html
1044B DeflatN 361B 65.5% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/ReportViewer.css
282B DeflatN 188B 33.4% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/ReportViewer.html
43B DeflatN 37B 14.0% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/clear.cache.gif
5686B DeflatN 2322B 59.2% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/com.google.gwt.benchmarks.viewer.Rep
ortViewer.nocache.js
262B DeflatN 176B 32.9% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/gradient.gif
436B DeflatN 246B 43.6% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/history.html
1408B DeflatN 580B 58.9% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/public/hosted.html
0B Stored 0B 0.0% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/client/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/google/gwt/benchmarks/viewer/server/
0B Stored 0B 0.0% 10/16/2008 8:51p com/keypoint/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/bc/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/bc/asn1/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/html/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/html/simpleparser/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/markup/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/pdf/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/codec/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/codec/postscript/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/codec/wmf/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/events/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/fonts/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/pdf/hyphenation/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/rtf/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/direct/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/document/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/document/output/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/field/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/graphic/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/headerfooter/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/rtf/list/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/style/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/text/rtf/table/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/rtf/text/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/xml/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/text/xml/xmp/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/tools/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/tools/arguments/
0B Stored 0B 0.0% 10/16/2008 8:51p com/lowagie/tools/plugins/
0B Stored 0B 0.0% 10/16/2008 8:51p
com/lowagie/tools/plugins/treeview/
0B Stored 0B 0.0% 10/16/2008 8:51p org/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/base/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/base/config/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/base/log/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/base/modules/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/
0B Stored 0B 0.0% 10/16/2008 8:51p
org/jfree/chart/annotations/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/axis/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/block/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/demo/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/editor/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/encoders/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/entity/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/event/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/imagemap/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/labels/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/needle/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/plot/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/renderer/
0B Stored 0B 0.0% 10/16/2008 8:51p
org/jfree/chart/renderer/category/
0B Stored 0B 0.0% 10/16/2008 8:51p
org/jfree/chart/renderer/xy/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/resources/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/servlet/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/title/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/urls/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/chart/util/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/category/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/contour/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/function/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/gantt/
0B Stored 0B 0.0% 10/16/2008 8:51p org/jfree/data/general/
-----Original Message----- From: Daniel Berlin [mailto:dannyb at google.com]
Sent: Tuesday, April 07, 2009 12:41 PM To: Stephen C. Fedder Cc:
legal at lists.gpl-violations.org Subj...
On Tue, Apr 7, 2009 at 12:34 PM, Daniel Berlin <dannyb at google.com> wrote: >
On Tue, Apr 7, 2009 at 1...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.gpl-violations.org/pipermail/legal/attachments/20090407/a0890ef1/attachment-0001.htm
More information about the legal
mailing list