|
|
|
|
|
by pdonis
3976 days ago
|
|
> Running code through an interpreter or compiler has never in the past been held to create a derived work under the GPL. That's true, but the article mentions an interesting twist that might not be so clear. The key statement (which, AFAIK, is a direct quote from the FSF) is: "Subclassing is creating a derivative work." In certain programming languages (Java is the example given in the article), you can't write code without subclassing one of the classes built into the language (in Java, you have to, at a minimum, subclass Object), so if subclassing is creating a derivative work, you can't write a program in such a language that isn't a derivative work of the language. Even in languages that don't force you to subclass to write a program at all, there can still be a large set of programs that can't be written without subclassing (for example, in Python 3 any time you use the class statement you are subclassing, at a minimum, the built-in object class). I don't think the FSF's intent was to make any Java program a derivative work of Java, or any Python 3 program that uses the class statement a derivative work of Python. But if so, they need to qualify their bald statement about subclassing being a derivative work. |
|
The (now obsolete) GNU implementation of the java class libraries was GPL licensed, and had a special exception just for this, called the "classpath exception": http://www.gnu.org/software/classpath/license.html
The Sun Java implementation was not GPL until 2006/2007. And since Oracle successfully sued Google for making its own compatible function prototypes and class definitions and such ... well I'll agree that the java situation may in fact be a shitshow.
Also, did you know that the GPL has a system library exception? So you can legally dynamically link to OS X's libc or Windows' win32 as needed to run a normal process. https://www.gnu.org/licenses/gpl-faq.html#SystemLibraryExcep...
So really there's no language (except maybe sun's java, I dunno) where this is actually a problem.