Hello. I just updated my draft implementation:

1. Rebased to latest trunk (commit 5145d6b)
2. Apply ZStd 1.3.4

You can check out the implementation from here
<https://github.com/apache/kafka/pull/2267>. If you experience any problem
running it, don't hesitate to give me a mention.

Best,
Dongjin

On Tue, Jun 12, 2018 at 6:50 PM Dongjin Lee <dong...@apache.org> wrote:

> Here is the short conclusion about the license problem: *We can use zstd
> and zstd-jni without any problem, but we need to include their license,
> e.g., BSD license.*
>
> Both of BSD 2 Clause License & 3 Clause License requires to include the
> license used, and BSD 3 Clause License requires that the name of the
> contributor can't be used to endorse or promote the product. That's it
> <http://www.mikestratton.net/2011/12/is-bsd-license-compatible-with-apache-2-0-license/>
> - They are not listed in the list of prohibited licenses
> <https://www.apache.org/legal/resolved.html#category-x> also.
>
> Here is how Spark did for it
> <https://issues.apache.org/jira/browse/SPARK-19112>:
>
> - They made a directory dedicated to the dependency license files
> <https://github.com/apache/spark/tree/master/licenses> and added licenses
> for Zstd
> <https://github.com/apache/spark/blob/master/licenses/LICENSE-zstd.txt> &
> Zstd-jni
> <https://github.com/apache/spark/blob/master/licenses/LICENSE-zstd-jni.txt>
> .
> - Added a link to the original license files in LICENSE.
> <https://github.com/apache/spark/pull/18805/files>
>
> If needed, I can make a similar update.
>
> Thanks for pointing out this problem, Viktor! Nice catch!
>
> Best,
> Dongjin
>
>
>
> On Mon, Jun 11, 2018 at 11:50 PM Dongjin Lee <dong...@apache.org> wrote:
>
>> I greatly appreciate your comprehensive reasoning. so: +1 for b until now.
>>
>> For the license issues, I will have a check on how the over projects are
>> doing and share the results.
>>
>> Best,
>> Dongjin
>>
>> On Mon, Jun 11, 2018 at 10:08 PM Viktor Somogyi <viktorsomo...@gmail.com>
>> wrote:
>>
>>> Hi Dongjin,
>>>
>>> A couple of comments:
>>> I would vote for option b. in the "backward compatibility" section. My
>>> reasoning for this is that users upgrading to a zstd compatible version
>>> won't start to use it automatically, so manual reconfiguration is
>>> required.
>>> Therefore an upgrade won't mess up the cluster. If not all the clients
>>> are
>>> upgraded but just some of them and they'd start to use zstd then it would
>>> cause errors in the cluster. I'd like to presume though that this is a
>>> very
>>> obvious failure case and nobody should be surprised if it didn't work.
>>> I wouldn't choose a. as I think we should bump the fetch and produce
>>> requests if it's a change in the message format. Moreover if some of the
>>> producers and the brokers are upgraded but some of the consumers are not,
>>> then we wouldn't prevent the error when the old consumer tries to consume
>>> the zstd compressed messages.
>>> I wouldn't choose c. either as I think binding the compression type to an
>>> API is not so obvious from the developer's perspective.
>>>
>>> I would also prefer to use the existing binding, however we must respect
>>> the licenses:
>>> "The code for these JNI bindings is licenced under 2-clause BSD license.
>>> The native Zstd library is licensed under 3-clause BSD license and GPL2"
>>> Based on the FAQ page
>>> https://www.apache.org/legal/resolved.html#category-a
>>> we may use 2- and 3-clause BSD licenses but the Apache license is not
>>> compatible with GPL2. I'm hoping that the "3-clause BSD license and GPL2"
>>> is really not an AND but an OR in this case, but I'm no lawyer, just
>>> wanted
>>> to make the point that we should watch out for licenses. :)
>>>
>>> Regards,
>>> Viktor
>>>
>>>
>>> On Sun, Jun 10, 2018 at 3:02 AM Ivan Babrou <ibob...@gmail.com> wrote:
>>>
>>> > Hello,
>>> >
>>> > This is Ivan and I still very much support the fact that zstd
>>> compression
>>> > should be included out of the box.
>>> >
>>> > Please think about the environment, you can save quite a lot of
>>> hardware
>>> > with it.
>>> >
>>> > Thank you.
>>> >
>>> > On Sat, Jun 9, 2018 at 14:14 Dongjin Lee <dong...@apache.org> wrote:
>>> >
>>> > > Since there are no responses for a week, I decided to reinitiate the
>>> > > discussion thread.
>>> > >
>>> > >
>>> > >
>>> >
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-110%3A+Add+Codec+for+ZStandard+Compression
>>> > >
>>> > > This KIP is about to introduce ZStandard Compression into Apache
>>> Kafka.
>>> > > The reason why it is posted again has a story: It was originally
>>> posted
>>> > to
>>> > > the dev mailing list more than one year ago but since it has no
>>> > performance
>>> > > report included, it was postponed later. But Some people (including
>>> Ivan)
>>> > > reported excellent performance report with the draft PR, this work
>>> is now
>>> > > reactivated.
>>> > >
>>> > > The updated KIP document includes some expected problems and their
>>> > > candidate alternatives. Please have a look when you are free, and
>>> give
>>> > me a
>>> > > feedback. All kinds of participating are welcome.
>>> > >
>>> > > Best,
>>> > > Dongjin
>>> > >
>>> > > --
>>> > > *Dongjin Lee*
>>> > >
>>> > > *A hitchhiker in the mathematical world.*
>>> > >
>>> > > *github:  <http://goog_969573159/>github.com/dongjinleekr
>>> > > <http://github.com/dongjinleekr>linkedin:
>>> > kr.linkedin.com/in/dongjinleekr
>>> > > <http://kr.linkedin.com/in/dongjinleekr>slideshare:
>>> > www.slideshare.net/dongjinleekr
>>> > > <http://www.slideshare.net/dongjinleekr>*
>>> > >
>>> >
>>>
>> --
>> *Dongjin Lee*
>>
>> *A hitchhiker in the mathematical world.*
>>
>> *github:  <http://goog_969573159/>github.com/dongjinleekr
>> <http://github.com/dongjinleekr>linkedin: kr.linkedin.com/in/dongjinleekr
>> <http://kr.linkedin.com/in/dongjinleekr>slideshare: 
>> www.slideshare.net/dongjinleekr
>> <http://www.slideshare.net/dongjinleekr>*
>>
>
>
> --
> *Dongjin Lee*
>
> *A hitchhiker in the mathematical world.*
>
> *github:  <http://goog_969573159/>github.com/dongjinleekr
> <http://github.com/dongjinleekr>linkedin: kr.linkedin.com/in/dongjinleekr
> <http://kr.linkedin.com/in/dongjinleekr>slideshare: 
> www.slideshare.net/dongjinleekr
> <http://www.slideshare.net/dongjinleekr>*
>


-- 
*Dongjin Lee*

*A hitchhiker in the mathematical world.*

*github:  <http://goog_969573159/>github.com/dongjinleekr
<http://github.com/dongjinleekr>linkedin: kr.linkedin.com/in/dongjinleekr
<http://kr.linkedin.com/in/dongjinleekr>slideshare:
www.slideshare.net/dongjinleekr
<http://www.slideshare.net/dongjinleekr>*

Reply via email to