> On Tue, Sep 21, 2010 at 5:03 PM, Frans Bouma <[email protected]> wrote:
> 
> 
>              The key is 'derivate work'. Altering a dialect class and
> change 2
>       lines and enclose that dialect class in your own 1000 classes big
> project
>       doesn't make that 1000 classes big project a derivative work and
> doesn't
>       force it to inherit the license.
> 
> I would agree that MyCustomDialect :
> NHibernate.Dialects.MSSqlServer2005Dialect probably falls under the LGPL.
> For that matter, if you distribute that class in the same assembly as
other
> stuff, you probably need to release the whole LGPL.
> However, there is a very simple solution if you did that and you only
caught
> it after the release. You can extract that class to a separate assembly,
put
> THAT asm under the LGPL, and the rest of your code is unaffected.

        yes, that's a good workaround. Likely also the route Steve's
customer should take in this: any modifications to NH, extension classes to
NH, place that in an LGPL-ed assembly and the bigger app isn't affected. 

>              LGPLv3 doesn't change that at all. GPL3 (and thus LGPL3)
adds:
>       - a more strict set of rules what 'linking' implies. Everyone except
> the
>       people inside FSF understand how stupid this rule is but instead of
>       realizing that for example a dynamically loaded dll which interface
> is
>       dynamically discovered at runtime does NOT mean 'linking', they
> continue on
>       that path and add a bigger set of rules to formulate what 'linking'
> means.
>       (if I recall correctly, they now also include a clause about
> webservices...
>       :/)
> 
> The web services part is for the AGPL, not the GPL or LGPL, IIRC.
> There are explicit ways to break the links, anything that is out of
process
> (cmd line, pipes, etc).

        Oh! you're right, I forgot about that one, indeed. AGPL (A stands
for aggressive? ;)) was the insane one.

        I still find it odd that to this day, the linking clause hasn't been
widely disputed as stupid. For exmple the DbProviderFactory system in .NET:
you never link to the ado.net provider, in memory the .net provider factory
system links to it... violation? Judges really won't understand that, most
of them can barely handle modern things like keyboards and mice. ;)

>              That's the rule of thumb. The conditions apply if your work
is
> a
>       'derivative work' of the GPL-ed piece of code. So using a GPL-ed
> ASP.NET
>       control in your website with 15000 pages isn't making that website a
>       derivate work, however this is fuzzy: every judge can decide
> differently.
>       This is also the reason why some companies find the GPL 'viral' and
> 'wrong'.
> 
> Actually, that scenario is safe. You aren't distributing your changes.

        if you create the website for a client, you do. Many consultants
don't get this, but creating software for a 3rd party IS distribution. Only
if the creator himself uses the work it's not distribution.

>              Does using a LGPL-ed piece of code protect you from GPL
> influences?
>       That's unclear. An example of that is the MySQL ADO.NET provider.
> It's
>       licensed under GPL3. If I use NHibernate in a commercial
application,
>       targeting MySQL, using the GPL-ed MySQL ado.net provider and
> distribute that
>       application, what's going to happen? Is my application a derivative
> work of
>       the MySQL application? A sane person would say: "no". Well, ask
> MySQL, and
>       they'll tell you differently.
> 
> IIRC, the MySQL stance is that if you can use the app with more than 1 db,
> it doesn't apply.

        Interesting. A new view on the matter. All their lawyers ever could
tell me was 'of course you're in violation in that situation. You can
overcome that by becoming a VAR'... 

> But with NH (or any modern ORM), I would switch the DB rather than have
the
> argument.

        haha good one :)

                FB

> 
> 
>       Who's right? That's unclear, and I think also
>       the reason why you got the question, however what's odd is that they
> asked
>       about LGPL-3, which IMHO doesn't protect you from nonsense like the
> example
>       I gave above.
> 
>              Sadly, asking a lawyer isn't really going to help, as lawyers
> too
>       have different opinions about this.
> 
>                      FB
> 
> 
> 
>       >
>       > Steve Bohlen
>       > [email protected]
>       > http://blog.unhandled-exceptions.com
>       > http://twitter.com/sbohlen
>       >
>       >
>       >
>       > On Tue, Sep 21, 2010 at 10:24 AM, Frans Bouma <[email protected]> wrote:
>       >
>       >
>       >       To my knowledge you can't re-license code you don't own the
>       copyright
>       > of.
>       >       Not sure if this is a problem, but I could imagine that code
> which
>       is
>       > ported
>       >       from Java has to inherit the same license.
>       >
>       >       Also, IMHO GPL 3 protects better against patent trolls (and
> as you
>       > might
>       >       know, RH settled with Firestar over a lawsuit filed by
> Firestar over
>       > a
>       >       patent violation by Hibernate) but it's a very complicated
> license,
>       > and the
>       >       language in it is so obscure that everyone can distillate
> her/his
>       own
>       >       opinion from it how it should be applied.
>       >
>       >       Be aware that re-licensing code will affect everyone using
> it.
>       >
>       >       What I don't understand is that they're concerned about what
> to
>       > provide for
>       >       reverse engineering but at the same time they're developing
a
> GPL v3
>       >       application? Isn't that odd, considering that a GPL-ed
> application
>       > already
>       >       implies you should provide all code? I.o.w.: aren't they
> concerned
>       > about
>       >       something else, i.e.: the dual license they likely want to
> apply,
>       > namely a
>       >       commercial license as well?
>       >
>       >              FB
>       >
>       >
>       >       > I'm sure licensing choice for NH is a pretty uninteresting
> topic
>       > <g>, but
>       >       > I've been approached by a potential NH adopter asking if
we
> would
>       > ever
>       >       > consider moving from LGPLv2.1 to LGPLv3 as part of the NH3
> release
>       > cycle.
>       >       >
>       >       > As I understand it, the (general) motivator behind
creating
> the
>       > LGPLv3 was
>       >       > to provide an LGPL license version that is more compatible
> with
>       > GPLv3-
>       >       > licensed code (e.g., if LGPLv2.1 code is linked into GPLv3
> code,
>       > there are
>       >       > apparently some potentially contradictory clauses between
> the
>       > LGPLv2.1 and
>       >       > the GPLv3 that would make such a release legally
> conflicted).
>       >       >
>       >       > The user has pointed out that their legal department has
> expressed
>       >       specific
>       >       > concern re: the following text in section 6 of LGPLv2.1:
>       >       >
>       >       >
>       >       >
>       >       >       "(...) you may also combine or link a 'work that
uses
> the
>       > Library'
>       >       > with the Library to produce a work containing portions of
> the
>       > Library, and
>       >       > distribute that work under terms of your choice, provided
> that the
>       > terms
>       >       > permit modification of the work for the customer's own use
> and
>       > reverse
>       >       > engineering for debugging such modifications."
>       >       >
>       >       >
>       >       > They have expressed some concern re: the potential
> ambiguity of
>       the
>       > scope
>       >       of
>       >       > what must be made available for reverse-engineering under
> this
>       > clause,
>       >       > fearing that it might be interpreted as including their
own
>       > (presumably
>       >       > commercial) solution.  They have also noted that this
> ambiguity
>       > appears to
>       >       > have been acknowledged by the LGPL authors as the related
> phrase
>       > has been
>       >       > modified in LGPLv3 to read:
>       >       >
>       >       >
>       >       >
>       >       >       "You may convey a Combined Work under terms of your
> choice
>       > that,
>       >       > taken together, effectively do not restrict modification
of
> the
>       > portions
>       >       of
>       >       > the Library contained in the Combined Work and reverse
> engineering
>       > for
>       >       > debugging such modifications (...)".
>       >       >
>       >       >
>       >       >
>       >       > I am neither a lawyer nor do I desire to become one so I
> cannot
>       > really
>       >       offer
>       >       > an opinion re: whether one of these clauses is more or
less
> clear
>       > than the
>       >       > other in any meaningful way.  But I am wondering if anyone
> can
>       > proffer a
>       >       > compelling reason for us NOT to move to LGPLv3 as part of
> the NH3
>       > release
>       >       so
>       >       > that it can be more easily used in concert with
GPLv3-based
>       > proejcts.
>       >       >
>       >       >
>       >       > What are people's opinions on this?
>       >       >
>       >       > Steve Bohlen
>       >       > [email protected]
>       >       > http://blog.unhandled-exceptions.com
>       >       > http://twitter.com/sbohlen
>       >
>       >
>       >
>       >
> 
> 
> 
> 


Reply via email to