Google is Violating LGPL Source Code

Daniel Berlin dannyb at google.com
Wed Apr 8 00:32:42 CEST 2009


IE you have to checkout /tools instead of /trunk

On Tue, Apr 7, 2009 at 6:22 PM, Daniel Berlin <dannyb at google.com> wrote:
> http://code.google.com/p/google-web-toolkit/source/browse/#svn/tools/lib/jfreechart
>
> The wiki goes through why it's split like this, but i can have them
> move it to trunk if you want.
>
> On Tue, Apr 7, 2009 at 6:11 PM, Stephen C. Fedder <sfedder at hotmail.com> wrote:
>> 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...
>




More information about the legal mailing list