[ghc-steering-committee] Statistical analysis of GHC proposals

Adam Gundry adam at well-typed.com
Tue Oct 29 20:35:17 UTC 2024


This is indeed interesting, thanks Andrew. We have some impressively 
mature proposals!

Something I've been mulling over for a while is that our process tends 
not to explicitly reject many proposals, but it is not unusual for 
proposals to stall in one of two states:

1. There is some initial discussion, but no final decision, and the 
original author stops actively driving the proposal forward (e.g. 
because they no longer have time or enthusiasm). In some cases the 
discussion may have been leaning towards rejection, but in others there 
are good ideas lingering that need someone to pick them up.

2. The proposal is accepted, but then lingers awaiting implementation. 
This is difficult to address in a world of limited resources for GHC 
development (both volunteer effort and paid maintainer time).

At the moment I usually wait until a proposal author explicitly submits 
the proposal for committee consideration before assigning a shepherd. It 
is then the shepherd's responsibility to make progress in a reasonable time.

One change I've been wondering about is that we might try to identify 
shepherds from the committee at an earlier stage, and/or encourage 
shepherds to volunteer when they see an interesting proposal. The 
shepherd could then help the original author respond to the discussion 
and move through the process (perhaps including taking over the proposal 
if the original author is no longer engaging). For example I'm 
effectively trying to do this on #668. This might result in fewer 
proposals getting blocked indefinitely, at the cost of more shepherding 
work for the committee. What do you all think?

Adam



On 28/10/2024 08:13, Simon Peyton Jones wrote:
> Dear Andrew
> 
> Thank you -- that's very interesting.
> 
> GHC SC: do look below!
> 
> I'm not quite sure what, if anything, we should do in the light of this 
> information.
> 
> Simon
> 
> On Sun, 27 Oct 2024 at 23:06, Andrew Lelechenko 
> <andrew.lelechenko at gmail.com <mailto:andrew.lelechenko at gmail.com>> wrote:
> 
>     Hi Simon,
> 
>     I’ve been exploring GitHub API capabilities by gathering data on GHC
>     proposals. I wonder if any of the numbers below might be interesting
>     to reflect on for GHC SC.
> 
>     Total number of GHC proposals: 441
>     Rate of proposals:  5 per month
>     Approved proposals: 149
>     Need revision:      30
>     Declined proposals: 16
> 
>     Median  time from creation to decision: 101 days
>     Average time from creation to decision: 181 days
>     Median  time from creation to approval: 100 days
>     Average time from creation to approval: 165 days
>     Fastest approval:
>              8 days for "Adjust warning category syntax"
>     2nd fastest approval:
>              11 days for "Remove dot from characters allowed in
>     overloaded labels"
>     2nd slowest approval:
>              980 days for "Fine-grained unused warnings"
>     Slowest approval:
>              1112 days for "Decorate exceptions with backtrace information"
> 
>     Total activity: 15999 comments
>     Median  activity per proposal:          23 comments
>     Average activity per proposal:          36 comments
>     Median  activity per approved proposal: 31 comments
>     Average activity per approved proposal: 51 comments
>     Least active approved proposal:
>              1 comment for "Amend the Higher Order Patterns proposal"
>     2nd least active approved proposal:
>              2 comments for "Amend 281 visible forall to work without
>     ScopedTypeVariables"
>     2nd most active:
>              313 comments for "Lambda expressions with guards and
>     multiple clauses (was: `\\ of`, -XMultiWayLambda)"
>     Most active:
>              519 comments for "RecordDotSyntax language extension proposal"
> 
>     Open proposals: 117
>     Median  age for open proposals: 1105 days
>     Average age for open proposals: 1215 days
>     Newest open proposal:
>              12 days for "Clarify CRLF behavior in multiline strings"
>     Oldest open proposal:
>              2960 days for "Mutable constructor fields"
> 
>     Best regards,
>     Andrew
> 


-- 
Adam Gundry, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/

Registered in England & Wales, OC335890
27 Old Gloucester Street, London WC1N 3AX, England



More information about the ghc-steering-committee mailing list