3

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.

7
  • 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
    Commented Jul 27, 2022 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. Commented Jul 27, 2022 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
    Commented Jul 27, 2022 at 15:04
  • github.com/mysql-net/MySqlConnector Commented Jul 27, 2022 at 15:14
  • 1
    According to this FAQ, it depends on whether your application would be compatible with a database other than MySQL or MariaDB.
    – Kevin
    Commented Aug 1, 2022 at 8:15

1 Answer 1

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 and acknowledge you have read our privacy policy.

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