I offer to split examples to 2 modules:
'examples' and 'lgpl-examples'.
Ignite convenience binaries will contain only 'examples' project, but user
will have opportunity to download sources and using lgpl profile build
'lgpl-examples'.

On Wed, Sep 30, 2015 at 11:49 AM, Branko Čibej <br...@apache.org> wrote:

> On 30.09.2015 10:30, Dmitriy Setrakyan wrote:
> > On Wed, Sep 30, 2015 at 9:45 AM, Branko Čibej <br...@apache.org> wrote:
> >
> >> On 30.09.2015 09:29, Dmitriy Setrakyan wrote:
> >>> On Wed, Sep 30, 2015 at 8:25 AM, Sergey Kozlov <skoz...@gridgain.com>
> >> wrote:
> >>>> I filed the ticket:
> >>>> Build examples failed from binary fabric package
> >>>> <https://issues.apache.org/jira/browse/IGNITE-1579>
> >>>>
> >>> I think the reason is that we do not upload Ignite LGPL integrations,
> >> e.g.
> >>> ignite-hiberbnate artifact to maven central. I don't see why we do not,
> >>> because even though they depend on some LGPL-based code, the ignite
> >> module
> >>> itself is licensed under ASL.
> >>>
> >>> Can we upload these artifacts manually?
> >> We've been through this any number of times, yes? We cannot distribute
> >> (L)GPL dependencies. If you can't run a reasonable grid that doesn't
> >> depend on LGPL-licensed modules, then those modules are not "optional"
> >> by any reasonable definition.
> >>
> >> It's quite all right to have examples that require those modules; just
> >> tell users that if they want to run those examples, they'll have to
> >> build Ignite (or at least the LGPL dependencies) themselves.
> >>
> >
> > Hm... I thought that ignite-hibernate module could still be published to
> > Maven because the module itself is licensed under ASL2.0 license.
>
> People keep misunderstanding the LGPL. You really should read it. The
> "module itself" cannot be licensed under ALv2. For example, this is
> LGPL2.1 section 5 paragraph 2:
>
>     However, linking a "work that uses the Library" with the Library
>     creates an executable that is a derivative of the Library (because
>     it contains portions of the Library), rather than a "work that uses
>     the library". The executable is therefore covered by this License.
>     Section 6 states terms for distribution of such executables.
>
>
> In other words, as soon as you *build* something that is linked with
> LGPL, it's covered by the LGPL. The sources of the module can be ALv2,
> but the built module isn't.
>
> This is why ASF policy forbids mandatory (L)GPL dependencies and
> absolutely forbids releases containing (L)GPL code. And whilst the
> binaries we put on Maven aren't "releases", they must follow these
> policies.
>
> > If not, then we should not include these modules into the main set of
> > examples, primarily because there is no way for a user to build them out
> of
> > the box.
> >
> > I see 2 solutions:
> >
> > 1. Remove modules that depend on LGPL from the examples altogether.
> > 2. Add a separate LGPL folder in examples, which will not be included
> into
> > the POM file with a special README explaining how to build them.
>
>
> Option 2 is acceptable.
>
> -- Brane
>
>

Reply via email to