License quandry, need help
Alright, I'm writing my first piece of software that I hope to open source. It's going to be a plugin for Eclipse.
Here's where I'm instantly running into problems. I really like the GPL (v2) as far as licenses go. I'm a bit on the fence about v3, but that's beside the point. Eclipse is licensed under the EPL, the Eclipse Public License, which isn't GPL compatible. So technically, any GPL code I write can't link to (in this case [java], import) Eclipse. However, because the EPL is still a Free license, I can write an exemption into my copyright statement for each file which uses Eclipse, saying its cool to link this against code licensed under the EPL.
Here's my problem though. On the FAQ page for the GPL, when asked about Java subclassing wrt the GPL, this was the answer given:
"Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class."
For anyone not familiar with how SWT (part of Eclipse) works, it involves a lot of subclassing (extending). It simply doesn't work without it. But that explanation from the FSF covers if I'm importing and extending GPL code, not writing GPL code which extends something else. So then I looked up the EPL FAQ, and it had this to say:
Some free software communities say that linking to their code automatically means that your program is a derivative work. Is this the position of the Eclipse Foundation?
No, the Eclipse Foundation interprets the term "derivative work" in a way that is consistent with the definition in the U.S. Copyright Act, as applicable to computer software. Therefore, linking to Eclipse code might or might not create a derivative work, depending on all of the other facts and circumstances.
Or in short "go hire a lawyer, you annoying developers!" Uhm, gee ... thanks =\ So on the one hand the GPL is telling me "If you subclass the stuff in SWT, you're making a derivative work". On the other hand, the EPL is (apparently?) telling me that it's possible for me to use imports without being a derivative. Does that extend all the way to subclassing? They won't tell me.
So what can I do here? I'd like to release GPL compatible code, that can be reused (and not abused!) by other developers who value software freedom like I do. But this license dance has me thinking that might be a no go (and tragically, I do have to make an Eclipse plug-in in this case, otherwise I'd use my idea some other way).
Some thoughts: Split my plug-in into two parts: a library under the LGPL (where I try to stick the bulk of my work), and then make as skimpy an Eclipse plug-in as possible under the EPL? Or can I make the whole thing as "GPL with exemption" by crossing my fingers and hoping that I'm really not a derivative work of Eclipse (at which point their license would require me to use an EPL compatible license)? The second option would be the best. I'd be clear as far as the GPL goes, but I'm not sure if I'd be running afoul of the EPL.
Sorry for the complexity, but my head is totally spinning in circles.
Here's where I'm instantly running into problems. I really like the GPL (v2) as far as licenses go. I'm a bit on the fence about v3, but that's beside the point. Eclipse is licensed under the EPL, the Eclipse Public License, which isn't GPL compatible. So technically, any GPL code I write can't link to (in this case [java], import) Eclipse. However, because the EPL is still a Free license, I can write an exemption into my copyright statement for each file which uses Eclipse, saying its cool to link this against code licensed under the EPL.
Here's my problem though. On the FAQ page for the GPL, when asked about Java subclassing wrt the GPL, this was the answer given:
"Subclassing is creating a derivative work. Therefore, the terms of the GPL affect the whole program where you create a subclass of a GPL'ed class."
For anyone not familiar with how SWT (part of Eclipse) works, it involves a lot of subclassing (extending). It simply doesn't work without it. But that explanation from the FSF covers if I'm importing and extending GPL code, not writing GPL code which extends something else. So then I looked up the EPL FAQ, and it had this to say:
Some free software communities say that linking to their code automatically means that your program is a derivative work. Is this the position of the Eclipse Foundation?
No, the Eclipse Foundation interprets the term "derivative work" in a way that is consistent with the definition in the U.S. Copyright Act, as applicable to computer software. Therefore, linking to Eclipse code might or might not create a derivative work, depending on all of the other facts and circumstances.
Or in short "go hire a lawyer, you annoying developers!" Uhm, gee ... thanks =\ So on the one hand the GPL is telling me "If you subclass the stuff in SWT, you're making a derivative work". On the other hand, the EPL is (apparently?) telling me that it's possible for me to use imports without being a derivative. Does that extend all the way to subclassing? They won't tell me.
So what can I do here? I'd like to release GPL compatible code, that can be reused (and not abused!) by other developers who value software freedom like I do. But this license dance has me thinking that might be a no go (and tragically, I do have to make an Eclipse plug-in in this case, otherwise I'd use my idea some other way).
Some thoughts: Split my plug-in into two parts: a library under the LGPL (where I try to stick the bulk of my work), and then make as skimpy an Eclipse plug-in as possible under the EPL? Or can I make the whole thing as "GPL with exemption" by crossing my fingers and hoping that I'm really not a derivative work of Eclipse (at which point their license would require me to use an EPL compatible license)? The second option would be the best. I'd be clear as far as the GPL goes, but I'm not sure if I'd be running afoul of the EPL.
Sorry for the complexity, but my head is totally spinning in circles.
