
Hi folks, I'd like to propose a way forward for developing the library collection. Apologies for the huge message ... ;-) The guiding principle I think we should use is one of "devolved responsibility": that is, rather than choose a committee of people to oversee the project, we let the community at large do it. Individual libraries will have their own keepers: either authors or a small group of interested individuals. Having said that, there will occasionally be a need for a way to resolve disputes and a driving force to keep the project headed in the right direction. Therefore I suggest we start with a single representative from each compiler camp (to avoid any drift toward one particular implementation and try to keep us on the straight and narrow portability-wise). Initially this would be Malcolm, myself, and someone from the Hugs camp yet to be decided. Our primary responsibilities would be - assigning control of libraries to individuals, - allocating places in the "managed" portion of the hierarchy - advising on style and portability policies, developing and maintaining style and portability guidelines - trying to keep things consistent across the hierarchy The next step is to write a document setting out the conventions and guidelines for the library collection. There's a rough outline below, which mentions several points we still need to resolve. - Haskell Libraries Document --------------- - License (specify?) - Hierarchy design guidelines - Hierarchy layout guidelines/policy. - Allocation of top-level categories: - "managed" categories - domain names or email addresses - Naming policy for modules - abbreviate / don't abbreviate (Network vs. Net) - pluralise / don't pluralise (Generics, Dynamic) - follows name of type/class or describes functionality - capitalization of acronyms - Library status - experimental/stable - compiler-specific/portable. - Portability considerations - Library ownership - responsibilities of library owner - Documentation - HaskellDoc? - Versioning - of the whole collection - of individual modules (can a module exist with several versions simultaneously, can you import a specific version?) - Haskell library style and naming conventions - function/type/class naming guidelines - assume qualified import? (IORef.new vs. newIORef) - for a module which provides an instance, should it also export non-overloaded versions of the methods (like Edison)? - standard module header - copyright - status (stable, experimental) - portability (standard, specific to certain compilers) - Testing policy - libraries should come with a test suite. ------------------------------- Comments and opinions on any of the issues from the list above are welcome... here are a couple of thoughts off the top of my head: - License: I'd prefer to specify a BSD-style (without advertising clause) license, with copyright on individual files remaining with the authors. GPL code creates particular problems for us here, so I'm keen to avoid it if possible. - Let's aim for HaskellDoc long term, but since we're not close to arriving at a proposal for the documentation syntax we shouldn't wait for it - libraries can be converted to HaskellDoc later. For the centralised source repository we can use cvs.haskell.org, with a new 'libraries' module; library owners can be given accounts to maintain their own libraries. The source tree will need build systems for the different compilers (for GHC I'll probably arrange things so that libraries can be grafted onto fptools/ and use the build system there). Cheers, Simon

"Simon Marlow"
- License: I'd prefer to specify a BSD-style (without advertising clause) license, with copyright on individual files remaining with the authors. GPL code creates particular problems for us here, so I'm keen to avoid it if possible.
I don't think that it is a good idea to specify a license. For example, I am convinced that the (L)GPL is the better licence for the community. Incidentally, the GPL is also the license of one of the most successful free software projects ever - Linux - which is certainly also one of the, if not *the* commercially most successful free software project. So, I don't buy this GPL is bad for companies propaganda. In that context, I recommend to read http://perens.com/Articles/StandTogether.html Anyway, while I am happy to discuss my position with anybody who is interested, I don't want to start a big licence discussion here. All in all, I think, we should let authors chose their license. I am sorry (honestly) if that creates a problem for you, but on the other hand, I am not keen on having a particular company influence our licencing policies - certainly not in something which we want to sell as a standard to the community.
- Let's aim for HaskellDoc long term, but since we're not close to arriving at a proposal for the documentation syntax we shouldn't wait for it - libraries can be converted to HaskellDoc later.
Absolutely.
For the centralised source repository we can use cvs.haskell.org, with a new 'libraries' module; library owners can be given accounts to maintain their own libraries. The source tree will need build systems for the different compilers (for GHC I'll probably arrange things so that libraries can be grafted onto fptools/ and use the build system there).
Don't libraries need their own build system anyway if they are to be portable? How do we want to handle libraries (eg, Gtk+Haskell) that * are in a different repository (Gnome repository) and/or * need special tools (C->Haskell)? Cheers, Manuel

On Sat, May 26, 2001 at 05:31:27PM +1000, Manuel M. T. Chakravarty wrote:
"Simon Marlow"
wrote, - License: I'd prefer to specify a BSD-style (without advertising clause) license, with copyright on individual files remaining with the authors. GPL code creates particular problems for us here, so I'm keen to avoid it if possible.
I don't think that it is a good idea to specify a license. For example, I am convinced that the (L)GPL is the better licence for the community. ...
I'm a big fan of the GPL; however, you must know that picking the GPL for a library (particularly a standard library) is a very political act. Even the FSF only does this occasionally. The LGPL seems less controversial to me, and would be my choice. (But I'm not the one to choose, and I will be happy as long as the libraries are free (libre).) I also think that a standard license for the standard libraries is important. With every new license that gets involved in a project, I have to make a decision; I'd rather make that decision just once, when I decide to use Haskell. [Apologies if this starts a big licensing discussion. I think this is one of the very few times it is appropriate; I believe these issues are important.] Best, Dylan Thurston
participants (3)
-
Dylan Thurston
-
Manuel M. T. Chakravarty
-
Simon Marlow