How to License a Script with Multiple 3rd-Party Components

bsd licensegpllicensing

I have already searched but didn't managed to find a suitable answer.

My problem is this: I use different software packages with different licenses to develop a free and open-source (not commercial) piece of software (a simple data visualization web app that reads data from a specific mysql db and draws graphs and stuff) that I want to release to the public as well.

It all started with me writing some simple PHP code using a chart drawing library which is under the GPL. That was the initial version that I simply released through by blog without any license notice.

On the next stage I integrated the results (chart images etc) within a free web template from os-templates.com which comes under a license of their own (they simply say that they allow usage for non-commercial and commercial projects with proper attribution to them, fine by me), in order to have a nice looking presentation/interface for them. I released that updated version without any license as well.

Next, I expanded the script by using a google visualization api library which is under the BSD license to draw some additional google maps/charts. Still no license notice on my new release.

I now want to continue working on this project but I think it's time to license it under an open-source license because it's getting bigger and bigger.

Do you have any ideas at all of how can I do this? My work is the php code I wrote and all the other changes I have made to the template (html/css). Must I license it as a whole? Or can I just say that so-and-so libraries and other stuff included have their so-and-so respective licenses, while I release my code and only that under a license of my choice?

Any suggestions would be nice.

Edit: By the way, I know that "discuss it with a lawyer" can be a common answer, but we're talking about a small personal/hobby project that due to its nature (application-specific) no more than ~50 people will download/use (ever I guess). So I'm mostly looking for an easy solution, not something complicated like consulting a professional (and pay for it).

Edit 2: Something else I want to note so there won't be any confusion is that apart from the template which I altered for obvious reasons, I just use the libraries' API by calling their specific functions etc. I haven't build upon them or altered them in any way. I'm saying this because as I understand it, building upon and extending an existing open source project is considered making a derivative and you should follow specific licensing guidelines (eg release the new code under the same license). In my case I just use the libraries as-is, nothing more.

Best Answer

Depending on what BSD version the library is, you might have an issue using a GPL library in combination. If you are using the incompatible form, you can not release the software at all, because it will not satisfy the GPL requirements.

Two variants of the license, the New BSD License/Modified BSD License, and the Simplified BSD License/FreeBSD License have been verified as GPL-compatible free software licenses by the Free Software Foundation, and have been vetted as open source licenses by the Open Source Initiative, while the original, 4-clause license has not been accepted as an open source license and, although the original is considered to be a free software license by the FSF, the FSF does not consider it to be compatible with the GPL due to the advertising clause.
Wikipedia

This graph Will give you a rough idea of what is compatible. Note that the graph is directional. Essentially, as soon as you get something GPL, you can't go back to non-GPL.

As always, this is general guidance, and not actual legal advice.

Related Topic