Binary distribution and DLLs

View: New views
8 Messages — Rating Filter:   Alert me  

Binary distribution and DLLs

by Jon Beniston-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I want to distribute a binary build of some software that I have written,
part of which includes some programs that are linked with cygwin1.dll and
other Cygwin dlls such as cygexpat-1.dll, cyggmp-3.dll, cygintl-8.dll and so
on.

Due to some of the other Windows specific components of the software, I
don’t think I can use setup.exe to install the package. My installer can
check for the presence of cygwin1.dll and then start Cygwin’s setup.exe if
it doesn’t exist, but what is the recommended way of dealing with the other
dlls? I’m concerned that in x months time, that cygintl-8.dll will have been
replaced with cygintl-9.dll, and thus if a user installs the latest packages
using setup.exe, they might not get cygintl-8.dll. (My installation appears
to only have cygintl-2.dll  cygintl-3.dll  cygintl-8.dll, for example).

Is it safe to include a copy of these dlls (excluding cygwin1.dll) in my
programs executable folder (with the source, of course), or will this cause
other problems if there is a conflict between two similar dlls? Any thoughts
on the best way to deal with this?

Cheers,
Jon





--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Re: Binary distribution and DLLs

by Corinna Vinschen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Oct 31 15:08, Jon Beniston wrote:
> Hi,
>
> I want to distribute a binary build of some software that I have written,
> part of which includes some programs that are linked with cygwin1.dll and
> other Cygwin dlls such as cygexpat-1.dll, cyggmp-3.dll, cygintl-8.dll and so
> on.

Binary distribution?  You are aware that linking an application against
the Cygwin DLL requires to put your application under a compatible Open
Source license, aren't you?  See http://cygwin.com/license.html


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


RE: Binary distribution and DLLs

by Jason Pyeron :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 

> -----Original Message-----
> From: Corinna Vinschen
> Sent: Monday, November 02, 2009 7:38
> Subject: Re: Binary distribution and DLLs
>
> On Oct 31 15:08, Jon Beniston wrote:
> > Hi,
> >
> > I want to distribute a binary build of some software that I have
> > written, part of which includes some programs that are linked with
> > cygwin1.dll and other Cygwin dlls such as cygexpat-1.dll,
> > cyggmp-3.dll, cygintl-8.dll and so on.
>
> Binary distribution?  You are aware that linking an
> application against the Cygwin DLL requires to put your
> application under a compatible Open Source license, aren't
> you?  See http://cygwin.com/license.html

While I am sure he is, I think he is looking for a way to deliver his
application to users who may not want the source or other features of cygwin. I
know there have been many times a client has paid us just to do an install of an
application (install cygwin, compile from source program X) on windows.

With the new setup in 1.7, can an install be:

1: silent?
1b: give it its own root????
2: done without internet access?

If so, I think a best practice would be to (silent) install a base line cygwin
per the vendor's preference from the vendors application installer. This would
eliminate all of those  hacked up installs.

Then when end user ends up contacting the cygwin mailing list since vendor x has
not provided the needed support, we wont be so agrivated by vendor x's actions
(or ignorance).

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-                                                               -
- Jason Pyeron                      PD Inc. http://www.pdinc.us -
- Principal Consultant              10 West 24th Street #100    -
- +1 (443) 269-1555 x333            Baltimore, Maryland 21218   -
-                                                               -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This message is copyright PD Inc, subject to license 20080407P00.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Re: Binary distribution and DLLs

by Corinna Vinschen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Nov  2 09:46, Jason Pyeron wrote:

> > -----Original Message-----
> > From: Corinna Vinschen
> > Sent: Monday, November 02, 2009 7:38
> > Subject: Re: Binary distribution and DLLs
> >
> > On Oct 31 15:08, Jon Beniston wrote:
> > > Hi,
> > >
> > > I want to distribute a binary build of some software that I have
> > > written, part of which includes some programs that are linked with
> > > cygwin1.dll and other Cygwin dlls such as cygexpat-1.dll,
> > > cyggmp-3.dll, cygintl-8.dll and so on.
> >
> > Binary distribution?  You are aware that linking an
> > application against the Cygwin DLL requires to put your
> > application under a compatible Open Source license, aren't
> > you?  See http://cygwin.com/license.html
>
> While I am sure he is, I think he is looking for a way to deliver his
> application to users who may not want the source or other features of cygwin. I

I'm not sure he is and the user rights come first per the GPL.  Not only
that the application has to be put under an OSS license, it's also
required to distribute the Cygwin DLL with sources, accoding to the
GPL Section 3)

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange;

or

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange;

Paragraph c) isn't valid here.

This is the right of the user of the software.  You must offer the
sources in one of these ways, or you're violating the GPL.  If the
user doesn't exercise this right, it's the user's choice, not the
distributor's choice.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


RE: Binary distribution and DLLs

by Jason Pyeron :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 

> -----Original Message-----
> From: Corinna Vinschen
> Sent: Monday, November 02, 2009 9:58
> Subject: Re: Binary distribution and DLLs
>
> On Nov  2 09:46, Jason Pyeron wrote:
> > > -----Original Message-----
> > > From: Corinna Vinschen
> > > Sent: Monday, November 02, 2009 7:38
> > > Subject: Re: Binary distribution and DLLs
> > >
> > > On Oct 31 15:08, Jon Beniston wrote:
> > > > Hi,
> > > >
> > > > I want to distribute a binary build of some software
...
> >
> > While I am sure he is, I think he is looking for a way to
> deliver his
> > application to users who may not want the source or other
> features of
> > cygwin. I
>
> I'm not sure he is and the user rights come first per the

I am assuming he is, so I can talk about a finer point. If he was not, then your
first response informed him.

> GPL.  Not only that the application has to be put under an
> OSS license, it's also required to distribute the Cygwin DLL
> with sources, accoding to the GPL Section 3)
>
>     a) Accompany it with the complete corresponding machine-readable
>     source code, which must be distributed under the terms of Sections
>     1 and 2 above on a medium customarily used for software
> interchange;

Link 1: download with source (250MB)
Link 2: download without source (12MB)

Installing from link2:

Installer asks, would you like to download the source?


>
> or
>
>     b) Accompany it with a written offer, valid for at least three
>     years, to give any third party, for a charge no more than your
>     cost of physically performing source distribution, a complete
>     machine-readable copy of the corresponding source code, to be
>     distributed under the terms of Sections 1 and 2 above on a medium
>     customarily used for software interchange;
>

Vendor X keeps archived copies for 3 years, and provides them as requested
(preferably on the www)

> Paragraph c) isn't valid here.
>
> This is the right of the user of the software.  You must
> offer the sources in one of these ways, or you're violating
> the GPL.  If the user doesn't exercise this right, it's the
> user's choice, not the distributor's choice.

I am not advocating any GPL violation. I am simply advocating a prescriptive way
for the Vendor Xs out there to do what they belive their users want and still
maintain compliance with not only the GPL but cygwin best practices.

Best practice #1, don't slap the cygwin.dll around, use setup.exe...

-jason


--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-                                                               -
- Jason Pyeron                      PD Inc. http://www.pdinc.us -
- Principal Consultant              10 West 24th Street #100    -
- +1 (443) 269-1555 x333            Baltimore, Maryland 21218   -
-                                                               -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This message is copyright PD Inc, subject to license 20080407P00.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Parent Message unknown RE: Binary distribution and DLLs

by Jon Beniston-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> Binary distribution?  You are aware that linking an
> application against the Cygwin DLL requires to put your
> application under a compatible Open Source license, aren't
> you?  See http://cygwin.com/license.html

Yes, it already is GPLed and the source will be included. However, most
users do not want to compile things for themselves (at least in this
instance).

> I'm not sure he is and the user rights come first per the GPL.
>  Not only that the application has to be put under an OSS
> license, it's also required to distribute the Cygwin DLL
>  with sources, accoding to the GPL Section 3)

As I said in my original e-mail, I'm not planning to distribute cygwin1.dll.
This would be installed by Cygwin's setup.exe.

My query is regarding other DLLs (which I have already said I would include
the source for, if I included the binary).

Cheers,
Jon





--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Re: Binary distribution and DLLs

by Corinna Vinschen-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Nov  2 15:59, Jon Beniston wrote:

> > Binary distribution?  You are aware that linking an
> > application against the Cygwin DLL requires to put your
> > application under a compatible Open Source license, aren't
> > you?  See http://cygwin.com/license.html
>
> Yes, it already is GPLed and the source will be included. However, most
> users do not want to compile things for themselves (at least in this
> instance).
>
> > I'm not sure he is and the user rights come first per the GPL.
> >  Not only that the application has to be put under an OSS
> > license, it's also required to distribute the Cygwin DLL
> >  with sources, accoding to the GPL Section 3)
>
> As I said in my original e-mail, I'm not planning to distribute cygwin1.dll.
> This would be installed by Cygwin's setup.exe.
>
> My query is regarding other DLLs (which I have already said I would include
> the source for, if I included the binary).

No worries.  In theory, if the DLL you're linking against is not too
old, you could omit it from your own package.  For instance, for
the ncurses library, the DLLs are still available back to libncurses5,
from back in 2003.  If that's too dangerous for you, you can just add
them to your package since there should be no conflict.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Re: Binary distribution and DLLs

by Larry Hall (Cygwin) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 11/02/2009 10:10 AM, Jason Pyeron wrote:
> Link 1: download with source (250MB)
> Link 2: download without source (12MB)
>
> Installing from link2:
>
> Installer asks, would you like to download the source?

'setup.exe' does not have a mechanism for such a question if that's what you're
asking.  From the distributor's perspective, they can manage their
obligation to
provide access to the source (from their own site) much as you outlined above
with separate links.  An alternative would be a separate package with both the
binary and the source, if there's a desire to provide both in a single download.
That mechanism is supported by 'setup.exe' and seems to me to be essentially
equivalent of what you're asking about.  But perhaps I misunderstood you.  And
again, because it cannot be repeated enough, if someone is distributing a binary
that depends on the Cygwin DLL, they need to provide access to both the binary
and the source of Cygwin and they need to be available from the same location
as their offering.  Pointing to cygwin.com or some other site they don't
control is
not sufficient.

--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
 > Q: Are you sure?
 >> A: Because it reverses the logical flow of conversation.
 >>> Q: Why is top posting annoying in email?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple