22

I'm trying to understand the difference between the SSPL and the GNU AGPL license, after reading the terms of SSPL.

The 13th clause of the license states the following:

If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License. Making the functionality of the Program or modified version available to third parties as a service includes, without limitation, enabling third parties to interact with the functionality of the Program or modified version remotely through a computer network, offering a service the value of which entirely or primarily derives from the value of the Program or modified version, or offering a service that accomplishes for users the primary purpose of the Program or modified version.

“Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.

I'm not sure if I understand correctly the point, but this what I'm thinking:

  1. Under the GNU AGPL:

    • It is legal to create a proprietary program B that uses AGPL-licensed program A over a local network N1.
    • It is legal that program B provides a service S to an end-user over network N2.
    • It is legal to modify the program A without sharing changes, since A is connected to N1 and the end-user is provided with the service S under different network N2.
  2. The new SSPL license fixes the gaps above, in order to grant a pure open-source service implementation without any proprietary counterpart.

Is my analogy correct? Is there other differences?

1 Answer 1

18

The AGPL requires that the people interacting with program A over a network have the right (and possibility) to obtain a copy of the source code of A. The AGPL does not strictly define what interaction over a network means and if it includes indirect interaction via program B.

It can be argued that interaction with a program means that your actions as a user cause a reaction in that program, even if the action was initially done on another program. This would mean that if program B just forwards the user interactions to program A, then it can be argued that the user is actually interacting with program A. On the other hand, if the requests from B to A can not be directly related to user actions, then the user probably not interacting with A.

The SSPL license indeed tries to close the gap that a copyleft program can be used in the background without giving out the sources.
If that is actually successful remains to be seen, because the SSPL license seems to step outside the realm of copyright. The SSPL license puts requirements on programs that are completely unrelated in terms of copyrights and it remains to be seen if that clause will actually be upheld in a court of law.
For example, if you have a web-application that offers data-storage services using MongoDB and runs on Microsoft's IIS as webserver, then clause 13 of the SSPL requires that you provide the source code of IIS even though IIS is in no way derived from code that is copyrighted by the authors of MongoDB.

20
  • 3
    @kais Because the SSPL requires distribution of source code for applications that are unrelated in terms of copyright Mar 3, 2019 at 9:49
  • 4
    @Kais If you provide a web-application that uses MongoDB under the SSPL and runs on Microsoft's IIS, then clause 13 of the SSPL requires that you provide the source code of IIS. Even though IIS is not in any way derived from code that is copyrighted by the authors of MongoDB. Mar 3, 2019 at 15:39
  • 2
    Ok, no, this is not how clause 13 works. IANAL, but it very plainly says here and elsewhere that license only applies to building a public service of the covered software and not situations where the software in simply a component of another application or system. It excludes major components of the OS as well as system libraries. The license restriction just says that you aren't allowed to create a closed-source service offering of the covered software. What we have in this accepted answer is a very common misreading of the SSPL promoted by its detractors. Jan 14, 2021 at 21:46
  • 2
    @deriamis that is his legal interpretation of what the licence actually says in plain language. And when it comes to professional axes to grind, I note you're not doing a great job pointing out your conflict of interest - which working for MongoDB definitely constitutes in this particular discussion.
    – MadHatter
    Jan 18, 2021 at 15:17
  • 3
    @deriamis you don't draw attention to it, either, which would only be courteous in this context. However, this is the comments field of Bart's answer, so I don't intend to continue the discussion here. If you think Bart's answer is wrong, you should have a(nother) go at writing your own answer, explaining the differences between the SSPL and the AGPL as you see them.
    – MadHatter
    Jan 19, 2021 at 20:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.