[Haskell-cafe] Why Not Haskell?

Chris Kuklewicz haskell at list.mightyreason.com
Sun Aug 6 05:46:16 EDT 2006

Brian Hulley wrote:
> Henning Thielemann wrote:
>> On Fri, 4 Aug 2006, Brian Hulley wrote:
>>>> 4) Haskell is open source and licensing restrictions forbid
>>>> commercial applications. I haven't seen any such restrictions, but
>>>> is this a problem for the standard modules?

The reason you have no seen any such restriction is because there are no such 
restrictions.  And no license on the compiler restricts what kind of application 
you can create with it, such as "forbid commercial applications".

"Haskell" is a standard, not source code.  The Haskell 98 report ( 
http://www.haskell.org/onlinereport/ ) is

> Copyright (c) Simon Peyton Jones.
> The authors intend this Report to belong to the entire Haskell
> community, and so we grant permission to copy and distribute it for
> any purpose, provided that it is reproduced in its entirety, including
> this Notice. Modified versions of this Report may also be copied and
> distributed for any purpose, provided that the modified version is
> clearly presented as such, and that it does not claim to be a
> definition of the language Haskell 98.

Each third party library chooses its own license.

>>> You can discover the licensing situation by downloading the GHC
>>> source (or source for whatever distro you're using) and looking in
>>> the directories for each package. For example the base package uses
>>> a BSD-style licence and HaXml uses LGPL with the exception to allow
>>> static linking.

The GHC compiler and its libraries are covered by the 3-clause BSD license:
http://haskell.org/ghc/license.html ( http://en.wikipedia.org/wiki/BSD_License 
).  Microsoft could copy the source of GHC into Office (Excel) to run Haskell 
code in spreadsheets and the only restriction is to append the GHC license (for 
its disclaimer) to the Office license.  It does not get more commercial than 
that, and it is permitted.

If you want to write a new spreadsheet in Haskell using GHC and sell it for 
$1000 a copy (without source code), then you can do that without looking at 
GHC's license.  If you want to take GHC and make a new version that supports 
your own improvements, then you can sell this myGHC (without source) for any 
price you chose.

The HaXml library is not part of GHC.  The authors of that particular library 
have given it a modified LGPL license: http://www.cs.york.ac.uk/fp/HaXml/COPYRIGHT
They have specifically made the LGPL less restrictive; since the LGPL is a bit 
hard to read quickly, http://en.wikipedia.org/wiki/LGPL may be easier.
The programs that come with the HaXml library are licensed under the GPL.

>> A license which requires programmers to disclose their sources
>> shouldn't be a problem for a commercial application. Which C hacker
>> would or could steal code from it? :-)

Since no compiler I know of does require disclosure, I recognize that the above 
is a purely sarcastic statement.  And the canonical use of the smiley gives it away.

> Hi Henning -
> Apologies for not replying sooner. I couldn't think what to say! ;-)
> Disclaimer: the following essay only contains 2 Haskell functions and is 
> not intended to cause offence to farmers...

Disclaimer: I like the GPL, I understand the LGPL, and I am releasing my work on 
Text.Regex.Lazy as BSD.

> Afaict a license such as GPL allows anyone, even a non-programmer, to 
> just re-distribute whatever application you created because one 
> condition of it is that anyone should be free to share software with 
> anyone else without having to pay anything extra to the people who wrote 
> it, and I think this is essentially based on the notion that software 
> should not be regarded as an ownable or sellable "thing".

The GPL does indeed do that.  Your "even a non-programmer" aside is strange, as 
I cannot guess how to segregate people into such a category.

The GPL itself refers to a cost of distribution, since it recognizes such things 
are not free-in-price.  This is in reference to offering a copy of the source 
code.  The price of a binary copy can be as large as desired.  Likewise for the 
cost of support.

Nothing copyrighted is a ownable or sellable "thing".  All copyrighted software 
is licensed.  You cannot make many useful analogies between "things" and licenses.

> However a potato is sellable, even though farmers have such a great time 
> out in the fields breathing in the fresh misty morning air and watching 
> the beautiful colours of the sunrise, and basically just letting nature 
> take its course with a bit of healthy exercise and free food thrown in 
> for good measure (it might even be some of my personal sweat that 
> evaporates and later falls as rain to nourish "their" crops). And what 
> makes them think they have a right to "own" parts of the earth's surface 
> anyway! ;-)

Farmers have great mystique and respect in modern society.  That was a good 
choice for emotion-based rhetoric.

> While I'd personally like to live in a peaceful society where everything 
> is freely available, the fact is that I have to deal with the situation 
> I find myself in at the moment ie I have to pay money whevener I need 
> food, electricity, gas, internet, petrol, dvds, music, art etc and I 
> absolutely don't agree that everyone else in the world except software 
> developers has the right to earn a living, while we just give everything 
> away because it's so much "fun" bringing it into existence, or that we 
> should be chastised for trying to charge for our efforts!!! ;-)

Software developers can decide what to do with their copyrights.  Many exchange 
their copyrights to the company they work for in return for a steady salary. 
Some work freelance or as consultants and may or may not transfer the copyright 
to the client.  Some release programs as shareware, or with free vs paid 
versions.  These days many work on writing web sites, and never give anyone a 
binary or source code.  And some choose a free software license (like GPL).  And 
some choose an open source license (like BSD).

> Also, if we want a better world I can think of other professions to 
> sacrifice (Hint: take 5 p = "polit" and last p = 'n').

Two haskell functions, check.  But I would not choose anarchy, thanks.  Though 
the reputation of politicians is low, so this is another good piece of 
emotion-based rhetoric.

> Making complete end-user applications freely available is not always 
> helpful to others, even to the end-users. Consider how a local 
> corner-shop owner would feel if all the large supermarket chains stood 
> outside his door giving away free food. The consumers are very happy! 
> How selfless and beneficient those big supermarkets are! But how long 
> would the corner-shop be able to stay open? And would the supermarkets 
> continue to supply the free food after they'd finally wiped out his 
> business? People no longer meet for a chat at the corner-shop. There is 
> a void in the community. People start to feel alienated. Houses are 
> vandalised. Crime is on the increase. The government claims it needs 
> more powers to prevent it. Perhaps a few people see what's happening but 
> really it's already too late...

Wow.  In reality, the big markets are Microsoft, Oracle, Sun, IBM, Apple, Sony, 
etc.  So the Redhat's of the world are the small shops, along with the small 

Let me talk about Redhat for a moment.  Besides packaging a Linux distribution, 
they also create many programs and software products for business clients. 
Everything they write and release is under the GPL.  So anyone can simply 
recompile the code and compete with them.  Also "Red Hat Inc. late Wednesday 
said its quarterly profit rose 11% and revenue surged on stronger demand for 
subscriptions to its open-source business software." (June 28,2006)

> Of course from a pragmatic point of view it is useful for developers to 
> share parts of their source or coding ideas, since there is clearly too 
> much work for any one person to do, thus BSD and LGPL make a lot of 
> commercial sense, as well as being a nice gesture of fraternity between 
> coders, and a blueprint for the future if we can only find the right 
> strategies to achieve it given our own specific individual circumstances.

Let me translate "pragmatic" a different way.  The ability to having rising 
salaries in a mature labor market is tied to increasing productivity.  Not 
having to re-invent each and every wheel makes you more productive.  Being able 
to re-use a library makes you more productive, and you could argue that should 
mean the re-use has commercial value and you should be willing to pay for it.

> Therefore I think licenses which enforce a particular strategy or 
> attempt to limit possible business models to further a specific agenda, 
> however well meaning they may appear, are unattractive for commercial 
> development in general, even though some specific niche companies can 
> manage fine under those conditions (eg consultants/ trainers/ contracted 
> developers etc).

Oh, I see you may be considering Redhat as in a "niche".

> Regards, Brian.

The open source licenses exists because some coders wanted a license that 
business would be able to ignore.  The free software licenses exists because 
some coders wanted to secure the human rights issues that they believe exists 
with respect to software. From the GPL:

> When we speak of free software, we are referring to freedom, not
> price. Our General Public Licenses are designed to make sure that you
> have the freedom to distribute copies of free software (and charge for
> this service if you wish), that you receive source code or can get it
> if you want it, that you can change the software or use pieces of it
> in new free programs; and that you know you can do these things.

Your views seem to advocate the position of the one person or small team of 
freelance software writers that need to be able to charge for their work.  If 
this is done as consultants for a single customer, then the free software 
licenses may or may not be a good fit for a particular project, depending on the 
customer's demands (who keeps the copyright, for instance).  If this is done to 
sell a software license to many customers then free software licenses may not be 
useful, depending on whether there will be some customers needing to pay for 
support or customization.

The GPL only gets in the way if you put it there by choosing to derive work from 
GPL code.  Note that most commercial programs do not allow you the choice of 
deriving your work from theirs at all.  The GPL adds to your free-as-in-freedom: 
you can derive work from others' GPL work and you can choose whether to use the 
GPL for your own work.  Your long complaint against this seems strange to me.



More information about the Haskell-Cafe mailing list