GPL and virality

Yes, MIT and GPL packages can coexist. An example of this is NLopt which is perfectly fine as GPL while NLopt.jl is MIT, and this is all fine and legal.

But again, that’s not the issue with GPL licensed packages. An isolated dependency where most people aren’t looking at the code is not the same thing as a Julia package co-existing with others in the ecosystem.

The issue is how pervasive code sharing is in the community. We talk all the time about not wanting to over-proliferate packages, and that similar packages should try to work together or combine (recent example: ANN: HigherPrecision where it’s easy to inspect both packages and see opportunities since they are both MIT). How are we supposed to talk about this stuff if one of the parties chooses GPL, which is incompatible with the license most people are using for their code? How are we supposed to open up and discuss the differences in people’s algorithms but avoid any legal issues? In that case, if we want to avoid “derived work” issues and are working on something similar (a lot of people in Julia focus on data science or scientific computing, so a lot of similar algorithms and techniques are used), it’s somewhat of a legal trap to start looking at the details of how they implemented something.

I don’t think there’s anything wrong with basically saying “look, this choice can cause legal issues for most others who could be contributors. Let’s make sure this is a conscious and informed choice”.

3 Likes