On Mon, Aug 17, 2009 at 6:29 AM, Bruce Allen<[email protected]> wrote: > Hi Eric, > > If I understand correctly, you would also need permission from all the > s...@home developers who did development under GPL.
That is true. The number of developers with accepted contributions who were not paid for their work (in which case UC has the copyright) and have not agreed to assign Copyright is very small. And I believe that all of them would probably agree if there was a sufficient reason (i.e. it was the only way to support a specific platform or distribution method). The full code would still be available under the GPL, it would just be a specific linked version provided by UCB that is excepted. The only example of this I can think of is a locked platform like the iPhone or other platforms that require code signed by a central authority that the user can't replace. I don't intend to put any effort into supporting those platforms at this time. >> Regarding the CUDA libraries, you could make a strong case that they are >> part of the operating system of the GPU, because the GPU can't be used >> without them. > > I think this is a weak argument... Since it's impossible to compile the code without a CUDA compiler, and every CUDA compiler ships with the appropriate libraries, I would say that the GPL specifically allows it in this case. >From the GPL v3: The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. >> Even if that isn't the case, the libraries are shipped with any compiler >> capable of compiling the CUDA code (which is the other exception written >> into the license), > > Here, by 'the license' you mean 'the GPL license'? Yes. > I do not think this is sharply different from the situation with the Intel > Math Kernel Libraries. These libraries are often bundled with the ICC > compiler. I would argue that these are needed to fully exploit the native > CPU hardware. I would seek the opinion of the people who hold the Copyright to FFTW to see if they concur with your interpretation. It's too bad there's no standardized FFT interface. If there were, you could use the "Standard Interface" exception. > I am simply asking about whether or not 'pure GPL' science code is allowed > to link to proprietary libraries such as CUDA, IMKL, or ACML, since all of > these libraries carry more restrictive licenses than the GPL license. It > seems that the answer is 'no'. I argue that for CUDA the answer is yes, while for IMKL or ACML it is likely to be no, primarily because I don't think it fits the "is included in the normal form of packaging a Major Component" clause. Of course the only opinions that really count in the case of FFTW are Steven's and Matteo's. Nobody else has the legal standing to decide. If they tell you that IMKL and ACML are OK, then you're fine. (Until you link to another GPL licensed library, of course.) If you don't link to or include any other besides your own GPL licensed code, then it's your interpretation of the GPL that counts. So if you don't use FFTW, then you are perfectly within your rights to release GPL code that uses IMKL and ACML. It's best to include an exception in the copyright statement in that case, but isn't required. Since you released linked to IMKL and ACML, you've obviously made an exception, and if you tried to sue someone for doing the same you'd have no case. _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
