-
Notifications
You must be signed in to change notification settings - Fork 886
OMEMO libsignal Licensing Situation
Florian Schmaus edited this page Apr 19, 2017
·
5 revisions
IM App / GPLv3 *and* APLv2 compatible license
/ \
/ (A) \
↙ \ (B)
smack / APLv2 ←--- \
↗ (C)\ \
/ \ \
↙ \ ↘
smack-omemo / APLv2 ←------ smack-omemo-signal / GPLv3
(D) ↑
↓ (E)
libsignal-protocol-java / GPLv3
An application that utilizes Smack (A) and smack-omemo-signal (B) must be licensed under the GPLv3 or a compatible license, since smack-omemo-signal uses libsignal-protocol-java (E), which is licensed under the GPLv3.
smack-omemo however does not use any code from smack-omemo-signal or libsignal-protocol-java explicitly, so it can stay licensed under the APLv2.
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, D). Unfortunately the GPLv3 is incomaptible with the APLv2, so applications using GPLv3 code must be licensed under the GPLv3.
Legend: