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.

Reply via email to