[Haskell-cafe] Why Not Haskell?
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
> 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