I'm working on a SaaS medical research startup project with a MIT license. The goal is for the source to be open (because then customers can help improve it and find bugs), and end-users who want to pay to use it can just go to the site and get started. If somebody wanted to fork it or borrow the code for another SaaS, I don't really care.

However, I want to use Neo4j for the Cypher query language, because I think it's pretty cool. We got into the Neo4j startup program but it lasts 1 year with no clarity whatsoever on what happens at the end of that year, and the Neo4j enterprise licenses are insanely expensive, like tens of thousands of dollars per server. There's a community edition licensed under GPLv3, and I was gonna run that on AWS.

Now for my problem. If my source code is on GitHub with MIT license, and I put "docker run neo4j" in the development code (to make a local database to test it) ... does that count as "distribution of GPLv3 software" and force me to GPL license my MIT licensed project? The software I write uses MIT / Apache 2.0 stuff and I want to keep it that way because it enables businesses to use my stuff without license headaches. Also, the stuff on github isn't for sale, rather, the hosted site is what I'd sell.

What happens when a MIT licensed project uses Apache 2.0 drivers to connect to GPLv3 databases? Does "docker run " count as distribution?

(Yeah, I know, "just use Postgres")

Thanks in advance for any advice or clarification, and yes, I know you're not a lawyer.


I'm not a lawyer, but I believe it is OK for a MIT-licensed project to use a GPLv3-licensed database and remain MIT-licensed, if the MIT-licensed project does not modify the source code for the GPLv3-licensed database, but instead simply connects to and uses the GPLv3 database via the Apache 2.0 client




The relevant part of GPLv3:

"A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate."


Some projects just distribute full source code to licencees and encourage modifications/extensions to be shared among them (and perhaps incorporated into the official version, with provider maintenance going forward), thus creating a sort of "open source" comunity among users. Sure, it is not open source as such (not everybody gets access), but it might be a viable model for a narrow but very diverse user base.

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.