views:

156

answers:

5

Consider a Java library "A", which is available under GPL v2, and under a proprietary commercial license.

My company has licensed library A under its commercial license, and I've developed an extension to it, which we'd like to release (to github or whatever). However, we want the extension to be usable by all users of library A, including those who have licensed it commercially, so releasing the extension under GPL is undesirable.

Note that this extension requires library A at compile-time and runtime.

Is it enough to simply provide the sources of the extension under a BSD-esque license, and state that any users of it must acquire library A independently (either under the GPL or via the commercial license made available by the library's publisher)?

Or, is it the case that, because my extension requires a GPL'd library, it must be licensed under the GPL as well?

IANAL (obviously!), and I've already spent about a half hour reading the GPL FAQ (which only confused me more with its discussion of aggregate/derivative works, linking vs. fork/exec, distribution and dependencies, etc). Any clear guidance is most welcome, in my first foray into GPL-related licensing issues.

+2  A: 

If your code includes any part of the software licensed under GPL you won't be able to to release it under BSD. If you are giving away something that users of library A can use, but that people who don't have library A can't use AND it doesn't include any part of library A, you can release it under BSD.

Sohnee
Just to clarify, no, we wouldn't be distributing or including any part of the original library with the extension. This is a promising indication, thanks.
Chas Emerick
This is not correct, when you change and release software which is under the GPL, your changes can be under any license which is compatible with the GPL. If you mark your changes as under this other license and include the license you are in compliance with the GPL. When part of the larger work the GPL acts as an umbrella and makes the whole thing GPL, but by marking your code with a different license it allows someone to extract that code as-is and use it with the license you want.
Christopher Lloyd
I don't think we're disagreeing. The original question is about NOT releasing under GPL.
Sohnee
+3  A: 

Well, IANAL obviously, but while the GPL requires derived works to be licensed under the GPL as well, there is no requirement that it cannot be licensed under other licenses additionally.

So I believe you should dual-license (GPL + BSD). Then users of your library can choose either the GPL (if they use A under GPL), or BSD (if they have a proprietary license for A).

sleske
Oh, that's a thought. I'm off to do more reading, then. :-)
Chas Emerick
You don't need to dual license the piece you distribute, the license you choose only needs to be GPL compatible in order to use it with GPL'd software. The reason people dual license is that they want to distribute software under licenses which are not compatible with each other, e.g. commercial + GPL, GPL+MPL.
Christopher Lloyd
+1  A: 

Why not submit the extensions back to the original library maintainers and ask them to incorporate them in the original library? That way, they have worry about the licensing, not you.

anon
The primary reason is that they have no expertise in the particular domain that our extension is in, and we'll move way faster in making improvements / fixes to it than they would be. Besides, there's lots of (granted, minor) incidental fringe benefits from releasing libraries separately for the company that sponsors the development, etc.
Chas Emerick
+3  A: 

As long as you don't distribute a binary that is linked to the library it should be perfectly ok to share your code under a license of your own liking and tell people to get either the GPL or the commercial version of the lib to compile and run your code.

Of course you need te make sure that your license is compatible to both the commercial license and to the GPL, otherwise people will not be able to use it.

Simon Groenewolt
This is correct, the important piece is being compatible with both the GPL and the commercial license if you want people to use it in both situations. Not knowing the restrictions of the commercial license I would assume the BSD license is fine as it is GPL compatible.
Christopher Lloyd
Thanks very much guys! Looks like MIT License it is :-) (http://en.wikipedia.org/wiki/MIT_License)
Chas Emerick
A: 

Why not (a) GPL+commercial dual license, or (b) LGPL?

LGPL is similar to, and compatible with, GPL, but also allows commercial use.

TRiG