JOB OFFER / Haskell for commercial projects?

Hello Happy Haskellers, I had to abandon improving my newbie Haskell skills the past weeks; I was busy creating a new startup company and finalizing financial funding for a cool project related to realtime "2D/3D animation and games". As I'm the CTO of this new company, and since I kinda like Haskell, I might consider creating a first prototype of the project using Haskell. However, this will be a commercial project. The software will be freely downloadable but not open source. However, if succesful, a highly priced professional version of the software might be created. Although I'm pretty sure GHC can be used for creating a private inhouse prototype, the prototype might evolve into the final product, and so my question is, which Haskell compilers & tools can: (1) be used to build commercial projects (2) be shipped with commercial projects (our project might call into the interpreter/compiler at runtime.) (3) be indirectly used by commercial projects (in the sense that the user will have to manually download and install the compiler) Furthermore, is the Haskell community willing to provide the excellent help (as in this forum and on IIRC) for commercial Haskell projects? That said, anybody who might be interested in getting a (paid J) Haskell job (parttime or fulltime) in the field of computer animation and games (but also (visual) programming languages, interpreters & compilers), please mailto:peter@nazooka.com. Preferable you will work onsite (in Belgium / Antwerp - the city of diamonds J), although working remote is also an option. You will make software that will be initially used by computer artists (that among other things made parts of http://www.cgchannel.com/gallery/viewimage.jsp?imgID=547 "The Girl", Xyanide http://www.gamespot.com/xbox/action/xyanide/index.html , and many commercials http://www.nazooka.com/site/html/index.php?p=movieplayer&m=showreel ), that will be demonstrated at SIGGRAPH http://www.siggraph.org/ , and will be released to the public in a later stage. Cheers to all, Peter Verswyvelen

Peter Verswyvelen wrote:
Although I’m pretty sure GHC can be used for creating a private inhouse prototype, the prototype might evolve into the final product, and so my question is, which Haskell compilers & tools can:
(1) be used to build commercial projects
Disclaimer: I am not a lawyer. The GHC licence is basically a BSD with attribution. Compiled programs include the run-time, so you would just have to include the copyright notice somewhere in your documentation. This would also apply to those libraries that are shipped with the compiler. See http://www.haskell.org/ghc/docs/latest/html/users_guide/License.html. Other libraries downloaded from Hackage will have their own licenses. Most are either BSD or GPL. The crucial thing is to read the licenses *before* including the code. If you want a library that isn't licensed for closed-source use then contact the author. A polite request, possibly backed up by an offer of payment, might be all that is required.
(2) be shipped with commercial projects (our project might call into the interpreter/compiler at runtime…)
See above. GHC has a library interface for doing exactly that.
(3) be indirectly used by commercial projects (in the sense that the user will have to manually download and install the compiler)
Even less of a problem.
Furthermore, is the Haskell community willing to provide the excellent help (as in this forum and on IIRC) for commercial Haskell projects?
Well I can't speak for "the community", but personally I want to see some commercial Haskell successes, and would be willing to provide support and advice. I think many others would feel the same. Conversely we'd also like to hear about how your project is going, what works well, what doesn't, and how it could be improved. The Haskell motto used to be "Avoid success at all costs". These days its more like "Success can visit, but make sure he wipes his feet properly and doesn't steal the silver" Paul.

Am Samstag, 15. Dezember 2007 13:05 schrieb Paul Johnson:
[…]
The GHC licence is basically a BSD with attribution. Compiled programs include the run-time, so you would just have to include the copyright notice somewhere in your documentation. This would also apply to those libraries that are shipped with the compiler.
I think, there is some issue with the GMP library which is used for implementing the Integer type and which is licensed under the GPL, AFAIK.
[…]
Best wishes, Wolfgang

On Sat, 2007-12-15 at 14:29 +0100, Wolfgang Jeltsch wrote:
Am Samstag, 15. Dezember 2007 13:05 schrieb Paul Johnson:
[…]
The GHC licence is basically a BSD with attribution. Compiled programs include the run-time, so you would just have to include the copyright notice somewhere in your documentation. This would also apply to those libraries that are shipped with the compiler.
I think, there is some issue with the GMP library which is used for implementing the Integer type and which is licensed under the GPL, AFAIK.
It's the LGPL not the GPL. See http://gmplib.org/ Duncan

On Dec 15, 2007 4:40 PM, Duncan Coutts
On Sat, 2007-12-15 at 14:29 +0100, Wolfgang Jeltsch wrote:
[...]
I think, there is some issue with the GMP library which is used for implementing the Integer type and which is licensed under the GPL, AFAIK.
It's the LGPL not the GPL. See http://gmplib.org/
When GHC compiles a haskell program, it seems to statically link in libgmp. I don't believe that libgmp's license has a static linking exception. Therefore it would seem that the resulting haskell program must be distributed only under the terms of the LGPL(either providing providing the full source of your haskell program, or providing your object files). Or am I missing something? Thanks, Bit

bit:
On Dec 15, 2007 4:40 PM, Duncan Coutts
wrote: On Sat, 2007-12-15 at 14:29 +0100, Wolfgang Jeltsch wrote:
[...]
I think, there is some issue with the GMP library which is used for implementing the Integer type and which is licensed under the GPL, AFAIK.
It's the LGPL not the GPL. See http://gmplib.org/
When GHC compiles a haskell program, it seems to statically link in libgmp. I don't believe that libgmp's license has a static linking exception. Therefore it would seem that the resulting haskell program must be distributed only under the terms of the LGPL(either providing providing the full source of your haskell program, or providing your object files).
Or am I missing something?
Yep :) GHC doesn't statically link libgmp, unless you build it to do so. By default it will use your dynamically linked libgmp. $ ldd `which xmonad` /home/dons/bin/xmonad: Start End Type Open Ref GrpRef Name 0000000000000000 0000000000000000 exe 1 0 0 /home/dons/bin/xmonad 00000000468d5000 0000000046cd7000 rlib 0 1 0 /usr/X11R6/lib/libXinerama.so.5.0 0000000044a55000 0000000044e66000 rlib 0 2 0 /usr/X11R6/lib/libXext.so.10.0 000000004cf4f000 000000004d45b000 rlib 0 3 0 /usr/X11R6/lib/libX11.so.10.0 000000004bbff000 000000004c008000 rlib 0 1 0 /usr/lib/libutil.so.11.0 000000004d45b000 000000004d874000 rlib 0 1 0 /usr/lib/libm.so.2.3 --> 000000004c485000 000000004c8c1000 rlib 0 1 0 /usr/local/lib/libgmp.so.7.0 000000004a5f0000 000000004aac2000 rlib 0 1 0 /usr/lib/libc.so.42.0 0000000042934000 0000000042d37000 rlib 0 3 0 /usr/X11R6/lib/libXau.so.9.0 000000004fe36000 000000005023b000 rlib 0 3 0 /usr/X11R6/lib/libXdmcp.so.9.0 0000000041b00000 0000000041b00000 rtld 0 1 0 /usr/libexec/ld.so -- Don

Hello Don, Saturday, December 15, 2007, 11:55:04 PM, you wrote:
When GHC compiles a haskell program, it seems to statically link in libgmp.
GHC doesn't statically link libgmp, unless you build it to do so. By default it will use your dynamically linked libgmp.
at least, on Windows this should be true -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
participants (7)
-
Bit Connor
-
Bulat Ziganshin
-
Don Stewart
-
Duncan Coutts
-
Paul Johnson
-
Peter Verswyvelen
-
Wolfgang Jeltsch