Does the GPL or AGPL restrict programs from talking to other programs with other licenses via API? (i.e. transferring data.)
Example scenario:
- Person 1 has Software A which has a GPL license.
- Person 2 has Software B which has an MIT License (Expat Version)
- Person 3 has Software C which has a proprietary license.
Use cases:
- Someone creates a program that can interact with other programs, but the other programs are installed and used by end-users or other developers.
Can the MIT licensed work and the proprietary licensed work communicate with a GPL licensed work via API?
- None of the software is integrated together (other than the API).
- Each person has their own web hosting account(s).
- The data is provided by the users and the software only processes and presents it.
- Each person may or may not have modified their versions of the software.
- Each person may or may not be conveying their versions of their software.
What if all three programs are run by the same person, but each software is separated and possibly even hosted separately? Does that change anything?
Example use cases:
- Someone creates multiple programs under multiple licenses and wants them to talk to one another. A user chooses which software they want, and installs each separately. Each software package can operate independently and is not dependent on the others.
Basically, is GPL software restricted to only being used with GPL software, or can it interact with other software as well?
Or does the mere act of using an API force a user to license their work under the GPL?