Consider the case of MySQL. This software is Dual-Licensed, of which, one license is GPLv2 the other is a somewhat costly enterprise license.

Given the following criterion, what are my obligations?

  1. I am deploying a system on an air gapped network of a customer on servers I am providing.
  2. I intend to use the GPLv2 version of MySQL.
  3. I provide the source code of MySQL Community Edition to my customer.
  4. My software communicates with MySQL using an MIT Licensed Connector

What I'm trying to understand, is whether given 3, my software is also governed by the GPL.

I think the most relevant portion of the GPL FAQ would be: https://www.gnu.org/licenses/gpl-faq.html#MereAggregation

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs.

Although it then goes onto say

But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

I suppose the question then shifts to whether such communication is sufficiently intimate, which is lovely and vague.

  • Can you tell us more about this "non-GPL connector with a generic interface", and about how you use it? Is it a library? Who makes it?
    – MadHatter
    Jul 27 at 14:46
  • Our C# Software utilises dotnet's generic ADO.NET API which is generic and database-agnostic. While MySQL's official C#->MySQL connector is licensed the same way as the database itself, we use an MIT Licensed community developed connector instead. As a result, all of our queries to the database are sent via this MIT licensed connector. Jul 27 at 14:55
  • Thanks. Could we get a pointer to the MIT-licensed connector? These things are often easier to talk about in the concrete than the abstract.
    – MadHatter
    Jul 27 at 15:04
  • Regarding point 1, whether the software is deployed/visible to the public Internet or not, is not really relevant for the GPL, but rather only for the Affero GPL.
    – Brandin
    Jul 29 at 7:10

1 Answer 1


As described in the answer to this question here, the database and the rest of the application are usually separate from each other, so you can consider them as 'Mere Aggregation' in line with the GPL FAQ.

The connector is part of your software, so if the connector was under GPL as well, then you would need to put your entire software under GPL. However, you mention that the connector you plan to use is under the MIT License, which (as you know) is a permissive license. Therefore you can put your own software under any license you like, as long as you provide proper license and attribution notices for the connector (and any other OSS component you might be using).

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.