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 am using a java library licensed under AGPL3. However, I would like to license my own work as BSD, such that my code could then be integrated in proprietary projects if one strips the library. Will I be allowed to do that?

So far, I couldn't find a clear answer for my problem on the net or in the license text(not a lawyer). Dual-licensing seems cumbersome and ugly.

EDIT: What happens if I use other libraries which are licensed under BSD or anything else?

share|improve this question
add comment

1 Answer

up vote 4 down vote accepted

Here's a quote from the Licensing section of the GNU website:

It has always been the FSF's position that dynamically linking applications to libraries creates a single work derived from both the library code and the application code. The GPL requires that all derivative works be licensed under the GPL, an effect which can be described as “hereditary.” So, if an application links to a library licensed under the GPL, the application too must be licensed under the GPL.

(the specific page is discussing Java and LGPL, but the general point applies here)


If you want to license your original application as BSD, you must first create it without using that library at all.

Then, you can create a derivative work by combining your BSD application and the AGPL3 library, with the whole thing licensed as AGPL3.

This would effectively be a new, different application, and is not dual-licensing.

Since you want your BSD application to be used commercially, you would need to release it separately from the extended AGPL3 version of the application - which means two distinct links on your download page, with a clear explanation on the difference.

(NOTE: Anywhere I use "BSD" in this answer, it's important to note this refers to the "modified BSD" not the original BSD.)

What happens if I use other libraries which are licensed under BSD or anything else?

That's fine. So long as the license allows for the code to be re-released under a compatible license and the AGPLv3 is considered compatible (which the BSD is - see a full list here), then you've got no problem.

If you plan on using lots of libraries/etc then it's a good idea to maintain a distinct credits file, where you can list each specific component you use, its website address, licensing requirements, and so on.


(usual disclaimer: I'm not a lawyer, follow at own risk, etc)

share|improve this answer
    
Hmm, that's what I actually meant with dual-licensing. Thanks for clearing things up! –  Dan Cirnat Oct 9 '10 at 16:22
    
@Dan Cirnat: Do consult an attorney before you do this. –  greyfade Oct 9 '10 at 16:25
2  
Dual licensing is a little different - it's releasing the exact same code under different licenses, not because any of the licenses require you to, but because you want to make it easier for others to use the code. –  Peter Boughton Oct 9 '10 at 16:28
    
What happens if I use other libraries which are licensed under BSD or anything else? (also edited this into the initial question) –  Dan Cirnat Oct 9 '10 at 16:44
    
I am a student and can't afford a lawyer at the moment. :) –  Dan Cirnat Oct 9 '10 at 16:45
show 2 more comments

Your Answer

 
discard

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.