Re: Re[4]: bindist for Intel MacOS X 10.4 (Tiger) with static libs
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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