inline

On Thu, Sep 10, 2009 at 4:27 PM, Fabio Maulo <[email protected]> wrote:

> The matter is: when a company modify part of NH without make that part
> public (I mean modify the core and not write, for example, a Listener or a
> CollectionTypeFactory).
>
> The core modification should be documented, LGPL, and public.
> In these past months I heard about more than one company saying, "we have
> our impl. of XYZ" (XYZ is a class in NH), "we are maintaining our copy of
> NH1.2.1" and so on... but I never saw that code on the cloud.
>
>
There isn't any problem here, Fabio.
LGPL doesn't means that you have to give those away if you made changes to
them.
You only have to give those changes to whoever *you gave the binaries to*.

Let us assume:
- There is something in NH that Company A wants to change (changing ISession
to IUnitOfWork, frex)
- They make the change and work with it.
- Then they send their application to their customers, using a modified NH.

You, as part of the NH project, but not as their customer, have no right for
the code.
Their customers (the people who got the binaries) may ask for the changes,
and the company is obligated to give it to them.
Their customers now are *allowed* to do whatever they want with this code,
the original company may *not* limit what they do with it.
This means that their customers can now turn and give *you *the code.

In practice, this means that if you are using LGPL, you tend to release the
code to everyone as part of releasing the binaries.

But there is a sidetrack here, if you are *not* releasing it to customers,
let us say that you are using a customized version of NHibernate to run your
website, there is nothing that would force you to contribute back your
changes.

Reply via email to