Difference between revisions of "Hackage trustees"

From HaskellWiki
Jump to navigation Jump to search
(initial page about hackage trustees)
 
(Reference trustee policy document and mention NMUs)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
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.
+
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. They can do non-maintainer uploads (NMU) with small bug fixes if a package maintainer is unreachable.
   
 
== Purpose ==
 
== Purpose ==
Line 17: Line 17:
 
== Trustee powers ==
 
== 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 have some of the same powers as package maintainers, but for all packages on hackage. In particular they can
   
  +
* upload documentation,
Trustees '''cannot''' upload new versions of packages, only maintainers can do this.
 
  +
* edit package categories/tags,
  +
* edit the .cabal files, in the same way that maintainers can.
  +
* do non-maintainer uploads when maintainers are unreachable, at the hackage admins' discretion
   
  +
Editing .cabal files is the most useful for curating hackage and improving quality, but it is also the most controversial.
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.
 
   
  +
A policy for what powers trustees should have and the procedure for using them was proposed to the community. The response was positive and the document is now hosted under the [https://github.com/haskell-infra/hackage-trustees/blob/master/policy.md hackage-trustees repository]
The trustees are currently preparing a proposal to discuss with package authors/maintainers on the Haskell libraries mailing list.
 
   
 
== Trustee resources ==
 
== Trustee resources ==
   
 
* Issue tracker for [https://github.com/haskell-infra/hackage-trustees/ coordinating Hackage maintenance and trustee operations]
 
* Issue tracker for [https://github.com/haskell-infra/hackage-trustees/ coordinating Hackage maintenance and trustee operations]
  +
* [https://github.com/haskell-infra/hackage-trustees/blob/master/policy.md Hackage Trustees Policy and procedures]

Latest revision as of 16:23, 18 February 2016

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. They can do non-maintainer uploads (NMU) with small bug fixes if a package maintainer is unreachable.

Purpose

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,
  • edit the .cabal files, in the same way that maintainers can.
  • do non-maintainer uploads when maintainers are unreachable, at the hackage admins' discretion

Editing .cabal files is the most useful for curating hackage and improving quality, but it is also the most controversial.

A policy for what powers trustees should have and the procedure for using them was proposed to the community. The response was positive and the document is now hosted under the hackage-trustees repository

Trustee resources