Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
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? That works. Sometimes. The best course of action would be to consult with a lawyer, second best would be to contact (in writing) original authors, tell them what licence you picked and if it's ok with them to just do what you're describing. Third best would be a great answer here... It's coming sooner than later (from someone with more license-fu than me, obviously)... –  Yannis Rizos Dec 22 '11 at 5:52
add comment

1 Answer

up vote 1 down vote accepted

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.

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.

share|improve this answer
Thanks for the answer. I searched about it and the specific BSD license that the google visualization library I use is released under is the BSD 2-clause license aka Simplified/FreeBSD license. So I guess I'm covered at least for this specific issue. This question has more info on BSD + GPL compatibility: programmers.stackexchange.com/questions/75436/… –  Ion Dec 22 '11 at 14:41
I'm guessing that what I need to do is something like this: programmers.stackexchange.com/a/75464/43511 (2nd answer to the above question I linked). I could license my program under GPL (and the BSD library is OK to be included as noted in your answer) and then specifically mention in the LICENSE file what other 3rd party stuff I use in the package and their own licenses. Something like this example: svn.soapboxsnap.com/svn/trunk/LICENSE.txt –  Ion Dec 22 '11 at 14:50
By the way, there is a newer version of the google visualization library I use which is under GPL, so that could make things easier but it's harder to use so I sticked with the older version. But since SimplifiedBSD is compatible with GPL as said above it means no real difference license-wise. What do you think of all that (3 comments) ? –  Ion Dec 22 '11 at 14:51
Seems like the question you found has the answers you are looking for. –  unholysampler Dec 22 '11 at 15:12
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.