Re: [Cellar] compression libraries in IETF specifications (was Re: [cellar-wg/matroska-specification] deprecate LZO compression (#376))
Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Tue, 05 May 2020 20:43 UTC
Return-Path: <spencerdawkins.ietf@gmail.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B7B93A0A64 for <cellar@ietfa.amsl.com>; Tue, 5 May 2020 13:43:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ab4sHSAZcCPq for <cellar@ietfa.amsl.com>; Tue, 5 May 2020 13:43:46 -0700 (PDT)
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6FB4B3A0A65 for <cellar@ietf.org>; Tue, 5 May 2020 13:43:46 -0700 (PDT)
Received: by mail-lf1-x12e.google.com with SMTP id 188so2503450lfa.10 for <cellar@ietf.org>; Tue, 05 May 2020 13:43:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VkENzJPazxnlSzPxtFKZ15ZSMnGdD9+Z0G3bn/pylmo=; b=u+vWPO/w0O6R/wWCI4CWApAzsB9+SJgMuAKtQlXKYsDFiArCUQXgfEwtlP3yeF3C5+ OKXuy5/AOT+Cf9poTP4D8sfdb4AYIMdHQDY8oQZn7KQ2wKu7rwd4rEO9bOf4N2puuq9C pxz1eaxwrUzDxneYckFP9TPIY0kYzlgb+4uzJhFrRhXB0pdIzuwwjJtPi3G04B3Nt0bY ZTLtNSgLsBF5iS7NMbcNaIkWfB02tlqQL2IiRrUAOO5hNa849tWBgGeqC7gfxsG5cPQB iomgx6D8LOOMXPOHMzns5Q131F3bVTB7PZ86pfO9W7rhxeAewavZ1K+6AtLO+iMFgj4t 6KZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VkENzJPazxnlSzPxtFKZ15ZSMnGdD9+Z0G3bn/pylmo=; b=uL+PKLSVNBMEAk0u7lkX8Wt2srkNrlL9mgyAHYdMA8augZ2baKaym9sTvUH90sc4z7 A6WKWGzrD8bAB9Z+AKs54TVzdroP4QPdWZt1gRdYzBFegV7enkv3xN07RbeQvS43GMcl +04lmekapyfsS/ItYP7yJacg9GLTRKQe7eKRoGZIM88izRDsdOCprw8VTkhjq6Gc65bg y38jKCmxH9cYmvKxVWxIJON4X2mVa5dHb1zAph+GIVe9lewEfjsG5b10k4MNynCYolR1 u21jZ0dPaBnozk+ByEBnwerDce6JEvaTmLxVxNS70Xzc6pcnhkHXESRNuKwIQ5NKHGPM 6+ZA==
X-Gm-Message-State: AGi0PubdqvSUMwf9kbF6SdUND91MKqOH+hgc7fTlNVl8RiVSomPtoPaB Yn3oUM9B2iG2VMn44c2O6ATxIAocBZyc24zT+PZWEzQQcDM=
X-Google-Smtp-Source: APiQypLvcHzrdEQVdsvORWek+IsCWXgtvU05EpvmvmTYb8GUbOGTfiH5sWDHhlEoEafkpZdJc4cmrD25r5CFBAwUeTs=
X-Received: by 2002:a19:f70f:: with SMTP id z15mr2791412lfe.53.1588711424698; Tue, 05 May 2020 13:43:44 -0700 (PDT)
MIME-Version: 1.0
References: <cellar-wg/matroska-specification/issues/376@github.com> <24830.1588522227@localhost>
In-Reply-To: <24830.1588522227@localhost>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Tue, 05 May 2020 15:43:17 -0500
Message-ID: <CAKKJt-dxwwWpOHweAFDOEnAvpOi5dnT1c8rtd-NwZYp-AU+Obg@mail.gmail.com>
To: Michael Richardson <mcr@sandelman.ca>
Cc: Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001eb07c05a4ecb498"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/YUhSc0CjQ-_-tv71wQtTmNZrs38>
Subject: Re: [Cellar] compression libraries in IETF specifications (was Re: [cellar-wg/matroska-specification] deprecate LZO compression (#376))
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 May 2020 20:43:49 -0000
Hi, Michael, On Sun, May 3, 2020 at 11:10 AM Michael Richardson <mcr@sandelman.ca> wrote: > > Hi, I wanted to bring this item to the list's attention. > > Spencer: I seem to remember that the IETF has had compression IPR issues in > specifications in the past. IPCOMP comes to mind, but I am guessing that > other RTP/SIP groups have gone through this.. I had forgotten IPCOMP, but was remembering RoHC and RoHCv2. I think you're remembering SIGCOMP. The complete list of disclosures that mention "compression" is at https://datatracker.ietf.org/ipr/search/?draft=&rfc=&doctitle=compression&submit=doctitle&group=&holder=&iprtitle=&patent= > Is there possibly an IESG > statement that might help us here? > I believe the only relevant IESG statement on licensing for repositories is to make it clear that they need to include standard boilerplate ( https://www.ietf.org/about/groups/iesg/statements/open-source-repositories-license/ ). > > But, first, the software license on the libraries is not entirely germane. > An IETF specification can well contain algorithms which are currently only > available in software licensed in ways that might not be useable by all > implementers. > Someone just will have to write a new library with a license that suits > them! > > What matters if that the specification (and any related patents!) is > available to all. The IETF's minimum IPR requirement is generally RAND, > which is often not good enough for open source, which requires RF. > The decision as to which IPR claims to tolerate is a WG-level decision, > with > the proviso that the WG (and IETF) is informed about the issue. > > So even in the absense of the jackoalan and zivillian LZO implementations, > the WG should be free to standardize LZO, if it the IPR claims on the > algorithm itself are well understood. > This is exactly right. The IESG cares that the working group made the decision to request publication on a document without being "submarined" by undisclosed patents or patients with vague or confusing licensing provisions. If we have our eyes open, we'll be fine. > {In the compression space, my understanding is that there have been formats > where there were no IPR claims on decompressors, but there was significant > IPR-encumbered innovation on doing compression. An encoder might need a > specific license in order to get 70% compression rather than just 40%, but > this had no affect on the decoder. But, I don't recall the specific > situations where this occured. Maybe back in the old ZOO/ARC/ZIP days...} > I have the same vague memories (perhaps I'm remembering that licensing was different, rather than decompressors hat no known IPR, but that's pretty close). I hope this helps! Spencer > Steve Lhomme <notifications@github.com> wrote: > > Matroska Blocks can be compressed with zlib, bz2 and lzo compression. > > > zlib and bz2 have decompression libraries available under permisssive > > licenses (BSD like for bz2 and OSI approved, GPL compatible, non > > copyleft for zlib). > > > lzo doesn't have such a permissive library. The [official > > library](https://www.oberhumer.com/opensource/lzo/) is GPLv2, there > is > > also decompression code that doesn't rely on this library [in > > FFmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/lzo.c > ) > > which is LGPLv2 which means grabbing the whole libavutil to compile. > > > This license is not permissive enough to be used in many closed > source > > products where they don't want to touch any GPL-based license. That > > means a file that is created with LZO in a GPL/LGPL software may not > be > > read universally because of licensing issues. I think we should avoid > > it and mark LZO as deprecated. > > > The LZO compression advantage over others is that it is [very fast to > > compress/decompress]( > https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO). > But > > the compression ratio is not good. That is good for realtime > > transmission but bad for long term storage. In the end automatic > tools > > that test each compression (like mkclean) will never pick it anyway. > > .... > > I found 2 other options with better licenses: > > > - a [C++ version in MIT license](https://github.com/jackoalan/lzokay) > with compression > > - a [C# version in MIT license](https://github.com/zivillian/lzo.net) > without decompression > > > They are both based on the [Linux Kernel documentation for > > LZO]( > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/lzo.txt > ). > > > In libmatroska2 I've been using minilzo GPLv2 but I may try to port > one > > of these in C so I can use it (or simply write a C wrapper around the > > C++ one). That means there would be an alternative that is MIT > license, > > so freely used by anyone. >
- [Cellar] compression libraries in IETF specificat… Michael Richardson
- Re: [Cellar] compression libraries in IETF specif… Spencer Dawkins at IETF
- Re: [Cellar] compression libraries in IETF specif… Adam Roach
- Re: [Cellar] compression libraries in IETF specif… Steve Lhomme
- Re: [Cellar] compression libraries in IETF specif… Adam Roach