On 15/10/2024 08:07, Simon Josefsson wrote:
The coreutils code is GPL and the crc module in gnulib is LGPL. I'm using the gnulib crc module in some LGPL projects. Is it wortwhile to keep the optimization GPL? I would prefer a LGPL crc module that is performant, with #ifdef-varianted support for 1) no tables at all, 2) small table like today, and 3) your bigger tables, together with support for the SSE instruction. If that makes sense and would work. Thoughts? Otherwise another approach is to keep a simple LGPL crc module and performant crc-gpl module that uses the coreutils code.
We occasionally relicense code from GPL to LGPL where appropriate. Kristoffer would you be OK with doing this to facilitate the code being more widely used? In any case, coreutils will adjust to the single implementation in gnulib when available. thanks! Pádraig