On Thu, Jul 21 2022, Derrick Stolee wrote: > On 7/21/2022 2:12 AM, Junio C Hamano wrote: >> Abhradeep Chakraborty <chakrabortyabhradeep79@xxxxxxxxx> writes: >> >>> On Sat, Jul 16, 2022 at 7:20 PM Abhradeep Chakraborty >>> <chakrabortyabhradeep79@xxxxxxxxx> wrote: >>>> >>>> Hello, >>>> >>>> I need the CRoaring[1] library to use roaring bitmaps. But it has >>>> Apache license v2 which is not compatible with GPLv2[2]. >>> >>> I have reached out to Daniel and he agreed to make CRoaring >>> dual-licensed under MIT and Apachev2[1]. >>> Now, I can use CRoaring, right? >>> >>> [1] https://groups.google.com/g/roaring-bitmaps/c/0d7KoA79k3A >>> >>> Thanks :) >> >> Nice. > > Great news! Thanks for reaching out. I'm pleasantly surprised at > the turnaround. Good luck integrating it into the Git codebase! It's great that the primary author of the library wants to release it under a compatible license. But I feel like I'm missing something here, don't we still need the other contributors to that code to sign off on such a license change, and for us to be comfortable with integrating such code? I tried a one-liner to see who has git-blame-able ranges[1] in the code, which of course is just a rough approximation of "derived work" and "copyright holder". My understanding (again, not a lawyer and all that) is that such transitions happen one of a few ways: A. One entity had been assigned copyright in the first place, and can re-license the work. E.g. the FSF requiring copyright assignments for anything non-trivial. B. The license itself has an "upgrade" clause (e.g. GPLv2 "or later" projects being GPLv3 compatible). C. All copyright holders (or near enough) agree to relicense. E.g. OpenStreetMap went through this process at some point. Aren't we just at the beginning (but already past the most significant step) of C? 1. $ git ls-files | xargs -P 8 -L 1 git -P blame --porcelain HEAD -- |grep -E '^author ' 2>/dev/null |sort|uniq -c|sort -nr 2872 author Daniel Lemire 131 author Owen Kaser 87 author AE1020 70 author Cerul Alain 63 author Andrei Gudkov 62 author François Saint-Jacques 50 author Jacob Evans 40 author Tom Cornebize 37 author Mats Klepsland 27 author Luca Deri 17 author Mario Rugiero 14 author DarrenJiang13 11 author Wojciech Muła 11 author GuillaumeHolley 10 author Mario J. Rugiero 9 author Paul Smith 9 author Matt Olan 6 author Salvatore Previti 6 author Brian-Esch 5 author tony eve 5 author Chris O'Hara 4 author Alexander Gallego 3 author Zachary Dremann 3 author Simon McVittie 3 author Richard Odenweller 3 author Hurricane Lee 3 author daniel-j-h 2 author stdpain 2 author Shawn Cao 2 author Murali Vemulapati 2 author longqimin 1 author Yuce Tekol 1 author yperbasis 1 author Saulius Grigaliunas 1 author plantree 1 author Nathan Kurz 1 author Guillaume Holley 1 author gssiyankai 1 author Daniel Lem_equal(cm12, array_container_cardinality(AM)); 1 author Amos Bird