5 ms·
How is twitter intending to use libsignal? I doubt it would be via the primary AGPL license[1], forcing them to publish the source code of their backend service
by Null-Set 4y ago
How is twitter intending to use libsignal? I doubt it would be via the primary AGPL license[1], forcing them to publish the source code of their backend service. Does signal sell private licenses?
[1] https://github.com/signalapp/libsignal/blob/main/LICENSE https://github.com/signalapp/libsignal/blob/main/LICENSE
- threeseed 4y agoSignal requires all contributors to license their work to the company [1] So they are able to offer Twitter a non-APGL license. Usually for a sizeable fee. [1] https://signal.org/cla/ https://signal.org/cla/
- getcrunk 4y agoWhat are people’s thoughts on dual licensing in this manner? Is it compatible with foss or no?
- icelancer 4y agoIt's not compatible with FOSS from a dogmatic point of view, but I think it's a pragmatic way forward given how AWS and other actors act. I dual license my company's products in this manner.
- sam_bristow 4y agoEven Stallman isn't completely opposed to selling exceptions to copyleft licences. https://www.fsf.org/blogs/rms/selling-exceptions https://www.fsf.org/blogs/rms/selling-exceptions
- icelancer 4y agoOh wow, I retract my statement then. I wasn't aware of this. I thought for sure RMS wouldn't approve.
- sparkie 4y agoIt is compatible. The people who have a say are the people who write the code. If you are not comfortable with dual licensing, don't contribute upstream. You can fork such dual licensed project, add your own contributions and then Signal cannot use your code in anything they license to third-parties under non-AGPL. The fork becomes AGPL-only. Example of where this has happened: MySQL was forked to MariaDB, so developments to MariaDB cannot be used by Oracle in their proprietary licensing of MySQL.
- threeseed 4y agoI don't think it's compatible with the sprit of FOSS. You're giving the company (in this case Signal) an open-ended license for your contributions whilst they don't return the favour. And so whilst they can offer a proprietary version e.g. Signal Pro with a friendlier license e.g. BSD you can't. And what kind of underpins all of this is that many companies especially in the enterprise will not touch anything that is GPL or AGPL.
- tptacek 4y agoHuh? This is like saying that the AGPL isn't compatible with FOSS. I've heard stories that there was a window of time where RMS was advocating for the AGPL terms to be incorporated into GPL3. If your definition of FOSS excludes the GPL --- as your last sentence suggests --- your definition is... unusual.
- threeseed 4y agoFOSS is a very big umbrella that incorporates a wide variety of licenses. But for me AGPL is not in the spirit of FOSS. It's like you're an unpaid employee of some company who is happy to take your work as long as you don't compete with them. I understand why AGPL was invented i.e. to prevent AWS ripping your project off but I don't think it's a particularly fair license for individual contributors.
- jrochkind1 4y agoIt is compatible if one of the licenses offered is actually a real open source license that is available to all. The AGPL is really an open source license. Licenses which restrict based on type of use or characteristics of user are not.
- samwillis 4y agoI believe they already have a license (it may have expired): > "agreement to license Signal protocol was reached" https://mobile.twitter.com/bhcarpenter/status/1596691916250300416 https://mobile.twitter.com/bhcarpenter/status/15966919162503...
- bsaul 4y agoIANAL but my understanding is that agpl requires you to publish server code if that code uses code under agpl, because consuming an api is equivalent to distributing the code.Aka that "calling an api which uses agpl code" is equivalent to using the code itself ( which means you should, as an api consumer, have access to the source eventhough you actually downloaded no binary). e2e means server never does any encryption or decryption so i don't think they'll have any signal code running on their server. They will however be required to open source their application code. Edit : and i think open sourcing twitter app would be a stunning move, that elon is totally capable of.
- mjg59 4y agoThere seems to be a bunch of code in the Twitter app that's licensed from other third parties, so unless they're fine with their code being re-licensed under AGPL it's not possible to release the app under those terms.
- eadmund 4y ago> "calling an api which uses agpl code" is equivalent to using the code itself No, not at all. If a server is AGPL-licensed, clients may have whatever license they want. If a client is AGPL-licensed, servers may have whatever license they want. What the AGPL does is provide that if code under the AGPL is used to provide network services, then clients of those servers are entitled to the server source code. You may read the terms here: https://www.gnu.org/licenses/agpl-3.0.en.html https://www.gnu.org/licenses/agpl-3.0.en.html There is no copyright mechanism by which the AGPL could apply to clients of an AGPL server.
- bsaul 4y agoI don’t think we understood each other. I’m saying twitter should have to release their client code *if their client code uses libsignal*. What i’m saying about server code is the logic of agpl. GPL is about providing the means for users to obtain source code of the binary they’re running. There was a gap with api, where a given library feature could be exposed through network services and since no binary were downloaded then the code wouldn’t required to be open sourced. AGPL fixes that. But we both agree that client code and server code are independent relative to their licensing terms.