Re: Can I use CRoaring library in Git?
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jul 21, 2022, 13:51 UTC
- Message-ID
- <220721.86r12etvly.gmgdl@evledraar.gmail.com>
- In-Reply-To
- <304fd857-db62-7a1a-a9a9-cbfa93c2a00c@github.com>
On Thu, Jul 21 2022, Derrick Stolee wrote:
Show 23 quoted lines
> On 7/21/2022 2:12 AM, Junio C Hamano wrote: >> Abhradeep Chakraborty <chakrabortyabhradeep79@gmail.com> writes: >> >>> On Sat, Jul 16, 2022 at 7:20 PM Abhradeep Chakraborty >>> <chakrabortyabhradeep79@gmail.com> 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