octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnu.org #432927] Can a Windows installer include both VC++ libs and


From: Jaroslav Hajek via RT
Subject: Re: [gnu.org #432927] Can a Windows installer include both VC++ libs and GPLed libs?
Date: Thu, 21 May 2009 05:30:46 -0400

On Fri, May 8, 2009 at 6:09 PM, Brett Smith via RT <address@hidden> wrote:
> Hello everyone,
>
> I'm sorry for the delay in getting back to you on this; I was traveling
> when you wrote.  I think I answered a question from an Octave user about
> this a couple of days ago, so you might have already heard an initial
> response on this.  He didn't mention that Octave was the software in
> question, though, so I didn't know to include you in the discussion.
> I'm happy to help try to clear things up here.
>
>> address@hidden - Tue Apr 21 12:11:05 2009]:
>>
>> Is it a violation of the GPL (v2 and v3) to bundle the Visual C++
>> redistributable libraries and GPLed libraries in a single executable
>> installer?
>
> I do not think either version of the GNU GPL allows this kind of
> bundling.  Because these libraries are normally packaged with the
> compiler used to compile the program, ordinarily they would qualify for
> the System Library exception, which means you're exempt from providing
> their source code when you distribute the source for the program.
> However, both versions of the GNU GPL have language which prevent this
> exemption from applying to libraries that are actually distributed in
> tandem with the GPLed software.  So, the GPL expects you to include the
> source for these libraries -- and since you cannot do that, you cannot
> include them in the installer.
>

If that's your opinion (or FSF's), could you please explicitly
disprove my reasoning below?
GPL version 3, section 1, paragraph 3:

"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."

It is explicitly stated that a compiler used to produce the work
qualifies as a "Major Component". So, the MSVC++ runtime libraries
qualify as "System Libraries" if they:
1) are not included in the normal form of packaging the Major
Component (obviously true)
2) are not part of that Major Component (disputable, but IMO true)
3) serve only to enable use of the work with that Major Component (IMO true),

which point of these 3 you disagree with?

regarding the binary distribution; section 6, paragraph 2 (after e)), says:

"A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work."

I believe that "need not", unlike "must not", does not express any
kind of obligation in English
(http://en.wiktionary.org/wiki/need_not). it's equivalent to "may, or
may not".
I can't find anything else in the GPL wording that forbids including
the System Libraries in a binary distribution.


therefore, if the 3 points above are satisfied, MSVC++ runtime library
qualify as System Library, and section 6 allows including them in a
binary distribution without providing their source. If there's still
something I'm missing, please explain.

regards

-- 
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]