On Wed, 10 Dec 2003, Eeli Kaikkonen wrote: > After posting the previous post I read the other thread which also covered > licencing issues. I want to make some things clear. > > I think Chris made some statements which are wrong or at least too strong.
Sorry Eeli, you are completely and utterly wrong. Have you even read the GPL? Let me explain some of your errors, but if you don't believe me, I invite you to email gnu-legal, who will tell you exactly the same things. > A program which uses sword libraries doesn't have to be under GPL. Absolutely wrong. GPL Section 2 part b: "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." In other words, if you use GPL code in a derivative work, the derivative must also be GPL. > It only must be under a GPL-compatible licence. You said sword uses a > library which is under BSD. That works other way also. A program under > BSD may use sword. "GPL-compatible" means that the original licence > allows changing the licence to GPL. LGPL allows it explicitly, BSD > allows almost any use and does not prohibit changing the licence. GPL > uses some kind of trick. When a program and a library are separate (in > binary form in e.g. a hard drive of an end user) they have their own > licences. But when they are linked at run time, GPL has the viral effect > and changes the other part's licence to GPL. Also when they are > distributed in a same medium GPL has that effect. Absolutely wrong. See above. You're thinking of code incorporation in the wrong direction. Nowhere does the GPL contain a notion of "GPL-compatible". License compatability stems from two different licenses with different levels of restrictions. If license A has more restrictions than license B and none of their restrictions conflict, then license B is compatible with license A. This is the situation with GPL (more restrictions) and BSD or LGPL (fewer restrictions). BSD and LGPL are both "GPL compatible". However, GPL is NOT compatible with BSD or LGPL because it places additional restrictions on code. What you describe would make the GPL completely meaningless since a person could simply re-license GPL code as BSD. Sword and other GPLed software may incorporate BSD works, as you state. But the reverse is absolutely not true. Your assertions about relicensing are "at runtime" are incorrect. For two programs to link at runtime requires header incorporation at compile time anyway, so the linking program is already required to be GPL licensed if it links (even dynamically) to a GPLed library. GPL has no "viral effect" at run time. The author of a derivative work already had to make his decision to license under the GPL at design time. When they are "distributed in the same medium" is called mere aggregation by the GPL. It is explicitly addressed by the GPL thus (from the end of section 2): "mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License." In other words, mere aggregation has no "viral effect". > And what's more, any personal use is allowed. You are allowed to write code > which uses GPL'ed library. You are allowed to compile and use it with that > library. Right. This is all personal, PRIVATE use. You are allowed to do pretty much anything you want, in terms of copying and modification. It would be pretty impossible for anyone to know what you're doing with their code in the privacy of your own home. > You are allowed to distribute your program's source code even if it > is under non-GPL-compatible licence (in US this may be also about freedom of > speech). Wrong on so many levels. I'm curious to know what purpose you think the GPL serves. Apparently none, to your thinking. You are allowed to do whatever you want PRIVATELY. If you so much as give one copy to one friend, you are bound by the terms of the GPL to distribute source code, to license your own modifications under the GPL, and to ensure that all other incorporated works are GPL-compatible. See the first paragraph of section 2 in the GPL. In the US, this is not covered under freedom of speech. It does qualify as copyright infringement, with possible consequences of fines, jail time, civil suits seeking recompense for damages, and the voiding of your license to modify the GPLed code entirely. Just so you know: arson is not a protected form of free expression in the US, nor is shooting people in the streets protected by the second amendment. > Someone else is allowed to download your code, compile it and use > the binaries with the GPL'ed library which he has obtained somewhere else. > That all is personal use, except for distributing the source code, and GPL is > not meant to deal with any personal use. I think you're confusing "personal use", which generally means private use (i.e. not involving any distribution), with "non-commercial use". But your intent here is fairly unclear to me. GPL does deal with personal, private use by allowing you to modify copyrighted works. That is not a right you normally have under existing copyright laws, since it constitutes creation of an unauthorized derivative work (even if you don't distribute). > Distributing the source is possible because of Section 2: "If > identifiable sections of that work are not derived from the Program, and > can be reasonably considered independent and separate works in > themselves, then this License, and its terms, do not apply to those > sections when you distribute them as separate works". Right. If you have a completely separable section of code, you may distribute that code separately and under any license you want. If that code requires any GPLed code to run (via any form of linking), you are obligated to license your own work under the GPL as well. > These are interpretations, not explicit wordings of GPL (except the last > part). I have read these things somewhere and they represent some common > interpretations. GPL is very problematic licence and it's legal status at > least in some points is unclear. I would find a different source of information. I've never read an interpretation of the GPL that was so completely different from the actual meaning of the GPL--and that includes the intentional misreadings stemming from the SCO Group. gnu-legal will, I'm sure, corroborate my statements here, if you care to consult them. > Remember also that it is legal to make an API comptatible library for any API > (I don't know why, but I have never seen anyone question that). There are > GPL'ed libraries with "proprietary" APIs and it would also be possible to > make a proprietary library which has the same API that sword has. Would it be > illegal to make a proprietary program using that proprietary library? No. I don't know, for sure, whether this is true or not, but I suspect you are correct. If you can work from specifications, you are permitted to create a compatible API. You can also do some forms of reverse-engineering legally (even in the US) to create compatible APIs. The situation becomes a little murkier when you identify the Sword Project specifically. Our documentation is actually part of the code and is covered by GPL. It would probably be legal to use this as a basis of a similar library, but I'm uncertain. > Therefore distributing a proprietary program which uses sword API must also > be legal. If, by "uses sword API" you mean uses the Sword library itself, you're wrong. The flow of logic that lead to using the word "Therefore" is completely illogical. It's akin to saying "There are apples and apples taste good. Therefore, oranges must taste good." My response is: huh? If, by "uses sword API" you mean uses the same set of interfaces, the answer is dubious. Actually creating a binary-compatible re-implementation of the Sword Project would not realistically be possible without consultation of our source code itself (distinct from the documentation). Re-implementation constitutes creation of a derivative work. It's akin to adapting a novel to a play or a song. You might not use the same words even, but it's a derivative work. In this case it would be an illegal, unauthorized derivative work, meaning possibly fines, jail, civil lawsuits, revokation of license, etc. > But it is illegal to distribute a proprietary program which uses > some API with a GPL'ed library which has that API. The previous sentence is a > common interpretation of GPL, see Section 2 of GPL. Right. That's correct. > Therefore e.g. Linux distributions cannot have a GPL'ed library AND an > Open Source program which uses that library but is under a > non-GPL-compatible licence. Linux distributions, just to be clear, constitute mere aggregations. They can legally include anything that the distributor has permission from its copyright holder to distribute. (And presumably they include the Linux kernel also, since they would be poorly named otherwise.) Your statement really has nothing to do with Linux distributions, however. In the situation you describe, whoever gave the distributor the program that violates the GPL (by linking to GPL libraries despite not being GPL itself) is in violation of copyright. > So, if you want to make a program and distribute sword libraries with it, the > program must be under a GPL-compatible licence. Wrong. (Addressed above, but the license of you program must be GPL, exclusively.) > If you want to modify the sword library or incorporate some code from it > to your own work, then the new program or library must be under GPL. Absolutely correct. --Chris _______________________________________________ sword-devel mailing list [EMAIL PROTECTED] http://www.crosswire.org/mailman/listinfo/sword-devel