Re: Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Yitzchak Gale
Bulat Ziganshin wrote:
 for me, GMP is much more problematic issue. strictly speaking, we
 can't say that GHC is BSD-licensed because it includes LGPL-licensed
 code (and that much worse, it includes this code in run-time libs)

Manuel M T Chakravarty wrote:
 ..binary distributions of GHC that include libgmp.a and statically
 link it into compiled code...  All
 that is needed to make this legal is to (a)...
 (b) give users access to another version of
 the proprietary program that links GMP dynamically.

Wow, I didn't realize that. Now I understand Bulat. In a
project of any serious size and complexity, the use
of static or dynamic linking is often architechted in and
cannot be changed. So LGPL is really bad for a general
purpose compiler like GHC. We've got to make GMP
optional, or get rid of it.

-Yitz
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[6]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Bulat Ziganshin
Hello Manuel,

Thursday, January 17, 2008, 7:49:00 AM, you wrote:
 for me, GMP is much more problematic issue. strictly speaking, we
 can't say that GHC is BSD-licensed because it includes LGPL-licensed
 code (and that much worse, it includes this code in run-time libs)

 use of GMP in the code and (b) give users access to another version of
 the proprietary program that links GMP dynamically.  Point (b) is  
 sufficient to comply with Section 4(d) of the LGPL, which requires you
 to enable users to swap one version of GMP for another in a program  
 that uses GMP.

how can i provide version of my ghc-compiled program that links GMP
dynamically? especially on windows?

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Isaac Dupree

Yitzchak Gale wrote:

Bulat Ziganshin wrote:

for me, GMP is much more problematic issue. strictly speaking, we
can't say that GHC is BSD-licensed because it includes LGPL-licensed
code (and that much worse, it includes this code in run-time libs)


Manuel M T Chakravarty wrote:

..binary distributions of GHC that include libgmp.a and statically
link it into compiled code...  All
that is needed to make this legal is to (a)...
(b) give users access to another version of
the proprietary program that links GMP dynamically.


Wow, I didn't realize that. Now I understand Bulat. In a
project of any serious size and complexity, the use
of static or dynamic linking is often architechted in and
cannot be changed.


(b) is a sufficient condition, but not necessary; there are other ways 
to satisfy the license.  It's also possible to just distribute, for 
example, the .o file(s) and a way to link them with a GMP to get the 
final result; this doesn't even reveal your source-code any more than 
your program being dynamically linked, at least if you do it right -- right?


~Isaac
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Yitzchak Gale
Isaac Dupree wrote:
 It's also possible to just distribute, for
 example, the .o file(s) and a way to link them with a GMP to get the
 final result; this doesn't even reveal your source-code any more than
 your program being dynamically linked, at least if you do it right -- right?

It doesn't matter. In a typical commercial development
environment, you just don't have any control over that.

At some companies I've gotten free software included
in products in a way that required certain extra files
from the 3rd party to be included inside our installation
package - such as a source code tarball, GNU license,
and such. It wasn't easy, but I've done it. But to change
the way our own code is distributed - forget it.

If you happen to be in a situation where the LGPL thing
can be integrated as a dynamic library, fine. Otherwise,
I don't see it.

-Yitz
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[2]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Bulat Ziganshin
Hello Isaac,

Thursday, January 17, 2008, 8:05:56 PM, you wrote:
 (b) is a sufficient condition, but not necessary; there are other ways
 to satisfy the license.  It's also possible to just distribute, for 
 example, the .o file(s) and a way to link them with a GMP to get the 
 final result; this doesn't even reveal your source-code any more than 
 your program being dynamically linked, at least if you do it right -- right?

so, any commercial (closed-source) software written using GHC should
be also provided in form of object files which can be linked with GMP
to produce working executable

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Thorkil Naur
Hello,

On Thursday 17 January 2008 05:24, Manuel M T Chakravarty wrote:
 Thorkil Naur:
  Hello,
 
  On Tuesday 08 January 2008 15:07, Christian Maeder wrote:
  Hi,
 
  I've succeeded in building a binary distribution that uses static
  libraries for gmp and readline. libreadline.a, libncurses.a and  
  libgmp.a
  with corresponding header files are included. (For license issues ask
  someone else.)
 
  On http://gmplib.org/ we find:
 
  GMP is distributed under the GNU LGPL. This license makes the  
  library free to
  use, share, and improve, and allows you to pass on the result. The  
  license
  gives freedoms, but also sets firm restrictions on the use with non- 
  free
  programs.
 
  I have not attempted to check whether your distribution fulfills the
  requirements of the LGPL.
 
 It does fullfil them.  The source code of all components of the system  
 is available enabling users to build the same software with a  
 different version of GMP.  That's all that the LGPL requires of  
 software linked against a LGPL library.
 
  Further, on http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html:
 
  Readline is free software, distributed under the terms of the GNU  
  General
  Public License, version 2. This means that if you want to use  
  Readline in a
  program that you release or distribute to anyone, the program must  
  be free
  software and have a GPL-compatible license.
 
  For your distribution to adhere to this, it appears to require GHC  
  to have a
  GPL-compatible license. 

Sorry, my use of the term GPL-compatible here is wrong. What I should have 
written was that it appears to require GHC to be distributed under the GPL.

  I don't believe it does. 
 
 It does.  GHC's codebase is a mix of BSD3, LGLP, and GPL.  They are  
 perfectly compatible.  See http://www.fsf.org/licensing/licenses/index_html 
  .
 
 Manuel
 

Best regards
Thorkil
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-17 Thread Manuel M T Chakravarty

Yitzchak Gale:

Bulat Ziganshin wrote:

for me, GMP is much more problematic issue. strictly speaking, we
can't say that GHC is BSD-licensed because it includes LGPL-licensed
code (and that much worse, it includes this code in run-time libs)


Manuel M T Chakravarty wrote:

..binary distributions of GHC that include libgmp.a and statically
link it into compiled code...  All
that is needed to make this legal is to (a)...
(b) give users access to another version of
the proprietary program that links GMP dynamically.


Wow, I didn't realize that. Now I understand Bulat. In a
project of any serious size and complexity, the use
of static or dynamic linking is often architechted in and
cannot be changed. So LGPL is really bad for a general
purpose compiler like GHC. We've got to make GMP
optional, or get rid of it.


Well, I think you misunderstood what I was trying to say.

My point is that the LGPL is *no* reason to worry.  As Isaac wrote,  
there are a number of ways in which a vendor of a proprietary program  
can successfully work with LGPL'ed code.  My proposal of providing a  
dynamically linked version of the software as an option is just one of  
these ways (which I think is especially easy to realise).  Other ways  
include distributing the dynamically linked binary in the first place  
and providing access to .o file to link with a different version of  
the library (as Isaac outlined).  BTW, when I write dynamically linked  
binary I mean a binary that links dynamically to the LGPL'ed code (ie,  
here GMP).  All other libraries can still be linked statically.


As a case in point for my argument, please consider Apple.  Mac OS X  
contains a lot of GPL'ed and LGPL'ed code.  Now you can argue that  
that's a simpler situation because it's a whole OS and many of the  
programs with GNU licenses are standalone, such as gcc.  Now just for  
fun, go to your nearest Apple store, grab an ipod touch and have a  
look at its Copyright menu.  There is lots of LGPL'ed code in there,  
too.  I am sure they had a trillion lawyers making sure that they  
comply with the licence terms, so that the FSF is not going to come  
after them.


Manuel

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-16 Thread Manuel M T Chakravarty

Thorkil Naur:

Hello,

On Tuesday 08 January 2008 15:07, Christian Maeder wrote:

Hi,

I've succeeded in building a binary distribution that uses static
libraries for gmp and readline. libreadline.a, libncurses.a and  
libgmp.a

with corresponding header files are included. (For license issues ask
someone else.)


On http://gmplib.org/ we find:

GMP is distributed under the GNU LGPL. This license makes the  
library free to
use, share, and improve, and allows you to pass on the result. The  
license
gives freedoms, but also sets firm restrictions on the use with non- 
free

programs.

I have not attempted to check whether your distribution fulfills the
requirements of the LGPL.


It does fullfil them.  The source code of all components of the system  
is available enabling users to build the same software with a  
different version of GMP.  That's all that the LGPL requires of  
software linked against a LGPL library.


Further, on http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html:

Readline is free software, distributed under the terms of the GNU  
General
Public License, version 2. This means that if you want to use  
Readline in a
program that you release or distribute to anyone, the program must  
be free

software and have a GPL-compatible license.

For your distribution to adhere to this, it appears to require GHC  
to have a

GPL-compatible license. I don't believe it does.


It does.  GHC's codebase is a mix of BSD3, LGLP, and GPL.  They are  
perfectly compatible.  See http://www.fsf.org/licensing/licenses/index_html 
.


Manuel
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-16 Thread Manuel M T Chakravarty

Bulat Ziganshin:

for me, GMP is much more problematic issue. strictly speaking, we
can't say that GHC is BSD-licensed because it includes LGPL-licensed
code (and that much worse, it includes this code in run-time libs)


Of course, GHC is BSD3 licensed.  It includes the GMP code as part of  
its tar ball to save people from the hassle to separately install GMP  
on platforms that don't have it by default (ie, essentially all non- 
Linux OSes). That doesn't change the license of GHC at all.  It is a  
mere aggregation of different projects.


Even binary distributions of GHC that include libgmp.a and statically  
link it into compiled code are not a problem.  You may even use such  
GHC distributions to compile proprietary code and distribute it.  All  
that is needed to make this legal is to (a) properly acknowledge the  
use of GMP in the code and (b) give users access to another version of  
the proprietary program that links GMP dynamically.  Point (b) is  
sufficient to comply with Section 4(d) of the LGPL, which requires you  
to enable users to swap one version of GMP for another in a program  
that uses GMP.


Manuel

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-10 Thread Thorkil Naur
Hello,

On Tuesday 08 January 2008 15:07, Christian Maeder wrote:
 Hi,
 
 I've succeeded in building a binary distribution that uses static
 libraries for gmp and readline. libreadline.a, libncurses.a and libgmp.a
 with corresponding header files are included. (For license issues ask
 someone else.)

On http://gmplib.org/ we find:

GMP is distributed under the GNU LGPL. This license makes the library free to 
use, share, and improve, and allows you to pass on the result. The license 
gives freedoms, but also sets firm restrictions on the use with non-free 
programs.

I have not attempted to check whether your distribution fulfills the 
requirements of the LGPL.

Further, on http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html:

Readline is free software, distributed under the terms of the GNU General 
Public License, version 2. This means that if you want to use Readline in a 
program that you release or distribute to anyone, the program must be free 
software and have a GPL-compatible license.

For your distribution to adhere to this, it appears to require GHC to have a 
GPL-compatible license. I don't believe it does.

 ...

Best regards
Thorkil
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[2]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-10 Thread Bulat Ziganshin
Hello Thorkil,

Thursday, January 10, 2008, 11:24:16 AM, you wrote:

 I've succeeded in building a binary distribution that uses static
 libraries for gmp and readline.
 GMP is distributed under the GNU LGPL. This license makes the library free to
 Readline is free software, distributed under the terms of the GNU General
 Public License, version 2.

in short, that means that software compiled with this compiler AND
distributed to general audience, should have GPL-compatible license
(i.e. GPL or BSD-like)

(as far as i understand GPL/LGPL terms)

-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Re[2]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-10 Thread Yitzchak Gale
Thorkil Naur wrote:
 Readline is free software, distributed under the terms of the GNU General
 Public License, version 2.

Bulat Ziganshin wrote:
 in short, that means that software compiled with this compiler AND
 distributed to general audience, should have GPL-compatible license
 (i.e. GPL or BSD-like)
 (as far as i understand GPL/LGPL terms)

Any software compiled with this compiler, or only
software that uses System.Console.Readline?

Isn't this the same on all platforms? If what you are
saying is correct, then isn't it required for any program
compiled with any readline-enabled GHC to have a
GPL-compatible license? I don't think that's
right, but IANAL.

-Yitz
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-10 Thread Bulat Ziganshin
Hello Yitzchak,

Thursday, January 10, 2008, 1:06:12 PM, you wrote:

 Readline is free software, distributed under the terms of the GNU General
 Public License, version 2.

 in short, that means that software compiled with this compiler AND
 distributed to general audience, should have GPL-compatible license
 (i.e. GPL or BSD-like)
 (as far as i understand GPL/LGPL terms)

 Any software compiled with this compiler, or only
 software that uses System.Console.Readline?

any software that links with readline.a or gmp.a. which actually means
every program because even if you don't use GMP, it's probably still
linked in

 Isn't this the same on all platforms? If what you are
 saying is correct, then isn't it required for any program
 compiled with any readline-enabled GHC to have a
 GPL-compatible license? I don't think that's
 right, but IANAL.

GPL license means that any program that uses readline functionality
should be *distributed* on GPL-compatible license. are you ever hear
how GPL infects computer programs? :)

you may also use it for in-house development, without distribution

for me, GMP is much more problematic issue. strictly speaking, we
can't say that GHC is BSD-licensed because it includes LGPL-licensed
code (and that much worse, it includes this code in run-time libs)


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-10 Thread Yitzchak Gale
Bulat Ziganshin wrote:
 in short, that means that software compiled with this compiler AND
 distributed to general audience, should have GPL-compatible license
 (i.e. GPL or BSD-like)
 (as far as i understand GPL/LGPL terms)

 Any software compiled with this compiler, or only
 software that uses System.Console.Readline?

 any software that links with readline.a or gmp.a. which actually means
 every program because even if you don't use GMP, it's probably still
 linked in

No, GMP is only LGPL, not GPL. So it only needs to
be LGPL compatible unless it uses readline.

 Isn't this the same on all platforms? If what you are
 saying is correct, then isn't it required for any program
 compiled with any readline-enabled GHC to have a
 GPL-compatible license? I don't think that's
 right, but IANAL.

 for me, GMP is much more problematic issue. strictly speaking, we
 can't say that GHC is BSD-licensed because it includes LGPL-licensed
 code (and that much worse, it includes this code in run-time libs)

LGPL specifically allows BSD-licensed software to link
in object code that is LGPL. But, basically, you need
to include the source code of the LGPL parts in your
distribution package, and mention in your license notice
that part of the code is LGPL.

If LGPL is a problem for your project, that is hard to
get around right now. We have been reading about efforts
to allow alternative multi-precision libraries with GHC.
That is very important work, but apparently difficult.
However, LGPL is often not a serious problem, even for
commercial products.

GNU readline, on the other hand, is never suitable for
non-free software. The authors of the GNU readline
library have publicly stated that the whole reason they
are using GPL is to make sure that no non-free software
ever uses it.

So this work to use editline instead of readline in GHC
is very important for all platforms, not just the Mac.
editline is BSD licensed.

Therefore, I think the focus should be to get the best
readline compatibility possible by using a sufficiently
recent version of editline.

If that causes problems on a specific platform, like
Tiger, that is a lower priority. (I say that even though
I myself am on Tiger.) We can work around that
separately.

-Yitz
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-09 Thread Christian Maeder
Christian Maeder wrote:
 I've succeeded in building a binary distribution that uses static
 libraries for gmp and readline. libreadline.a, libncurses.a and libgmp.a
 with corresponding header files are included. (For license issues ask
 someone else.) Linking is done using the flag -search_paths_first.

 Frameworks or dylibs for gmp or readline are no longer required and are
 not used when linking binaries.

 http://www.dfki.de/sks/hets/intel-mac/versions/ghc-6.8.2-i386-apple-darwin-static-libs.tar.bz2

The file is updated now. My error was to strip the binaries. That means
also make install-strip should not be used for installation.

 Be warned.
 While static linking seems to work, dynamic linking using ghci does not:
 
 ghci -package readline

This works now as expected.
Christian

 GHCi, version 6.8.2: http://www.haskell.org/ghc/  :? for help
 Loading package base ... linking ... done.
 Loading package old-locale-1.0.0.0 ... linking ... done.
 Loading package old-time-1.0.0.0 ... linking ... done.
 Loading package filepath-1.1.0.0 ... linking ... done.
 Loading package directory-1.0.0.0 ... linking ... done.
 Loading package unix-2.3.0.0 ... linking ... done.
 Loading package process-1.0.0.0 ... linking ... done.
 ghc-6.8.2:
 /Users/Shared/maeder/lib/ghc-6.8.2/lib/readline-1.0.1.0/HSreadline-1.0.1.0.o:
 unknown symbol `_rl_insert_completions'
 Loading package readline-1.0.1.0 ... linking ... ghc-6.8.2: unable to
 load package `readline-1.0.1.0'

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


bindist for Intel MacOS X 10.4 (Tiger) with static libs

2008-01-08 Thread Christian Maeder
Hi,

I've succeeded in building a binary distribution that uses static
libraries for gmp and readline. libreadline.a, libncurses.a and libgmp.a
with corresponding header files are included. (For license issues ask
someone else.) Linking is done using the flag -search_paths_first.

Frameworks or dylibs for gmp or readline are no longer required and are
not used when linking binaries.

http://www.dfki.de/sks/hets/intel-mac/versions/ghc-6.8.2-i386-apple-darwin-static-libs.tar.bz2

Other static libraries are compatible with those from
http://www.dfki.de/sks/hets/intel-mac/versions/ghc-6.8.2-i386-apple-darwin.tar.bz2
(in fact HSreadline-1.0.1.0 was created this way)

Cheers Christian

P.S. ranlib during installation is actually not needed on Intel Macs
(only for PPC)
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users