I'm a Haskell newbie but long time open source developer and I've been 
following this thread with some interest.

The GPL is not just a license - it is a form of social engineering and social 
contract. The idea if I use the GPL is that I am releasing free and open source 
software to the community. You are welcome to use it for any purpose but in 
exchange you must also agree to release any software you create that uses my 
software as free and open source.

That is the difference between GPL and BSD type licenses. The GPL very 
deliberately creates an obligation. Yes, that can be inconvenient. It is meant 
to be inconvenient.

Actually the GPL reminds me of a Haskell concept that I am struggling with 
right now - the monad. When I started writing Haskell code I was always trying 
to mix pure and IO code and I soon learned that once I used the IO monad I was 
stuck within it. The monad creates an inconvenient obligation and any IO code 
can only be used within other IO code. There are good reasons for monads (just 
as, in my view, there are good reasons for the GPL) but using them means that I 
need to make a lot of changes to the way I write software.

Kevin


      
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to