Skip to content

OMEMO libsignal Licensing Situation

vanitasvitae edited this page Apr 1, 2017 · 5 revisions
               IM App / GPLv3 **and** APLv2 compatible license
              /            \
             / (A)           \ (B)
           ↙                   ↘
smack / APLv2  <-------  smack-omemo-signal / GPLv3
                  (C)             |
                                  ↓ (D)
                       libsignal-protocol-java / GPLv3

An application that utilizes Smack (A) and smack-omemo-signal (B) must be licensed under the GPLv3, since smack-omemo-signal uses libsignal-protocol-java (D), which is licensed under the GPLv3.

Since the Free Software Foundation considers the Apache License, Version 2.0 to be a free software license, compatible with version 3 of the GPL, smack-omemo-signal can implement smack interfaces and call smack methods (C).

Legend:

  • GPLv3: GNU Public License, Version 3.0
  • APLv2: Apache License, Version 2.0
  • X <- Y: X uses Y