How a proprietary closed source desktop software can be shipped and distributed alongside a GPLv2/GPLv3/AGPLv3 licensed database considering that some relevant part of its functionality relies on complex queries using a specific databases query language?
This is pretty forward and safe to do with PostgreSQL, SQLite databases as they have commercial/proprietary friendly licenses, but how does that applies to the GPLv... family licences?
Let's imagine two different desktop sotware scenarios:
- Scenario 1) The application uses Neo4j GPLv3 database alongside Neo4j's own exclusive query language called Cypher. The program will have some relevant part of its functionality written in CypherQL even though it connects to the database using an Apache 2.0 licensed driver.
- Scenario 2) The application uses Virtuoso GPLv2 database but uses SPARQL as a query language (a query language defined by a W3C standard, maybe we could call it an "open standard"?) an so, some relevant part of its functionality is written in SPARQL and connects to Virtuoso using HTTP requests.
How the relation between proprietary software and the GPLv3 Neo4j / GPLv2 Virtuoso is understood? Is it seen as "effectively a single program" or two separate programs that "communicate at arms length"?
In many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and nonfree programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.
How can a proprietary software use a GPLv2/GPLv3 database without becoming GPL too?
Top comments (0)