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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>>>> 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
>>>>>
>>>>
>>

Reply via email to