Hitachi Vantara Pentaho Community Forums
Results 1 to 4 of 4

Thread: LGPL exception for writing functions or expression

  1. #1
    Join Date
    Mar 2003
    Posts
    8,085

    Default LGPL exception for writing functions or expression

    Hi,

    as you certainly know, JFreeReport is covered by the GNU Lesser General Public Licence. This licence allows users to use this library in commercial projects, but requires that all changes to the library itself must also be distributed under the terms of the LGPL.

    A strict handling of this licence would make it impossible to write functions or expressions, which interact directly with a proprietary system, as all classes derived from JFreeReport base classes must be covered by the LGPL again. This rule also applies for all implementations of the interfaces "Function" and "Expression".

    To resolve any legal issue with the function/expression implementations, I added an exception to the LGPL for the interfaces "Function" and "Expression" as well as the classes "AbstractFunction" and "AbstractExpression". Derivate work based on these classes can be distributed under the terms of your choice.

    The complete text of the exception:
    As a special exception, the copyright holders of JFreeReport give you
    permission to extend JFreeReport with independent modules that communicate with
    JFreeReport solely through the "Expression" or the "Function" interface, regardless
    of the license terms of these independent modules, and to copy and distribute the
    resulting combined work under terms of your choice, provided that
    every copy of the combined work is accompanied by a complete copy of
    the source code of JFreeReport (the version of JFreeReport used to produce the
    combined work), being distributed under the terms of the GNU Lesser
    General Public License plus this exception. An independent module is a module
    which is not derived from or based on JFreeReport.

    This exception applies to the Java interfaces "Expression" and "Function"
    and the classes "AbstractExpression" and "AbstractFunction".

    Note that people who make modified versions of JFreeReport are not obligated
    to grant this special exception for their modified versions; it is
    their choice whether to do so. The GNU Lesser General Public License gives
    permission to release a modified version without this exception; this
    exception also makes it possible to release a modified version which
    carries forward this exception
    Have more fun,
    said Thomas

  2. #2
    Join Date
    Feb 2004
    Posts
    2

    Default Problems with LGPL license

    Hi,

    The subject related to licensing terms is not my favorite, but since we live in a real world (lawyers included) I have to deal with it.

    First I've been using JFreeReports for more than a year and I have to say it's great software. However all the projects I had to deal with so far were open source.

    Now I have a commercial project going on and I'd like to use JFreeReports as well, but the customer asked me to checked on the legal issues related to its utilization.

    So I have the following questions:

    I looked inside the distribution, but none of the exceptions mentioned in this forum is included. So where can I find them?

    Second, my understanding is that no changes are allowed to LGPL license agreement, so How were you able to make exceptions in the first place?

    Third and most important, my research shows that there is still an unsettled discussion related to paragraph 5 and 6 of LGPL specifically for java, since the term linked to is not very clear. I've also found that the rule of thumb is whenever there is an import into a new class from a LGPL library class, the work must be considered derivated from and therefore should be covered by the LGPL as well (some persons refer to it as the viral effect of GPL). While I don't have any trouble contributing to the Open Software cause, the fact that my customer software will be bounded by LGPL license for its proprietary development makes him very nervous. So Do you have any workaround for this?

    I'll really appreciate your comments.

  3. #3
    Join Date
    Mar 2003
    Posts
    8,085

    Default

    Hi,

    well, at the moment, there are two points of view about the LGPL and the linking problem. The politicans of the FSF and the Apache group consider using objects and functions from a LGPL an action which causes the viral effect of the LGPL to strike (as java uses name based runtime linking and therefore the names of the used functions get copied into the bytecode).

    On the oposite, the developers seem to use the LGPL to explicitly allow any kind of linking - and I am one of them. From my point of view, calling functions and creating objects simply use the library - they do not extend the library in any way and therefore the viral clause should not apply here.

    As the exception text seemed to get lost and the addition in the Function and Expression classes where not as clear as they should be - we try it gain:

    This is the content of the file "licence-exception.txt" which was added today and will be included in all future versions. This licence also applies to all previous versions of JFreeReport.

    Code:
    This file contains some exceptions to the LGPL for the JFreeReport
    source code. The exception grants you the right to write own functions
    or expressions without causing your program to fall under the terms
    of the GNU Lesser General Public Licence.
    
    We consider linking JFreeReport into other programs to be non-viral.
    As until today (Feb-2004) it is still not clear whether calling java
    functions and objects from non-free code is linking or (due to the
    special nature of the java linking system) whether this creates a
    derivate work, we therefore grant everyone the right to link their
    programms to all JFreeReport classes using Java linking mechanisms,
    without causing the whole work to fall under the terms of the GNU
    Lesser General Public License.
    
    
    
    As a special exception, the copyright holders of JFreeReport give you
    permission to extend JFreeReport with modules that implement the
    "org.jfree.report.function.Expression" or the 
    "org.jfree.report.function.Function" interface, regardless
    of the license terms of these implementations, and to copy and distribute the
    resulting combined work under terms of your choice, provided that
    every copy of the combined work is accompanied by a complete copy of
    the source code of JFreeReport (the version of JFreeReport used to produce the
    combined work), being distributed under the terms of the GNU Lesser
    General Public License plus this exception.
    
    This exception applies to the Java interfaces "Expression" and "Function"
    and the classes "AbstractExpression" and "AbstractFunction" of the package
    "org.jfree.report.function".
    
    Note that people who make modified versions of JFreeReport are not obligated
    to grant this special exception for their modified versions; it is
    their choice whether to do so.  The GNU Lesser General Public License gives
    permission to release a modified version without this exception; this
    exception also makes it possible to release a modified version which
    carries forward this exception.
    And how can we do this? The copyright holder always has the right to distribute his/her work under any licence - and this allows us to add a dual licence to his work. SAP has done it, TrollTech and MySQL have done it too and the GNU Project also does it (see http://www.gnu.org/software/classpathx/jaxp/ for that) - and all of them has enough lawyers to even drive the devil into madness, so it should be ok.

    If your customer or lawyer is unhappy with the text stated above, just tell me - and we shall find something suitable to make that linking issue clear and waterproof.

    Have more fun,
    said Thomas

  4. #4
    Join Date
    Mar 2003
    Posts
    8,085

    Default

    Finally the FSF made a final statement on that issue. Linking is allowed without forcing the whole work to become a LGPLed work.

    The full text is here:
    http://www.gnu.org/licenses/lgpl-java.html

    Have mo' fun,
    said Thomas

    P.S: I removed all licence exceptions from JFreeReport, as the FSF text said the same as these exceptions.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.