You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by Sameer Abhyankar <sa...@google.com> on 2019/10/08 21:10:11 UTC

Support for LZO compression.

Hi All,

We were looking to add an IO that would read LZO compressed binaries from a
supported filesystem. However, based on our research, LZO is shipped under
the GPL license.

Would the licensing issue make it unlikely for this to be accepted as a
contribution into the Beam SDK? Are there options for adding support for
LZO into the Beam SDK so we dont run into licensing issues?

Thanks in advance for the help with this!!

Sameer

Re: Support for LZO compression.

Posted by Kenneth Knowles <ke...@apache.org>.
I would like to get some Foundation-level feedback on the particular
mechanism we use to provide this functionality. We can ask on legal-discuss@
or by filing a legal JIRA.

Or, if we already have done this, can anyone give me a pointer into the dev
list archive?

Kenn

On Wed, Oct 9, 2019 at 7:16 AM Jeff Klukas <jk...@mozilla.com> wrote:

> Sameer - Also note that there's some prior art for optional components,
> particularly compression algorithms. We added support for zstd compression,
> but document that it's the user's responsibility to make sure the relevant
> library is available on the classpath [0].
>
> There was some interest in a more formal way of defining optional
> dependencies, but I expect it would make sense to follow the same general
> approach here as we used for zstd, relying on Javadoc to advertise the
> user's responsibilities.
>
> [0]
> https://github.com/apache/beam/blob/c2f0d282337f3ae0196a7717712396a5a41fdde1/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Compression.java#L132-L153
>
> On Wed, Oct 9, 2019 at 10:10 AM Sameer Abhyankar <sa...@google.com>
> wrote:
>
>> Thanks Luke! This is very helpful! This would certainly be considered as
>> an optional component IMO.
>>
>> On Tue, Oct 8, 2019 at 7:01 PM Luke Cwik <lc...@google.com> wrote:
>>
>>> Sorry about that, gave the wrong information.
>>>
>>> The GPL 1, 2, and 3 all fall under category X licenses [1].
>>> "Apache projects may not distribute Category X licensed components, be
>>> it in source or binary form; and be it in ASF source code or convenience
>>> binaries. As with the previous question on platforms, the component can be
>>> relied on if the component's license terms do not affect the Apache
>>> product's licensing. For example, using a GPL'ed tool during the build is
>>> OK, however including GPL'ed source code is not."
>>>
>>> But if this is an optional component which does not significantly
>>> prevent the majority of users to use the product then it will be ok[2].
>>> Relevant bit is:
>>> "Apache projects can rely on components under prohibited licenses if the
>>> component is only needed for optional features. When doing so, a project
>>> shall provide the user with instructions on how to obtain and install the
>>> non-included work. Optional means that the component is not required for
>>> standard use of the product or for the product to achieve a desirable level
>>> of quality. The question to ask yourself in this situation is:"
>>>
>>> So in this case I believe we can include the LZO as long as we mark it
>>> as optional.
>>>
>>> 1: https://www.apache.org/legal/resolved.html#category-x
>>> 2: https://www.apache.org/legal/resolved.html#optional
>>>
>>>
>>>
>>> On Tue, Oct 8, 2019 at 3:51 PM Luke Cwik <lc...@google.com> wrote:
>>>
>>>> Which GPL version?
>>>>
>>>> The Apache License 2.0 is compatible with GPL 3[1]
>>>>
>>>> 1: https://www.apache.org/foundation/license-faq.html#GPL
>>>>
>>>> On Tue, Oct 8, 2019 at 2:10 PM Sameer Abhyankar <sa...@google.com>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> We were looking to add an IO that would read LZO compressed binaries
>>>>> from a supported filesystem. However, based on our research, LZO is shipped
>>>>> under the GPL license.
>>>>>
>>>>> Would the licensing issue make it unlikely for this to be accepted as
>>>>> a contribution into the Beam SDK? Are there options for adding support for
>>>>> LZO into the Beam SDK so we dont run into licensing issues?
>>>>>
>>>>> Thanks in advance for the help with this!!
>>>>>
>>>>> Sameer
>>>>>
>>>>
>>

Re: Support for LZO compression.

Posted by Jeff Klukas <jk...@mozilla.com>.
Sameer - Also note that there's some prior art for optional components,
particularly compression algorithms. We added support for zstd compression,
but document that it's the user's responsibility to make sure the relevant
library is available on the classpath [0].

There was some interest in a more formal way of defining optional
dependencies, but I expect it would make sense to follow the same general
approach here as we used for zstd, relying on Javadoc to advertise the
user's responsibilities.

[0]
https://github.com/apache/beam/blob/c2f0d282337f3ae0196a7717712396a5a41fdde1/sdks/java/core/src/main/java/org/apache/beam/sdk/io/Compression.java#L132-L153

On Wed, Oct 9, 2019 at 10:10 AM Sameer Abhyankar <sa...@google.com>
wrote:

> Thanks Luke! This is very helpful! This would certainly be considered as
> an optional component IMO.
>
> On Tue, Oct 8, 2019 at 7:01 PM Luke Cwik <lc...@google.com> wrote:
>
>> Sorry about that, gave the wrong information.
>>
>> The GPL 1, 2, and 3 all fall under category X licenses [1].
>> "Apache projects may not distribute Category X licensed components, be it
>> in source or binary form; and be it in ASF source code or convenience
>> binaries. As with the previous question on platforms, the component can be
>> relied on if the component's license terms do not affect the Apache
>> product's licensing. For example, using a GPL'ed tool during the build is
>> OK, however including GPL'ed source code is not."
>>
>> But if this is an optional component which does not significantly prevent
>> the majority of users to use the product then it will be ok[2]. Relevant
>> bit is:
>> "Apache projects can rely on components under prohibited licenses if the
>> component is only needed for optional features. When doing so, a project
>> shall provide the user with instructions on how to obtain and install the
>> non-included work. Optional means that the component is not required for
>> standard use of the product or for the product to achieve a desirable level
>> of quality. The question to ask yourself in this situation is:"
>>
>> So in this case I believe we can include the LZO as long as we mark it as
>> optional.
>>
>> 1: https://www.apache.org/legal/resolved.html#category-x
>> 2: https://www.apache.org/legal/resolved.html#optional
>>
>>
>>
>> On Tue, Oct 8, 2019 at 3:51 PM Luke Cwik <lc...@google.com> wrote:
>>
>>> Which GPL version?
>>>
>>> The Apache License 2.0 is compatible with GPL 3[1]
>>>
>>> 1: https://www.apache.org/foundation/license-faq.html#GPL
>>>
>>> On Tue, Oct 8, 2019 at 2:10 PM Sameer Abhyankar <sa...@google.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> We were looking to add an IO that would read LZO compressed binaries
>>>> from a supported filesystem. However, based on our research, LZO is shipped
>>>> under the GPL license.
>>>>
>>>> Would the licensing issue make it unlikely for this to be accepted as a
>>>> contribution into the Beam SDK? Are there options for adding support for
>>>> LZO into the Beam SDK so we dont run into licensing issues?
>>>>
>>>> Thanks in advance for the help with this!!
>>>>
>>>> Sameer
>>>>
>>>
>

Re: Support for LZO compression.

Posted by Sameer Abhyankar <sa...@google.com>.
Thanks Luke! This is very helpful! This would certainly be considered as an
optional component IMO.

On Tue, Oct 8, 2019 at 7:01 PM Luke Cwik <lc...@google.com> wrote:

> Sorry about that, gave the wrong information.
>
> The GPL 1, 2, and 3 all fall under category X licenses [1].
> "Apache projects may not distribute Category X licensed components, be it
> in source or binary form; and be it in ASF source code or convenience
> binaries. As with the previous question on platforms, the component can be
> relied on if the component's license terms do not affect the Apache
> product's licensing. For example, using a GPL'ed tool during the build is
> OK, however including GPL'ed source code is not."
>
> But if this is an optional component which does not significantly prevent
> the majority of users to use the product then it will be ok[2]. Relevant
> bit is:
> "Apache projects can rely on components under prohibited licenses if the
> component is only needed for optional features. When doing so, a project
> shall provide the user with instructions on how to obtain and install the
> non-included work. Optional means that the component is not required for
> standard use of the product or for the product to achieve a desirable level
> of quality. The question to ask yourself in this situation is:"
>
> So in this case I believe we can include the LZO as long as we mark it as
> optional.
>
> 1: https://www.apache.org/legal/resolved.html#category-x
> 2: https://www.apache.org/legal/resolved.html#optional
>
>
>
> On Tue, Oct 8, 2019 at 3:51 PM Luke Cwik <lc...@google.com> wrote:
>
>> Which GPL version?
>>
>> The Apache License 2.0 is compatible with GPL 3[1]
>>
>> 1: https://www.apache.org/foundation/license-faq.html#GPL
>>
>> On Tue, Oct 8, 2019 at 2:10 PM Sameer Abhyankar <sa...@google.com>
>> wrote:
>>
>>> Hi All,
>>>
>>> We were looking to add an IO that would read LZO compressed binaries
>>> from a supported filesystem. However, based on our research, LZO is shipped
>>> under the GPL license.
>>>
>>> Would the licensing issue make it unlikely for this to be accepted as a
>>> contribution into the Beam SDK? Are there options for adding support for
>>> LZO into the Beam SDK so we dont run into licensing issues?
>>>
>>> Thanks in advance for the help with this!!
>>>
>>> Sameer
>>>
>>

Re: Support for LZO compression.

Posted by Luke Cwik <lc...@google.com>.
Sorry about that, gave the wrong information.

The GPL 1, 2, and 3 all fall under category X licenses [1].
"Apache projects may not distribute Category X licensed components, be it
in source or binary form; and be it in ASF source code or convenience
binaries. As with the previous question on platforms, the component can be
relied on if the component's license terms do not affect the Apache
product's licensing. For example, using a GPL'ed tool during the build is
OK, however including GPL'ed source code is not."

But if this is an optional component which does not significantly prevent
the majority of users to use the product then it will be ok[2]. Relevant
bit is:
"Apache projects can rely on components under prohibited licenses if the
component is only needed for optional features. When doing so, a project
shall provide the user with instructions on how to obtain and install the
non-included work. Optional means that the component is not required for
standard use of the product or for the product to achieve a desirable level
of quality. The question to ask yourself in this situation is:"

So in this case I believe we can include the LZO as long as we mark it as
optional.

1: https://www.apache.org/legal/resolved.html#category-x
2: https://www.apache.org/legal/resolved.html#optional



On Tue, Oct 8, 2019 at 3:51 PM Luke Cwik <lc...@google.com> wrote:

> Which GPL version?
>
> The Apache License 2.0 is compatible with GPL 3[1]
>
> 1: https://www.apache.org/foundation/license-faq.html#GPL
>
> On Tue, Oct 8, 2019 at 2:10 PM Sameer Abhyankar <sa...@google.com>
> wrote:
>
>> Hi All,
>>
>> We were looking to add an IO that would read LZO compressed binaries from
>> a supported filesystem. However, based on our research, LZO is shipped
>> under the GPL license.
>>
>> Would the licensing issue make it unlikely for this to be accepted as a
>> contribution into the Beam SDK? Are there options for adding support for
>> LZO into the Beam SDK so we dont run into licensing issues?
>>
>> Thanks in advance for the help with this!!
>>
>> Sameer
>>
>

Re: Support for LZO compression.

Posted by Luke Cwik <lc...@google.com>.
Which GPL version?

The Apache License 2.0 is compatible with GPL 3[1]

1: https://www.apache.org/foundation/license-faq.html#GPL

On Tue, Oct 8, 2019 at 2:10 PM Sameer Abhyankar <sa...@google.com>
wrote:

> Hi All,
>
> We were looking to add an IO that would read LZO compressed binaries from
> a supported filesystem. However, based on our research, LZO is shipped
> under the GPL license.
>
> Would the licensing issue make it unlikely for this to be accepted as a
> contribution into the Beam SDK? Are there options for adding support for
> LZO into the Beam SDK so we dont run into licensing issues?
>
> Thanks in advance for the help with this!!
>
> Sameer
>