dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DotGNU]Re: licensing of fox toolkit


From: jeroen
Subject: [DotGNU]Re: licensing of fox toolkit
Date: Fri, 10 Jan 2003 03:01:25 -0600
User-agent: KMail/1.4.3

On Thursday 09 January 2003 06:04 am, you wrote:

[Sorry to quote so much of the original post, but it serves to anchor the 
discussion a bit].

> I have read through your licensing page on fox, with your recent changes as
> of August of last year, and I have found these changes contradictory and
> confusing.  You start from a basic LGPL license, and then state the
> following on your site:
>
> FOX basically follows the standard GNU Lesser General Public License
> (LGPL). Because of repeated questions on this topic, it has become apparent
> that many people still had a number of uncertainties about licensing
> issues.
>
> Also, a number of stipulations in the GNU Lesser Public License statement
> have evidently been an impediment to truely wide-spread adoption of the FOX
> Library.
>
> Thus, the intent of the License Addendum has been to provide clarification
> of a number of obscure issues in the GNU Lesser General Public License, and
> to relax a few of its stipulations with an eye to solving a couple of
> practical issues.
>
> Below follows the GNU Lesser Public License, followed by the FOX Library
> License addendum.
>
> < INSERTED >
>                            ADDENDUM TO LICENSE
>                               August 2002
>
>                 Copyright (C) 2002 Jeroen van der Zijp.
>
>         Everyone is permitted to copy and distribute verbatim copies
>      of this license addendum document, but changing it is not allowed.
>
>
> FOX Toolkit Library License Agreement.
>
>
> 0. The FOX Toolkit Library ("The Library") is licensed under GNU Lesser
> General Public License as published by the Free Software Foundation,
> version 2.1 of the License, or (at your option) any later version,
> with the following additional conditions.  The following conditions
> take precedence over any conditions or restrictions stipulated by the
> Lesser General Public License insofar as a conflict exists.
>
> 1. The FOX Toolkit Library License Agreement ("License") covers only
> the FOX Toolkit Library ("The Library").  Other libraries which the
> Library may use are covered by their own respective licenses.
>
> 2. Modification of the configure scripts, makefiles, or installation
> tools of the Library to support a specific platform does not constitute
> creating a modified or derivative work based on the Library.
>
> 3. Subclassing from Objects or Widgets supplied by the Library involves
> no modifications to the source code of the Library itself, and
> consequently, subclassing from Objects and Widgets does not constitute
> creating a modified or derivative work based on the Library.
>
> 4. Statically linking of a copy of the Library against any work using the
> Library, i.e. the inclusion of (parts of) the Library into a program or
> binary, is functionally equivalent to a work using the Library by linking
> to it dynamically, and therefore does not constitute creating a modified
> or derivative work based on the Library.
>
> 5. Otherwise, if the work is a derivative of the Library, you may
> distribute the object code for the work under the terms of the GNU Lesser
> General Public License.  Any executables containing that work also may
> be distributed under the Lesser General Public License whether or not they
> are linked directly with the Library itself.
>
> 6. Programs or binaries linked with the Library must be identified as such
> by including, in the Documentation or by other means (for example in the
> About Box or Online Help), the following statement:
>
> "This software uses the FOX Toolkit Library (http://www.fox-toolkit.org)."
>
> < END >


> I do understand that to actually get an GNU LGPL "effect" in a C++ class
> frameworks it may be nessisary to have some kind of addendum stating what
> is not construed as a derived work by the author, since one has to deal
> with templates, inline headers, and inheritence, all of which may be
> construed under copyright and our current legal understanding as it may
> apply to software as a "derivitive" work in ways that linking of pure C
> libraries are not, and this may also relate to specific issues of copyright
> law in your own country.

David, e.a.,

Part of the addendum is a clarification.  C++ programmers get confused when
they see "derivation."  In the context of the licensing, "derivation" does
not pertain to the C++ concept of "class-derivation" or "inheritance."

I felt I had to spell this out because I was asked about this repeatedly.

A work is a derivative work from the Library, in the legal sense, if it 
incorporates more than 10 lines of source code from the library; see LGPL 
License statement.

I'm perfectly willing to add the same language which was added to the
GLIBC License w.r.t. templates and inlines; however, templates and inlines
are not the real issue in this discussion.


> When it is nessisary to add extra privileges to clearify issues like this,
> in my own opinion, one way to do that is to have a revertable license; that
> is you can either accept the license with some specific priviledges added,
> or accept and use it under the terms of the GNU GPL (or lgpl) unmodified.


Yes.  That's what it says.  If you consider a Venn-diagram of the set of
"allowed uses" resulting from the LGPL license, then the set of "allowed uses"
resulting from the FOX license addendum contains the former as a proper
subset, in other words the FOX License addendum gives you additional uses
which the LGPL does not, but only if you meet these certain requirements.

If you choose not to meet these requirements (4), you can distribute your 
application under the original LGPL license (5).


> However, it seems some of the changes you have in your addendum create new
> requirements, such as the advertising clause, which conflict and make your
> library unusable with other GNU GPL license software, or otherwise create
> different terms from those of the GNU L-GPL.  If this is your intent, I


This is not so, addendum (5) says you have the option of just distributing
under the LGPL license, except of course then you also have to abide by the 
relinking requirement.

The relinking requirement is not a problem if your app is also a [L]GPL-ed
one, but it presents vendors of proprietary software with many logistical
problems.


> would suggest perhaps what you really should do is a dual disjunctive
> license.  A disjunctive license means the software can be provided on one
> of two (or more) different licenses, and the end user receiving the
> software can choose which one applies. Some software is under a
> dual-disjunctive license with the GNU GPL being one of the options, and a
> BSD-like license being the other. Perl is similarly licensed under a
> dual-disjunctive license between the GNU GPL and the "Artistic" license.

I understand but that is not really necessary, because LGPL is a subset
of the LGPL+Addendum.  

You can always accept just the subset.


> The license you have currently, with the addendum, is contradictory, and I
> believe as written, may be unusable with other GNU GPL licensed software.
> Since your goal was to make your library more easily and widely usable, it
> seems this has accomplished the exact opposite.


It is spelled out how such contradictions are resolved in paragraph 0.

You are right that there is one:- we waive the relinking requirement under 
a specific condition as set forth by points 4 and 5 of the addendum.

The intent is to allow static linking, under the condition that the library
is not modified.  As soon as you modify, LGPL applies again and you may
no longer link statically except under the conditions as set forth by
LGPL point 6, i.e. by satisfying the relinking requirement.

In a nutshell, this is the rationale:

0       When in doubt LGPL v.s. Addendum, addendum holds.

1,2,3   Basically, clarification of what should be obvious; I simply
        don't want to keep explaining the same stuff over and over again.

4       [The meat] If the library isn't modified, recipients of the 
        combined (through static linking) work are able to obtain an 
        exact copy of the library as was used in the combined work and 
        we consider the relinking requirement waived.

5       If you did modify the library, then recipients of the combined 
        work would NOT be able to obtain an exact copy of the library 
        as was used in the combined work, and as that would violate the 
        Spirit of the LGPL we now require that the LGPL relinking 
        requirement is met.
  
        The idea is that the Free Software is not locked up in a 
        proprietary box, unless we already know what is in the box, in 
        which case we don't care.

6       We require this statement because recipients are then able to 
        determine the license to which they are entitled. 


==

I don't *like* to have to tweak the LGPL, but the aforementioned logistics
issue (with static linking) are important to me and many other organizations
using the FOX library.  

The FOX License addendum contains some language, which I think is completely
in the Spirit of LGPL, which largely eliminates this logistical burden, while
at the same time ensuring that derivative works and extensions remain accessible
to the Free Software Community.

Doubtlessly, people with a law degree can improve the language, and I'd love
to hear ways in which I can improve the addendum.




        Best regards,


                        - Jeroen






reply via email to

[Prev in Thread] Current Thread [Next in Thread]