Does anyone have a problem if we push the OP2MapImager under a GPL license then?
My first thought it, publish your code under whatever license you want.
My second thought was, oh crap, your project includes my code too. How does that work? Copyright law is confusing. This is an area I've been avoiding, not wanting to get into the details of. I suppose I've been kicking this can down the road for years.
It seems with code, a copyright is automatically assigned to the author, and only the author can grant a license. It also sounds like the author is free to distribute under any license they choose, even multiple licenses at the same time, and to change which licence they distribute under. What license is chosen by the original author does not restrict how the original author may distribute code in the future. The license only really restricts or protects third parties.
The complications come when combining code from multiple authors. There the various licenses can get quite restrictive. In particular, the GPL, and other "copyleft" or "share-alike" software. Basically, third parties are allowed to modify and redistribute, but must also grant that permission to others. The combination as a whole must be redistributed under a compatible license. If you want to use both a proprietary library, and a GPL library, you're in trouble, since the GPL states the combination must be redistributed under the GPL, while the proprietary library says that library can't be redistributed. This is in contrast with "permissive" licenses, which do allow such combinations.
As much as I dislike the GPL I see no reason why we couldn't do that with OP2MapImager. It's open source after all. I do prefer MIT/BSD/Zlib licenses but to make it easy I would just GPL it.
I agree. Personally, I find the GPL to be rather restrictive. I prefer not to encumber people. My preference is something closer to public domain. Though I've heard declaring something as public domain has its own issues, and isn't legally recognized everywhere.
The Wikipedia article on
Permissive Software Licence has a nice diagram under the License Compatiblity section. It makes the MIT and BSD licenses look attractive.
Also, love the quote in that article
The way it was characterized politically, you had copyright, which is what the big companies use to lock everything up; you had copyleft, which is free software's way of making sure they can't lock it up; and then Berkeley had what we called ‘copycenter’, which is ‘take it down to the copy center and make as many copies as you want.’
— Kirk McKusick, BSDCon 1999
In terms of license compatibility, there are a number of
licenses that are compatible with the GPL. What this means is a project can re-use code that has one of those licences, and combine it into a work, with GPL code, and the result can be redistributed under the GPL. It does not mean the combination can be redistributed under the other licenses. In particular, the GPL typically prevents this.
GPL code can use BSD code, but BSD code can not use GPL code.
What all this seems to say, is that you have to licence your code with the GPL if you want to use the Free Image library with it. It seems you have no choice for your project. I can choose to license my code, which you're re-using in a library-like manner, separately and under a difference license. But in terms of the combination, the combination must be covered by the GPL. (Which is only possible if I choose a compatible open source license).
Well, that was many hours of fairly dry reading.