Good write-up.
Is any portion of cygwin covered by the LGPL instead of the GPL?
http://www.gnu.org/copyleft/lesser.html
The LGPL explicitly allows proprietary software to be built on top of opensource
libraries.
TIA
Greg
--
Greg Freemyer
>> > > Hi all!
>> > >
>> > > I wrote a small script in Python, but it requires two programs to run
>> > > correctly: tar.exe and gzip.exe. Both are in CygWin package.
>> > And that's my
>> > > question: can I bundle both programs and cygwin1.dll with my script?
>> > Script
>> > > is free, but the program that the script comes with is not.
>> > >
>> > > --
>> > > Krzysiek 'Nelchael' Pawlik | C/C++, PHP, OpenGL, WinAPI
>> > > [EMAIL PROTECTED] | Network Administrator - BAFH
>> > > http://www.ps.nq.pl/pcfaq/ | http://www.ps.nq.pl/nelchael/
>> > >
>> > These are just my thoughts and I'm not a lawyer.
>> >
>> > It doesn't sound like your proprietary program is derived from or based
>> on
>> > any Cygwin source code. Does it execute the Python script which
>> executes
>> > tar.exe? If it does, I don't think even that would put it under the
>> GPL.
>> > The GPL states that the "act of running the Program is not restricted".
>> > Your program can execute Cygwin binaries without it becoming GPL
>> software.
>> >
>> > If you link to Cygwin source code, then your program would be a
>> derivative
>> > work under the GPL. However, I believe you could also link to another
>> > proprietary third party library without providing it's source code. For
>> > instance, you could link to a Microsoft library without being required
>> to
>> > provide Microsoft source code.
>> This is not true. It is ok to link with certain Microsoft DLLs because the
>> GPL makes the following exception:
>> However, as a special exception, the source code distributed need not
>> include anything that is normally distributed (in either source or
>> binary form) with the major components (compiler, kernel, and so on)
>> of
>> the operating system on which the executable runs, unless that
>> component itself accompanies the executable.
>> However this exception does not apply to other DLLs, only those considered
>> part of the operating system.
>> >
>> > Going one step further, you could put your proprietary code into a
>> > standalone DLL built using Microsoft tools. You could market the DLL as
>> a
>> > separate product. The DLL would have no dependencies on any Cygwin
>> source
>> > or binary. Your Cygwin based application could us it just like any
>> other
>> > third party library without providing source code for the DLL. I
>> > don't see
>> > GPL language that would prevent this.
>> >From the GPL FAQ
>> (http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL):
>> You have a GPL'ed program that I'd like to link with my code to build a
>> proprietary program. Does the fact that I link with your program mean I
>> have
>> to GPL my program?
>> Yes.
>> and:
>> What is the difference between "mere aggregation" and "combining two
>> modules
>> into one program"?
>> Mere aggregation of two programs means putting them side by side on
>> the
>> same CD-ROM or hard disk. We use this term in the case where they are
>> separate programs, not parts of a single program. In this case, if one of
>> the programs is covered by the GPL, it has no effect on the other program.
>> Combining two modules means connecting them together so that they form
>> a
>> single larger program. If either part is covered by the GPL, the whole
>> combination must also be released under the GPL--if you can't, or won't,
>> do
>> that, you may not combine them.
>> What constitutes combining two parts into one program? This is a legal
>> question, which ultimately judges will decide. We believe that a proper
>> criterion depends both on the mechanism of communication (exec, pipes,
>> rpc,
>> function calls within a shared address space, etc.) and the semantics of
>> the
>> communication (what kinds of information are interchanged).
>> If the modules are included in the same executable file, they are
>> definitely combined in one program. *** -> If modules are designed to
>> run linked together in a shared address space, that almost surely means
>> combining them into one program. <- ***
>> By contrast, pipes, sockets and command-line arguments are
>> communication
>> mechanisms normally used between two separate programs. So when they are
>> used for communication, the modules normally are separate programs. But if
>> the semantics of the communication are intimate enough, exchanging complex
>> internal data structures, that too could be a basis to consider the two
>> parts as combined into a larger program.
>> and:
>> I'd like to incorporate GPL-covered software in my proprietary system. Can
>> I
>> do this?
>> You cannot