Hackage trustees

From HaskellWiki
Revision as of 01:42, 12 February 2015 by DuncanCoutts (talk | contribs) (initial page about hackage trustees)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The role of Hackage trustees is to help to curate the whole Hackage package collection. Trustees have a limited ability to edit package information, for the entire package database (as opposed to package maintainers who have full control over individual packages). Trustees can edit .cabal files, edit other package metadata and upload documentation but they cannot upload new package versions.


Individual authors and maintainers look after individual packages. In Linux distributions and the like, there are people who look after the health of the collection of packages as a whole. They curate the whole collection to keep things healthy. Hackage trustees are intended to fulfil a similar role, but upstream with hackage itself rather than in distros downstream.

The goal is to improve the quality of the package collection. One of the key ways the can do this is by editing package metadata, particularly to constrain dependencies when packages are found to be incompatible.

As features like package tagging are improved, trustees may be given additional abilities, such as curating the quality of tags used for categorising and searching for packages (e.g. merging tags that are deemed to be aliases).

Current trustees

The server has a special user group called "trustees", so the current list of trustees is always available at https://hackage.haskell.org/packages/trustees/

The whole trustee system, and metadata editing feature is still somewhat in its infancy. The initial trustees were appointed by the hackage admins based on their previous volunteer work in this area. There is currently no formal process for becoming a trustee.

Trustee powers

Trustees have some of the same powers as package maintainers, but for all packages on hackage. In particular they can upload documentation, edit package categories/tags, and most importantly they can edit the .cabal files, in the same way that maintainers can. This last aspect is the most useful for curating hackage and improving quality but it is also the most controversial.

Trustees cannot upload new versions of packages, only maintainers can do this.

There has not yet been very extensive use of these powers as a full discussion with the Haskell package developer community needs to be had first, so that a policy that strikes the proper balance can be agreed, and so that package maintainers are properly informed. Up until now, trustees have mostly been curating some of the more core packages, or with the cooperation of the maintainers.

The trustees are currently preparing a proposal to discuss with package authors/maintainers on the Haskell libraries mailing list.

Trustee resources