2

I need to use some software under the AGPL to populate a database with some data. This software has a web interface, which I shall disable.

Then the data will be used "at arms length" with closed-source software by reading the database. I may also use some IPC, like datagram sockets to provide a bridge between the AGPL software and the other software. This closed sourced software will provide a web interface to the user.

Am I right that it is not breaking the AGPL to have this software as closed source? If I modify the AGPL software, am I able to hide these modifications, so long that the software doesn't provide any network interface to other users?

1

The Gnu AGPLv3 differs from the GPL only in how it applies to a situation where (a) you modify the software and (b) network users can "interact" with the software. In that case you are required to distribute the source code.

[If this is not the licence version you had in mind, then please amend your question.]

This part of the licence does not have "distribute" or "merge" wording, and does not seek to include "covered" software under the ambit of source code distribution. Your closed source code is safe.

Am I right that it is not breaking the AGPL to have this software as closed source? If I modify the AGPL software, am I able to hide these modifications, so long that the software doesn't provide any network interface to other users?

Yes, and nearly. You must ensure the modified software does not provide any public network interaction to avoid this term. That's broader than "interface".

  • OK thanks, from what you said it sounds like it should be OK. The AGPL program wont do any network interaction at all, unless it is to connect to a database server kept within the same organisation. – Matt Mitchell Jun 26 '14 at 13:00
0

That's not an "arm's length" connection, but let's say for the sake of this discussion that it is.

In order to not be considered a derived work, your software must not depend on this "arms length" relationship in order to function properly. Is that true of your software? If it is not true, then you've created a derived work, and your software falls under the AGPL's copyleft provisions.

You may also sidestep the AGPL by not distributing. The copyleft provisions do not apply if the software is "for internal use only," and is not "conveyed" to others outside your organization.

  • OK, thanks for the answer, but can I ask how you derive this from the AGPL wording? Because when I read it, it sounds like what I said was correct. – Matt Mitchell Jun 25 '14 at 22:46
  • What part are you confused about? – Robert Harvey Jun 25 '14 at 22:46
  • The only real difference between the GPL and AGPL is clause 13. – Matt Mitchell Jun 25 '14 at 23:22
  • Clause 13 only talks about modified versions of the program, and specifically only gives the requirement to provide sources to "all users interacting with it remotely through a computer network (if your version supports such interaction)" – Matt Mitchell Jun 25 '14 at 23:23
  • 1
    That said, you got me thinking about database schemas in general. They're not code, so they could be considered an "output" of the application. Whether that's "arm's length communication" or not is still debatable; I argue that it is not. The counterexample would be, say, communicating with a library via a JSON call, where JSON is the primary mode of communication with the library. Would that be considered "arms-length?" Not necessarily. – Robert Harvey Jun 25 '14 at 23:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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