Forum OpenACS Development: Re: OpenACS on ohloh

Collapse
6: Re: OpenACS on ohloh (response to 1)
Posted by Jade Rubick on
I once had a very long conversation with a lawyer who specialized in open source software and was a former developer himself. Take all this with a grain of salt and don't base any of your actions on it (hire a lawyer if you need to), but what I recall from the conversation is this:

  • For interpreted languages like in our environment, you do not need to worry about license conflicts unless you are mixing the code with different licenses within the same FILE.

  • There is a sort of math involved with these licenses. The big thing to watch out for is the GPL license, because it is viral. The most liberal/free license is the BSD and MIT licenses, because they place less limitations on your activities. But with GPL, you have to be careful when you mix GPL code with anything else.

    Basically:

    GPL + GPL compatible code = GPL code
    GPL + non GPL compatible code = PROBLEM

BSD/MIT licenses are GPL compatible by the way.

What this means is that developers, who are accustomed to freely copying and pasting code between files, have to do the annoying task of keeping track of which licenses are associated with each file.

And when you copy and paste between files with different licenses, you have to be sure that you're not mixing licenses that are incompatible.

As far as I understand it, there is really no problem with OpenACS having incompatible licenses within its codebase, except for the fact that developers have to be careful not to mix the code. And there is the additional issue that we claim all OpenACS code is GPLed, which is either not true, or problematic if you're including non-GPL compatible code.

The solution when you have mixed code that are not license compatible is to rip out all the code that was originally from the non-compatible license. Fun.

Jade

PS An additional thing that people have to watch out for with GPL code is the definition of "distribution". If you "distribute" modified GPL code, you have to make the source code available. There are some parts of the definition that the legal community hasn't sorted out yet. But I'm not going to get into that now.