WhatsApp uses the Signal protocol which is licensed under GPLv3. Am I right to assume that they should legally be required to publish their source code since they use the Signal protocol on binaries shipping to end user devices? Or is it common for library developers to offer/"sell" licenses to companies that wish to use GPLv3 code without having to disclose the full product source?
-
14"Signal protocol which is licensed under GPLv3" <- no, it's not. A specific implementation of it might be. The actual document describing it might be, but the protocol itself is not as protocols cannot be copyrighted, so the GPL does not apply to them– Philip KendallCommented Jul 17, 2021 at 16:42
-
1I did not know that, thank you for the information on this– user2875404Commented Jul 17, 2021 at 18:24
1 Answer
If I write some program from scratch, I can choose to license as open source under e.g. GPLv3, and simultaneously license it for a stiff fee for use in closed source applications, no GPL strings attached. I could even get tired of it all and sell all rights. If my project gets third party contributions, I'll have to make sure the relevant rights are transferred to me. That isn't exactly popular among open source enthusiasts, for obvious reasons. This was the path taken by e.g. Qt (of KDE fame) and the business model behind MySQL. Not very successfully, I might add.
As comments note, what can be copyrighted is a specific work, like a program or a text describing a protocol. If somebody studies the protocol description and builds a program implementing it without including any of the description (i.e., no example code or such), the result is not bound at all by the description's copyright. Same with "clean room reimplementation": A team studies the program and writes up a specification, which is handed to another team that implements the specification. The result is not bound by the original's copyright, as it legally isn't derived from it.
-
MySQL not quite successful?! They were sold for like $2B... I guess it depends on your view on the matter. Commented Jul 17, 2021 at 17:33
-
1@AlexisWilke: It (the licensing strategy, not MySQL) "failed" because it did not prevent MariaDB from existing. My understanding of the situation is limited, but I believe MariaDB is technically superior to MySQL, and regardless it is not meaningfully controlled by Oracle. So the strategy of using a CLA to control what happens to the copyright can only go so far.– KevinCommented Jul 18, 2021 at 6:05
-
1Re, implementing from spec, there may still be patents covering whatever is described (and AIUI the spec need not disclose whether there are such patents, I don't know whether the language "This specification does not grant rights under any patent that may exist regarding the described specification" is actually necessary). I've encountered a couple cases of this with MS' Open Specifications. Commented Jul 18, 2021 at 15:28
-
1@AlexisWilke, as open source it is a flop. Several clones with no "sign over your rights" were soon created, like MariaDB, and MySQL got replaced.– vonbrandCommented Jul 18, 2021 at 18:55
-
1@mdfst13: What's the point of having a proprietary MySQL when the open source equivalents are better? Sure, you could sell the code on a proprietary basis, but who's going to buy it?– KevinCommented Jul 19, 2021 at 0:54