this post was submitted on 28 Aug 2023
671 points (91.5% liked)

Programmer Humor

32566 readers
1192 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 13 points 1 year ago (1 children)

Wasn't the Affero GPL (AGPL) created exactely to enforce copyleft in a SaaS environment?

Quoting from the GNU website:

[The AGPL] has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.

[โ€“] glassware 3 points 1 year ago

The problem is these licences treat network interaction as intrinsically different to linking against a dynamic library. If you link against the code with a binary API that's a violation, but if you link against it with an HTTP API it's not.

GNU Affero doesn't help with that. Under either GPL or GNU Affero, all you need to do to defeat the virality of the licence is package the code as a service and put all your modifications into a separate proprietary program that interacts with it.

That's why MongoDB tried to force users to open source their entire service if it involves a copyleft program. It's clumsy but I can see why they did it. We need a modern licence that treats any form of interprocess communication the way the GPL treats linking.

(The page you linked goes on to say that GNU Affero doesn't solve the SaaS problem and it's impossible for licences to address it.)