
[ 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. For example, the existing library Foo.Bar is GPL, and someone needs a BSD 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