Licensing of Haskell code

Simon Marlow simonmar@microsoft.com
Wed, 21 May 2003 10:09:08 +0100


[ moved to libraries@haskell.org ]

Ganesh Sittampalam writes:
> Another question is what should happen if there are two "competing"
> libraries that do the same thing but have different licenses.=20
> For example,
> the existing library Foo.Bar is GPL, and someone needs a BSD=20
> version so writes their own.

That's a good question.

At the moment, we're allowing for one "reference implementation" which
also defines the API for each module in the hierarchy.  Of course, there
may be any number of actual implementations of any given library, but we
require that a reference implementation exists and that it be licensed
under an OSI approved license.

It occurs to me that if the reference implementation is GPL, then this
may encumber the definition of the API such that a commercial
reimplementation would not be possible.  In some cases this is
inevitable - for example, System.Console.Readline wraps a GPL library,
so there is probably no way to have an unencumbered API definition for
this library.  However, we want to avoid having "essential" parts of the
library definition covered by the GPL.  The library document[1] mentions
this problem, but doesn't specify exactly what we mean by "essential" -
we should really expand on that.

Cheers,
	Simon

[1] http://www.haskell.org/~simonmar/libraries/libraries.html