views:

120

answers:

2

Cabal allows for a freeform Stability field:

stability: freeform

The stability level of the package, e.g. alpha, experimental, provisional, stable.

What are the community conventions about these stability values? What is considered experimental and what is provisional? I see only few packages are declared as stable. What kind of stability does it refer to, stability of the exposed API or the ultimate bug-free state of the software?

+4  A: 

Currently this field is a very poor guide to the stability of the library, so is mostly ignored. Duncan Coutts (one of the main Cabal and Hackage developers) has said that he eventually plans to replace this field entirely, with something like a social voting system on Hackage.

Personally (and I'm not alone) I just always omit the stability field. Given that it's going to go away, its probably not worth losing any sleep over what to put into it.

Max Bolingbroke
Thank you, Max.
jetxee
Yup. Or replace it with a system for opting in to a versioning policy, e.g. standard Package Versioning Policy.http://www.haskell.org/haskellwiki/Package_versioning_policy
Duncan Coutts
+4  A: 

The field is mostly defunct now, and shouldn't be used. As Max said, it will probably be replaced by something meaningful in the future.

If you're interested in the history, the field originated in a design proposal for the first set of Hierarchical Haskell Libraries. That document describes the original intended meanings for the values.

Simon Marlow
Thank you, Simon. I think the question is answered now.
jetxee