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